RelayFox

Clerk webhook testing

Test Clerk webhooks on localhost—without exposing a port.

See Clerk user lifecycle events (user.created, session.created) as they fire, and forward them to your local handler to test just-in-time user sync. RelayFox keeps receiving if your laptop sleeps, so the original delivery is waiting when you reconnect.

No signup. Disposable URL lasts 24 hours.

Listening live
relayfox.dev/h/...
POSTnow

user.created

svix-signature: preserved

Forward when ready

npx relayfox forward <id> --to http://localhost:3000

Inspect the original headers and raw body.
Receive events while localhost is offline.
Forward through one free CLI command.
  1. 1
    Create a free RelayFox URL above (no signup needed).
  2. 2
    Paste it as your webhook endpoint: Clerk Dashboard → Webhooks → Add Endpoint.
  3. 3
    Trigger an event (e.g. user.created) and watch it arrive live in RelayFox.
  4. 4
    Run the CLI to forward captured events to your local server:
    npx relayfox forward <endpoint-id> --to http://localhost:3000
  5. 5
    Inspect headers, body and replay any event as many times as you need.

RelayFox preserves the svix-signature header when forwarding, along with the captured body. Verify against the original raw body. If Clerk includes the public destination URL in its signature, configure your verifier with the RelayFox capture URL rather than the localhost forwarding URL.

Ready for the next Clerk event?

Create a disposable inbox and paste the URL into Clerk.