The flow
Hookdrop sits between your webhook provider and your server:200 OK — then handles delivery to your server in the background, with retries if anything goes wrong.
The lifecycle
Capture
The webhook hits your permanent Hookdrop URL. Hookdrop saves it to the database and returns
200 OK to the sender in under 50ms.Webhook senders wait for your
200 OK before they consider delivery successful. If your response is slow, they assume failure and start retrying — which creates duplicate events. By separating capture from delivery, Hookdrop responds instantly and handles forwarding asynchronously, so the sender never has to wait.Store
The full event is persisted in the database — nothing is thrown away:
- Headers — every request header, including signatures
- Body — the raw payload exactly as sent
- Source IP — where the request originated
- Timestamp — exact time of arrival
Forward
A delivery worker picks up the job and forwards the event to your configured destinations — your local dev server, staging, production, or all three simultaneously. Forwarding uses a 10-second timeout per attempt.
Retry
If your server is unreachable or returns an error, Hookdrop retries automatically with exponential backoff:
After 4 failed attempts, the event moves to the dead letter queue and you receive an email alert.
| Attempt | Delay |
|---|---|
| 1st retry | 5 seconds |
| 2nd retry | 30 seconds |
| 3rd retry | 2 minutes |
| 4th retry | 10 minutes |
Audit
Every delivery attempt is logged with the response code, response body, attempt count, and timestamp. You have a complete audit trail for every event — not just successes.
Endpoints
Learn how endpoints, destinations, and deliveries relate to each other.
Authentication
Verify webhook signatures and secure your endpoints.
