Tofu
Providers · Supabase

Test Supabase webhooks locally

Forward Supabase auth, database, and edge function webhooks to your local Next.js or Node app. Replay real payloads against the same handler you ship to production.

Terminal
$ tofu hooks create supabase --name "Supabase"$ tofu hooks url supabase$ tofu targets set local "http://127.0.0.1:3000/api/webhooks/supabase" --hook supabase$ tofu watch supabase

Setup checklist

  • Use a separate hook per Supabase project if signing schemes differ.
  • Pair watch and replay when iterating on row-change handlers.

Database webhooks

Supabase can fire a webhook on insert, update, or delete in any table. Tofu gives that webhook a stable URL, so you can keep the database trigger in place while iterating on the local consumer.

Auth and identity events

When syncing Supabase auth identities with an application database, replay is the fastest way to test changes to the sync logic without creating new test accounts each time.

Multiple Supabase projects

Use a separate Tofu hook per Supabase project. Signing schemes and secrets differ across projects, and keeping them on independent hooks avoids accidental signature mismatches.