PristineSend forwards Resend webhook events to your endpoint so you can react to delivery status changes in real time.
Webhooks are HTTP POST requests sent to a URL you configure. They are triggered by events in Resend and proxied through your PristineSend workspace. To set up a webhook endpoint, go to Settings → Webhooks in your dashboard and enter your endpoint URL.
| Event type | Description |
|---|---|
email.sent | Resend accepted the message for delivery. |
email.delivered | The receiving mail server confirmed delivery. |
email.delivery_delayed | Delivery is being retried due to a temporary failure. |
email.complained | Recipient marked the email as spam. |
email.bounced | The email could not be delivered (hard or soft bounce). |
email.clicked | Recipient clicked a tracked link (requires click tracking). |
email.opened | Recipient opened the email (requires open tracking). |
All events share a common envelope with a type field and a data object:
Resend signs webhook payloads using Svix. Each request includes three headers — svix-id, svix-timestamp, and svix-signature — that you should verify using the svix npm package or equivalent before processing the event.
Your webhook signing secret is available in Resend under Webhooks → your endpoint → Signing Secret.
A minimal Next.js App Router webhook handler that verifies the signature and dispatches on event type: