clerk-webhooks

Implement verified Clerk webhook handlers with framework-specific adapters.

7|3|Updated Aug 14, 2025
One-click install
npx skills add https://github.com/cheesejaguar/sopher.ai --skill clerk-webhooks-cheesejaguar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clerk-webhooks
Source: https://github.com/cheesejaguar/sopher.ai/tree/main/.agents/skills/clerk-webhooks
Command: npx skills add https://github.com/cheesejaguar/sopher.ai --skill clerk-webhooks-cheesejaguar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents insecure or unreliable Clerk webhook integrations by providing verified handlers, public route configuration, and guidance for asynchronous event processing.

Core Features & Use Cases

  • Signature Verification: Require verifyWebhook in every handler and use the framework-specific Clerk adapter.
  • Event Synchronization: Handle user, organization, membership, billing, payment, session, and communication events for databases, notifications, and integrations.
  • Framework Coverage: Provide implementation patterns for Next.js, Express, Astro, Fastify, Nuxt, React Router, and TanStack Start, including framework-specific body parsing and environment configuration.
  • Reliability Guidance: Address retries, replay handling, idempotency, public routes, local tunneling, and asynchronous processing.
  • Use Case: When a Clerk user signs up, use this Skill to verify the webhook, create a database record, send a welcome email, and notify Slack without exposing the endpoint to spoofed events.

Quick Start

Use the clerk-webhooks skill to create a verified webhook handler for user-created events in my application's framework.

Frequently Asked Questions about clerk-webhooks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify Clerk webhooks in Next.js or Express?

To verify Clerk webhooks, you must use the framework-specific verifyWebhook adapter and configure the CLERK_WEBHOOK_SIGNING_SECRET environment variable. This signature validation ensures your endpoint only processes authentic events.

Why does Clerk webhook signature verification fail with raw body parsing?

Clerk webhook signature verification fails when body parsing modifies the raw payload before validation. You must implement framework-specific raw-body handling for your Express, Astro, or Fastify routes to ensure accurate signature checks.

Can I handle Clerk user and organization synchronization events across different frameworks?

Yes, you can handle user, organization, membership, and billing event synchronization across Next.js, Express, Astro, Fastify, Nuxt, React Router, and TanStack Start. Each framework requires its specific webhook adapter and public route configuration.

What is the best way to prevent spoofed Clerk webhook events from triggering database integrations?

Preventing spoofed Clerk webhook events requires enforcing verifyWebhook in every handler before processing database integrations. You should also implement idempotency and replay handling to ensure asynchronous event processing remains reliable.

How do I configure public routes for Clerk webhooks in my application?

Configuring public routes for Clerk webhooks involves exposing the webhook endpoint without authentication middleware while keeping the CLERK_WEBHOOK_SIGNING_SECRET secure. This allows external event delivery while signature validation prevents unauthorized access.