Skip to main content
When a trigger matches an event, Adapter POSTs the event to your webhook URL. Each event becomes one delivery, recorded with its outcome so you can see what reached your endpoint and what didn’t.

What your endpoint receives

Every delivery is a JSON POST with these headers: Authenticate deliveries by verifying Adapter-Signature with the secret returned when you created the trigger. Requests carry no bearer token or API key, so an endpoint that expects one will reject every delivery with 401.
Delivery is at-least-once. The same event can arrive more than once with the same id, so dedupe on it.

Success, retries and failure

Respond with any 2xx status within 6 seconds to mark the delivery delivered. Return 4xx only when retrying wouldn’t help. For a temporary problem on your side, return 5xx so the delivery gets its retry.

Checking delivery health

Each trigger carries a rollup of its recent deliveries: Get trigger details:
For individual deliveries, list deliveries. Each record has the status, the status_code your endpoint returned, attempts, duration_ms, and an error message for failures. History is kept for 30 days.
Delivery counts gives daily delivered and failed totals across all your triggers for the last 7 days. The Triggers page in the Console shows the same status and history.

Automatic disabling

After 50 consecutive events fail to deliver, Adapter disables the trigger: enabled becomes false and auto_disabled_at is set. A disabled trigger matches nothing, so events that happen while it is off are not delivered and are not queued for later.

Recovering a failing trigger

1

Find the cause

List the trigger’s deliveries and read status_code and error on the failed ones.
2

Fix your endpoint

Make it accept a signed POST and return 2xx. If the URL changed, update the trigger’s delivery.url.
3

Re-enable the trigger

Update the trigger with enabled: true:
This resets consecutive_failures to 0 and clears auto_disabled_at. Deliveries resume from the next matching event.
4

Backfill what you missed

Events that failed or happened while the trigger was off are not redelivered. Use the delivery history to find the window (from the first failure to the moment you re-enabled), then fetch that data through the API. A failed delivery’s kind, action and key identify the record it was about.