Every webhook attempt is logged per endpoint, so you can see what was sent, whether it succeeded, and why it failed. Retries are automatic — this page explains the log, the delivery states, and how to recover a failing endpoint.
Open the deliveries log
- As the account owner, open Settings → Integrations → Webhooks.
- On the endpoint you want to inspect, click Deliveries. A table opens showing the most recent attempts.
- The columns are Event, State, Code (the last HTTP status your endpoint returned), Tries (attempts so far), and When.
- Click Hide log to collapse it. No deliveries yet. means nothing has been sent to that endpoint.
Each endpoint row also shows its last delivery at a glance — for example last: delivered (200) or last: dead.
What the states mean
pending— queued or mid-retry; not yet acknowledged with a2xx.delivered— your endpoint returned a2xx.dead— all retries were exhausted without success; this delivery will not be attempted again.
How automatic retries work
The first attempt is immediate. A failed delivery — a non-2xx status, a network error, or a response slower than about 10 seconds — is retried up to five more times with backoff:
- after ~30 seconds
- after ~2 minutes
- after ~10 minutes
- after ~1 hour
- after ~4 hours
That is six attempts over roughly five and a quarter hours; after the last one fails, the delivery is marked dead. There is no button to replay a single past delivery: fix your endpoint so future events flow, or use Send test to push a fresh signed event on demand.
When an endpoint keeps failing
An endpoint that fails repeatedly can be turned off automatically — its row then shows a disabled (failures) chip, and while disabled it receives nothing. After you fix your receiver:
- Click Send test to confirm it now returns a
2xx(the row shows the live status code). - Click Enable to turn the endpoint back on. New events resume immediately.
- If you changed infrastructure, double-check the Endpoint URL is still correct and roll the signing secret if it may have leaked.
Removing an endpoint
Remove deletes the endpoint. Any still-pending deliveries queued for it are marked dead, because they can never succeed once the endpoint is gone.