Introduction
Use webhooks to notify your application about email events.
What is a webhook?
Resend uses webhooks to push real-time notifications to you about your email sending. All webhooks use HTTPS and deliver a JSON payload that can be used by your application. You can use webhook feeds to do things like:
- Automatically remove bounced email addresses from mailing lists
- Create alerts in your messaging or incident tools based on event types
- Store all send events in your own database for custom reporting/retention
Steps to receive webhooks
You can start receiving real-time events in your app using the steps:
- Create a local endpoint to receive requests
- Register your development webhook endpoint
- Test that your webhook endpoint is working properly
- Deploy your webhook endpoint to production
- Register your production webhook endpoint
1. Create a local endpoint to receive requests
In your local application, create a new route that can accept POST requests.
For example, you can add an API route on Next.js:
On receiving an event, you should respond with an HTTP 200 OK
to signal to Resend that the event was successfully delivered.
2. Register your development webhook endpoint
Register your publicly accessible HTTPS URL in the Resend dashboard.
You can create a tunnel to your localhost server using a tool like
ngrok. For example:
https://8733-191-204-177-89.sa.ngrok.io/api/webhooks
3. Test that your webhook endpoint is working properly
Send a few test emails to check that your webhook endpoint is receiving the events.
4. Deploy your webhook endpoint
After you’re done testing, deploy your webhook endpoint to production.
5. Register your production webhook endpoint
Once your webhook endpoint is deployed to production, you can register it in the Resend dashboard.
FAQ
Try it yourself
Webhook Code Example
See an example of how to receive webhooks events for Resend emails.
Was this page helpful?