Tofu
Providers · Clerk

Test Clerk webhooks locally

Forward Clerk user, organisation, and session events to your local handler. Replay account-sync payloads while iterating on validation or database mapping, without resetting test accounts.

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

Setup checklist

  • Paste the Tofu URL into the Clerk dashboard webhook endpoint.
  • Expire retained payloads early if Clerk events include account data you no longer need.

Signature verification with Svix

Clerk signs webhooks via Svix, with svix-id, svix-timestamp, and svix-signature headers covering the raw body. Tofu preserves all three on forward and replay, so the Svix verifier still passes.

Events worth wiring early

Most apps need user.created, user.updated, and organization.* events to keep an application database in sync with Clerk. Replay lets you exercise the full upsert path against a real payload while you adjust your schema.