Overview
This node acts as a webhook trigger for Resend email events. It listens for incoming webhook calls from the Resend service, verifies their authenticity using a signing secret, and triggers workflows based on selected event types such as email sent, opened, bounced, or contact/domain changes.
Common scenarios include:
- Automating follow-up actions when an email is delivered or opened.
- Tracking email engagement by reacting to clicks or complaints.
- Managing contacts or domains dynamically in response to creation, updates, or deletions.
- Handling email delivery issues like bounces or delays.
For example, you could use this node to start a workflow that adds users to a CRM when a "contact.created" event is received, or send notifications when an email bounces.
Properties
| Name | Meaning |
|---|---|
| Webhook Signing Secret | The secret key used to verify webhook signatures, found in your Resend webhook configuration (value starting with whsec_). This ensures the webhook data is authentic. |
| Events | The list of Resend event types to listen for. Multiple can be selected. Options include: - Contact Created - Contact Deleted - Contact Updated - Domain Created - Domain Deleted - Domain Updated - Email Bounced - Email Clicked - Email Complained - Email Delivered - Email Delivery Delayed - Email Opened - Email Sent |
Output
The node outputs JSON data representing the webhook payload received from Resend for the subscribed event types. The output structure corresponds directly to the event data sent by Resend and includes fields such as event type, timestamp, and relevant event details.
If the event type received is not among the selected ones, the node does not output any data (empty array).
No binary data output is produced by this node.
Dependencies
- Requires the
svixlibrary for verifying webhook signatures. - Needs a valid webhook signing secret from Resend to authenticate incoming webhook requests.
- The user must configure the webhook URL provided by this node in their Resend dashboard.
- No additional environment variables are required beyond the webhook signing secret input.
Troubleshooting
- Missing or invalid Svix headers: If the webhook request lacks required signature headers (
svix-id,svix-timestamp,svix-signature), the node logs an error and ignores the webhook. - Signature verification failure: If the webhook signature does not match the expected value (likely due to incorrect signing secret or tampered payload), the node logs a verification failure and discards the event.
- Unexpected webhook payload format: If the webhook payload is missing the
typefield or is not an object, the node warns and ignores the data. - Event not subscribed: If an event is received but not selected in the node's properties, it logs that the event is ignored without triggering the workflow.
To resolve these issues:
- Ensure the webhook signing secret matches exactly what is configured in Resend.
- Confirm that the webhook URL is correctly set in the Resend dashboard.
- Select all desired event types in the node configuration.
- Check that Resend is sending webhooks with the expected headers and payload format.