Clerk Webhooks
How to Test Clerk Webhooks Locally (2026)
Clerk sends webhooks for user, session, and organization events so your app can stay in sync with authentication state. Clerk signs every webhook with Svix, which uses HMAC-SHA256 over a timestamped payload.
Signature Header
svix-signature
Algorithm
HMAC-SHA256 (Svix)
Setup Guide
- 1Create a free HookSense endpoint at hooksense.com
- 2Copy your unique webhook URL
- 3In Clerk Dashboard → Webhooks → Add Endpoint
- 4Paste your HookSense URL as the Endpoint URL
- 5Select the events you want to subscribe to (user.*, session.*, etc.)
- 6Copy the Signing Secret — add it to HookSense for Svix signature verification
- 7Trigger a test event from the Clerk dashboard or perform a signup
- 8Watch the webhook land in HookSense in real-time
Common Clerk Webhook Events
user.createduser.updateduser.deletedsession.createdsession.endedorganization.createdorganizationMembership.createdemail.createdForward to Localhost
Use HookSense CLI to forward Clerk webhooks directly to your local development server:
npx hooksense listen -p 3000 --path /api/integrations/clerkNo ngrok or tunnel setup required. Install with npm i -g hooksense or use npx.
Tips & Best Practices
- Clerk uses Svix for signing — HookSense handles the svix-id / svix-timestamp / svix-signature trio automatically
- Svix retries for up to 24 hours with exponential backoff — use HookSense replay to simulate retries
- Guard user sync logic by verifying the signature before writing to your DB
- Use HookSense search to filter by user.id or email inside payloads during onboarding QA
Related
Start Testing Clerk Webhooks
Create a free endpoint and receive your first Clerk webhook in seconds.
Get Started Free