Webhooks
Send real-time notifications to external services whenever content changes in your project.
What is a Webhook?
A Webhook is an HTTP POST call emitted by ElmapiCMS to a URL you provide. The payload includes event details and (optionally) the full content record.
Use cases:
- Trigger static-site rebuilds (Netlify, Vercel).
- Send messages to Slack/Discord.
- Sync changes to a search index.
- Run custom automation via serverless functions.
Setting up queue for webhooks
ElmapiCMS uses a queue to process webhooks. This is to ensure that the webhook is processed even if the request fails.
For more information on how to set up the queue, please refer to the Configuring Queues for Webhooks.
Webhooks List
Each row shows Name, URL, Collections, Events, Sources, Status and a Logs button.
Click a row to edit the webhook.
Creating / Editing a Webhook
- Click New Webhook (or select an existing one).
- Fill in the fields:
| Field | Description |
|---|---|
| Name | Internal label. |
| Description | Optional. |
| URL | Endpoint to receive POST requests. |
| Secret | (Optional) Shared secret for signing payloads. Passed as X-Elmapi-Signature header (SHA-256 HMAC). |
| Collections | Limit events to specific collections (blank = all). |
| Events | Choose one or many (see table below). |
| Sources | cms (changes from the UI) • api (changes via API). |
| Include Payload | Send the full content JSON in data key. |
| Status | Active / Inactive toggle. |
Available Events
| Event | Fires when… |
|---|---|
content.created | Entry is created (any status). |
content.updated | Entry is updated. |
content.trashed | Moved to trash (soft-delete). |
content.deleted | Permanently deleted. |
content.published | Status changes Draft → Published. |
content.unpublished | Published → Draft. |
content.restored | Restored from trash. |
The Events dropdown defaults to content.created.
Logs
Click Logs to view deliveries, responses and retry attempts. Useful for debugging.
Security & Retries
- If Secret is set, validate the
X-Elmapi-Signatureheader:
sha256=HMAC_SHA256(body, secret) - ElmapiCMS retries up to 3 times with exponential back-off for non-2xx responses.
Permissions
| Ability | Purpose |
|---|---|
access_webhooks_settings | View tab, create / edit / delete webhooks |