Sending
Webhooks (delivery events)
Configure your email provider to POST delivery events back to Nudgel. This keeps your message timeline accurate and auto-populates the suppression list.
How it works
When your email provider attempts to deliver a message, it knows the result — delivered, bounced, marked as spam. Without webhooks, Nudgel never hears about these outcomes and your message status stays at sent forever. With webhooks configured, each event is POSTed to a Nudgel endpoint, parsed, and written to delivery_events. The message timeline in your dashboard updates in real time.
Hard bounces and spam complaints additionally trigger automatic suppression — Nudgel adds the address to your tenant's suppression list so future sends to that address are blocked without making a provider call.
Webhook URL format
Every provider gets its own endpoint under the same pattern:
https://api-raven-cloud.autotribes.app/v1/webhooks/email/{provider}/{tenantId}Where {provider} is one of: ses, postmark, sendgrid, mailgun, brevo, mailjet.
Your tenantId (UUID) is visible in Settings → General in the dashboard. It is how Nudgel routes the incoming webhook to your tenant.
NO AUTH ON WEBHOOK ENDPOINTS
X-Postmark-Signature header, for example).Setup per provider
| Provider | Where to configure | Recommended events |
|---|---|---|
| AWS SES | SES → Configuration sets → [set] → Event destinations → SNS → HTTPS subscription | Delivery, Bounce, Complaint |
| Postmark | Server → Message Streams → [stream] → Webhooks | Delivery, Bounce, Spam Complaint |
| SendGrid | Settings → Mail Settings → Event Webhook | Delivered, Bounce, Spam Report, Unsubscribe |
| Mailgun | Sending → Webhooks | Delivered, Permanent failure, Complained, Unsubscribed |
| Brevo | Transactional → Settings → Webhook | Delivered, Hard bounce, Spam, Unsubscribed |
| Mailjet | Account Settings → Event notifications & callbacks | sent, bounce, spam, unsub |
AWS SES — extra steps
SES does not POST directly to HTTP — it routes events through SNS. You need to:
- Create an SNS topic in the same region as your SES
- Create an HTTPS subscription on the topic pointing to the Nudgel webhook URL
- Nudgel auto-confirms the subscription request from AWS
- Add the SNS topic as an event destination on your SES configuration set
https://api-raven-cloud.autotribes.app/v1/webhooks/email/ses/{YOUR_TENANT_ID}Postmark
https://api-raven-cloud.autotribes.app/v1/webhooks/email/postmark/{YOUR_TENANT_ID}SendGrid
https://api-raven-cloud.autotribes.app/v1/webhooks/email/sendgrid/{YOUR_TENANT_ID}Mailgun
https://api-raven-cloud.autotribes.app/v1/webhooks/email/mailgun/{YOUR_TENANT_ID}Brevo
https://api-raven-cloud.autotribes.app/v1/webhooks/email/brevo/{YOUR_TENANT_ID}Mailjet
https://api-raven-cloud.autotribes.app/v1/webhooks/email/mailjet/{YOUR_TENANT_ID}Events Nudgel handles
| Incoming event type | Nudgel action |
|---|---|
| Delivered | Updates message status to delivered, writes delivery_events row |
| Hard bounce | Updates status to bounced, writes event, adds to suppression list (hard_bounce) |
| Soft bounce | Writes event, does not suppress (temporary failure) |
| Spam complaint | Writes event, adds to suppression list (spam_complaint) |
| Unsubscribe | Writes event, adds to suppression list (unsubscribed) |
| Open | Writes event (if provider sends it — not all do) |
| Click | Writes event (if provider sends it) |
SMTP has no webhooks
SMTP is a fire-and-forget protocol. If you use the SMTP adapter, Nudgel cannot receive delivery events from the server. Your message status will stop at sent and the suppression list will not be auto-populated. Switch to a native adapter if delivery tracking matters to your use case.