How to Receive Clerk Webhooks Reliably
Receive Clerk user and session webhooks — verify the Svix signature scheme correctly, reshape the payload, sync your database, and replay failures. No backend required.
Jason Warner
August 5, 2026
How to Receive Clerk Webhooks Reliably
Clerk sends webhooks for user and session lifecycle events (user.created, session.created, and more) so you can sync your own database and trigger onboarding. Clerk delivers these through Svix, which means a specific signature scheme you have to implement correctly — plus the usual retries and payload reshaping. Bluejay Relay handles all of it, no backend required.
What You'll Build
Clerk → Bluejay Relay (verify + transform + route) → your database, your API, or Slack.
1. Create the Webhook Endpoint
In Bluejay Relay, create a webhook and pick Clerk as the source — its Svix verification is pre-selected. Copy your capture URL:
https://in.bluejayrelay.com/api/webhooks/{your-token}
2. Add the Endpoint in Clerk
In the Clerk Dashboard, go to Webhooks, add an endpoint, paste your Bluejay capture URL, and select the events you want. Clerk shows a signing secret (it starts with whsec_) — copy it.
3. Verify the Signature
Clerk (via Svix) signs {svix-id}.{svix-timestamp}.{body} with HMAC-SHA256 using your whsec_ secret, and sends the signature in the svix-signature header alongside svix-id and svix-timestamp. It also guards against replays with a timestamp window. Bluejay Relay implements this scheme exactly — paste your signing secret, enable verification, and forged or replayed requests are rejected.
4. Transform and Route
A user.created event carries the new user's id, email and profile. Map those into a clean payload and deliver it to your API to create the matching record, and to Slack to announce the signup — the same event, two shapes, no code.
5. Retries and Replay
If your API is mid-deploy when a user signs up, Relay retries with backoff, dead-letters what fails, and lets you replay — so you never miss creating a user record.
Connect Clerk in a minute on Bluejay Relay — the free tier is 10,000 events/month, no card required.
Build more reliable webhook workflows.
Capture, transform, and retry webhooks with full observability. Free to start, no credit card.