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.updated |
Subscriber details changed |
subscriber.deleted |
Subscriber removed |
issue.sent |
Newsletter was sent |
issue.published |
Issue published to the web |
email.opened |
Subscriber opened an email |
email.clicked |
Subscriber clicked a link |
email.bounced |
Email delivery failed |
email.unsubscribed |
Subscriber unsubscribed via email link |
Webhook Payload
Each webhook sends a JSON payload:
{
"event": "subscriber.created",
"timestamp": "2025-01-10T14:30:00Z",
"newsletter": {
"id": 123,
"name": "Tech Weekly",
"subdomain": "tech-weekly"
},
"data": {
"subscription_id": 456,
"email": "[email protected]",
"name": "John Doe",
"status": "active",
"subscribed_at": "2025-01-10T14:30:00Z",
"tags": []
}
}
See the API Webhooks reference for detailed payload examples for every event type.
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 up to 3 times with polynomial backoff. After all retries are exhausted, the delivery is marked as failed.
Endpoints that accumulate 10 consecutive failures are automatically disabled.
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