Tofu
Providers · Resend

Test Resend webhooks locally

Keep one stable Resend endpoint for delivery, bounce, complaint, and open events while your local notification handler moves between branches and ports.

Terminal
$ tofu hooks create resend --name "Resend"$ tofu hooks url resend$ tofu targets set local "http://127.0.0.1:3000/api/webhooks/resend" --hook resend$ tofu replay latest --hook resend

Setup checklist

  • Use the provider URL in Resend's webhook settings.
  • Replay a retained event after changing email status handling.

Webhook events worth handling

Resend emits events for sent, delivered, opened, clicked, bounced, and complained. Most apps care about delivery failures and complaints first, since those drive cleanup of your contact list and unsubscribe state.

Replay after handler changes

When you adjust how the app reacts to a bounce, replay the most recent bounce event instead of sending another test email and waiting for it to fail. The replay carries the original payload and signing headers, so production parity stays intact.