Integration · Clerk

Clerk webhook reliability with DLQ and replay

Charon Gate captures Clerk webhooks (Svix-signed) the moment they're emitted: signature verification on Svix-Id / Svix-Timestamp / Svix-Signature, dead-letter queue when your destination is mid-deploy, and replay so you don't drop user.created or session.created during a release.

Why Charon Gate for Clerk

  • Full Svix verification pipeline (multi-secret rotation supported) shared with the Resend integration.
  • Replay user lifecycle events without recreating users in Clerk — your handler runs again with the original payload bytes.
  • Tenant- and project-scoped event log — easy to slice by org_id when triaging multi-org auth issues.

How verification works

Header
Svix-Id, Svix-Timestamp, Svix-Signature
Algorithm
HMAC-SHA256 over `${id}.${timestamp}.${body}`
Upstream docs
clerk.com/docs/integrations/webhooks/overview

Charon Gate accepts multiple active signing secrets so you can rotate Clerk's webhook signing key with zero downtime.

Example Clerk events

Charon Gate is event-shape agnostic — these are typical Clerk event types our customers route through us today.

user.createduser.updateduser.deletedsession.createdorganizationMembership.created

FAQ

Will my existing Svix verification code still work?
Yes. Charon forwards the original Svix headers untouched to your destination. Your existing `Webhook` SDK call continues to work; you simply point Clerk's webhook URL at Charon Gate instead of your endpoint.

Ready when you are

Front your Clerk webhooks with Charon Gate in 90 seconds.

Start free