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

  1. Log in to your Resend dashboard.
  2. Navigate to Webhooks in the Resend sidebar.
  3. Click Add webhook and paste your NgsReach webhook URL (including the workspaceId query parameter).
  4. Select the events you want to receive. NgsReach processes the following Resend events:
    • email.delivered
    • email.delivery_delayed
    • email.bounced
    • email.complained
    • email.opened
    • email.clicked
  5. Save the webhook. Resend will display a Signing Secret — copy this value.
  6. 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.
Security: All webhook requests are verified using the signing secret before any data is written. Requests without a valid signature are rejected with a 401 response. Never share your webhook signing secret.

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.bounced events classified as hard bounces, automatically updates the subscriber's status to bounced to prevent future sends.
  • For email.complained events (spam complaints), marks the subscriber accordingly.

Troubleshooting

Events not appearing in NgsReach

  • Confirm the webhook URL in Resend includes the correct workspaceId query 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.