Integration
Webhooks
Receive real-time delivery events from Resend into NgsReach.
Overview
NgsReach can receive delivery event notifications directly from Resend via webhook. When configured, delivery statuses in your logs update in real time — you see when emails are delivered, opened, clicked, bounced, or marked as spam without any manual refresh.
Configuring the webhook is optional, but strongly recommended. Without it, send records remain at sent status and you will not see bounce data, which means bounced addresses will not be automatically suppressed.
Resend webhook endpoint
NgsReach exposes a webhook endpoint for each workspace. The URL follows this pattern:
POST https://[your-backend-url]/webhooks/resend?workspaceId={workspaceId}Your workspace ID is available in Settings → General in the dashboard.
Setting up the webhook in Resend
- Log in to your Resend dashboard.
- Navigate to Webhooks in the Resend sidebar.
- Click Add webhook and paste your NgsReach webhook URL (including the
workspaceIdquery parameter). - Select the events you want to receive. NgsReach processes the following Resend events:
email.deliveredemail.delivery_delayedemail.bouncedemail.complainedemail.openedemail.clicked
- Save the webhook. Resend will display a Signing Secret — copy this value.
- In NgsReach, go to Settings → Delivery and paste the Resend Signing Secret into the Webhook Secret field. This enables NgsReach to verify that incoming webhook requests genuinely originate from Resend.
Event processing
When a verified event is received, NgsReach:
- Updates the delivery status of the matching send record.
- Updates campaign-level statistics (delivered count, bounce count, open rate, etc.).
- For
email.bouncedevents classified as hard bounces, automatically updates the subscriber's status tobouncedto prevent future sends. - For
email.complainedevents (spam complaints), marks the subscriber accordingly.
Troubleshooting
Events not appearing in NgsReach
- Confirm the webhook URL in Resend includes the correct
workspaceIdquery parameter. - Confirm the Webhook Secret in NgsReach matches the Signing Secret shown in Resend.
- Check the Resend webhook logs for delivery errors — Resend shows the HTTP response status for each delivery attempt.
Webhook returns 401
The signing secret does not match. Re-copy the Signing Secret from your Resend dashboard and update it in NgsReach delivery settings.
Webhook returns 400 or 404
The workspaceId in the URL is missing or incorrect. Verify the workspace ID in Settings → General and update the webhook URL in Resend.
SMTP providers
The NgsReach webhook endpoint is currently Resend-specific. If you are using an SMTP provider, delivery event tracking is not yet available. Check back for updates as we expand integration support.