← Back to Blog

Docebo webhooks: real platform limits for SME teams

DoceboWebhooksCollaboration tools
Concept illustration for Docebo webhooks: real platform limits for SME teams

For a European SME running Docebo as its LMS, the webhook surface is what makes the platform integrate with the rest of the business — n8n flows, Slack notifications, custom CRM updates, audit pipelines. It’s also where SMEs hit platform limits they didn’t see in the demo. This guide names the limits that bite first, the retry behavior that determines whether your integration is reliable, and the allocation pattern that gets the most value from the 10 webhooks Docebo lets you have.

The Docebo webhook limits that bite first

Three platform limits define what an SME can and can’t ship with Docebo webhooks.

The first is the response timeout: 5 seconds, not 30. The receiver — whether n8n, a Lambda, or an internal service — has to acknowledge the webhook within 5 seconds or Docebo treats the call as failed. SMEs that build receivers doing meaningful synchronous work (database queries, API calls to a CRM, complex transforms) hit this limit fast. The pattern that works is the receiver acknowledging immediately and queuing the actual work; the pattern that fails is treating the receiver as the place to do the work.

The second is the active-webhook cap: 10 per platform. SMEs running multiple integrations — payroll, CRM, Slack, analytics, audit — burn through 10 quickly if they treat each event as deserving its own webhook. The discipline is treating the 10 as scarce: each webhook serves multiple downstream uses via a fan-out pattern in n8n or equivalent, not a one-event-one-webhook design.

The third is the per-webhook event cap: 8 events. A single webhook can subscribe to up to 8 event types, which is enough for most thematic groupings (all user events, all enrollment events) but constrains the cross-cutting webhook that wants to track everything that happens to one user. SMEs that need broader coverage either split into multiple webhooks (eating the 10-cap) or accept the granularity.

Available events and the retry behavior

The Docebo webhook surface covers five event categories an SME LMS deployment typically cares about:

CategoryExample eventsSME use case
User EventsRegistration, login, profile updateSync to CRM, audit log
Enrollment EventsCourse enrollment, completion, cancellationTrigger certificate, notify manager
Course EventsCourse creation, update, deletionUpdate internal catalogue
ILT EventsSession creation, update, cancellationCalendar integration
Audit Trail EventsCritical changes to user/course dataCompliance retention

The retry behavior is the part most SMEs miss until something breaks. Webhooks that don’t get a successful response are retried every 10 minutes. The retry continues until the receiver succeeds — which sounds reassuring but creates a problem if the receiver is permanently broken. SMEs that don’t monitor their dead-letter queue end up with silently failing integrations and downstream data drift the SME finds out about during an audit.

The mitigation is two-part. First, the receiver implements idempotency — Docebo retries don’t have to mean duplicate side effects. The pattern is using the webhook’s event ID as the idempotency key in whatever the receiver writes. Second, the SME monitors the failure queue with a check that runs hourly: if a webhook has been retrying for more than 24 hours, it gets paged or escalated rather than silently retried indefinitely.

For SMEs operating under EU AI Act inventory obligations, the webhook receiver is also a place where data flows out of the LMS into other systems — each receiver should be in the SME’s data-flow inventory.

Strategic allocation across the 10 webhooks

The 10-webhook cap forces an allocation decision. The pattern that wastes the budget is one webhook per consumer (one for the CRM, one for Slack, one for the audit log, one for analytics) — that approach hits the cap at 10 consumers and prevents adding the 11th, which is usually the most important.

The pattern that scales is one webhook per event category, fanning out to multiple consumers via an automation tier. The default automation tier in J4SGON’s deployments is n8n running locally; SMEs that prefer Workato or homegrown queues use the same fan-out shape. The architecture:

Docebo → n8n (1 webhook per event category) → CRM + Slack + Audit + Analytics

The fan-out happens in n8n, not in Docebo. The 10-webhook budget covers all five event categories twice over, leaving 5 slots for high-volume events that benefit from a dedicated webhook to avoid n8n becoming a bottleneck.

Three principles for allocation: prioritise audit-trail events over operational events when slots are scarce (the audit trail rebuilds operational state, not vice versa); use multiple webhooks for events with very high volume (enrollment events on a 1000-user platform) where one webhook would queue dangerously; and keep one slot in reserve for emergency debugging — when an integration breaks and you need a webhook to capture every event for diagnosis, you don’t want to discover you’re at the cap.

For Spanish SMEs whose Docebo deployment is part of a Kit Digital-funded digital transformation up to €12,000, the webhook integration design is part of the documented compliance posture the voucher rewards: an explicit data-flow diagram showing what events leave the LMS and where they go is the right shape for the procurement file.

The pre-cutover checklist worth running: verify webhooks are enabled in Docebo at the platform level, that each receiver acknowledges within 5 seconds, that idempotency keys are wired in the receiver, that the dead-letter monitor has a working alert path, and that the data-flow inventory entry exists. Skipping any one of these is what turns a clean deployment into a quarter of integration debugging.

Ready to get started?

Working on this yourself? J4SGON S.L. delivers Docebo Connect, HRIS, SSO and migration work for European organisations — see what a scoped engagement covers or describe your project and we will reply with a written scope.

Tell us what you are integrating or migrating

Send the platform, the systems involved and where you are stuck. You get a written scope back — phases, deliverables and what is out of scope — before anything is billed.

Related Articles