Webhooks
Receive real-time notifications when events happen in your newsletter.
What Are Webhooks?
Webhooks are automated messages sent to your server when specific events occur. They let you:
- Sync subscribers to external systems
- Trigger actions in other tools
- Build custom integrations
- Track events in real-time
Creating a Webhook
- Go to Settings → Webhooks
- Click "Add Webhook"
- Enter your endpoint URL
- Select events to subscribe to
- Click "Create Webhook"
Available Events
| Event | Description |
|---|---|
subscriber.created |
New subscriber signed up |
subscriber.unsubscribed |
Subscriber opted out |
issue.sent |
Newsletter was sent |
email.opened |
Subscriber opened an email |
email.clicked |
Subscriber clicked a link |
email.bounced |
Email delivery failed |
Webhook Payload
Each webhook sends a JSON payload:
{
"event": "subscriber.created",
"timestamp": "2025-01-10T14:30:00Z",
"newsletter_id": "nl_abc123",
"data": {
"email": "[email protected]",
"name": "John Doe",
"subscribed_at": "2025-01-10T14:30:00Z"
}
}
Webhook Security
Verify webhooks are from DailyDraft:
Signature Verification
Each webhook includes an X-DailyDraft-Signature header. Verify it using your webhook secret.
IP Allowlist
Optionally restrict your endpoint to accept requests only from DailyDraft IPs.
Testing Webhooks
- Go to your webhook settings
- Click "Send Test"
- A sample payload is sent to your endpoint
- Verify it was received correctly
Webhook Logs
View delivery logs for each webhook:
- Timestamp of each delivery attempt
- HTTP response code
- Response body (first 1KB)
- Retry attempts if failed
Retry Policy
Failed webhooks are retried:
- 3 retry attempts
- Exponential backoff (1 min, 5 min, 30 min)
- After all retries fail, webhook is marked as failed
Tip: Return a 2xx status code quickly. Process webhook data asynchronously to avoid timeouts.
Still need help?
Can't find what you're looking for? Chat with our AI assistant or create a support ticket.
Sign in to get support