Corsair
PluginsResend

Resend Webhooks

All available Resend webhook events

The Resend plugin automatically handles incoming webhooks from Resend. Point your Resend webhook URL to your Corsair webhook endpoint, and the plugin will automatically process events and update your database.

New to Corsair? Learn about core concepts like webhooks, hooks, and multi-tenancy before setting up webhook handlers.

Full Implementation: For the complete, up-to-date list of all webhook events and their implementations, see the Resend plugin source code on GitHub.

Setup

Configure your webhook endpoint to handle Resend events:

app/api/webhook/route.ts
import { processWebhook } from "corsair";
import { corsair } from "@/server/corsair";

export async function POST(request: Request) {
    const headers = Object.fromEntries(request.headers);
    const body = await request.json();
    
    const result = await processWebhook(corsair, headers, body);
    return result.response;
}

In your Resend dashboard, set the webhook URL to:

https://your-domain.com/api/webhook

Available Webhooks

sent

emails.sent

Fires when an email is sent.

delivered

emails.delivered

Fires when an email is delivered.

bounced

emails.bounced

Fires when an email bounces.

opened

emails.opened

Fires when an email is opened.

clicked

emails.clicked

Fires when a link in an email is clicked.

complained

emails.complained

Fires when a recipient marks an email as spam.

failed

emails.failed

Fires when an email fails to send.

received

emails.received

Fires when an email is received (for inbound emails).

created

domains.created

Fires when a domain is created.

updated

domains.updated

Fires when a domain is updated.

See Webhooks for more details on webhook concepts and Hooks for the complete hooks documentation.