Proof Docs

Webhooks

Receive signed GitHub, Slack, and Clerk events through dedicated Route Handlers with provider verification and retry-safe processing.

Webhook endpoints

ProviderEndpointSecret
GitHub/api/webhooks/githubGITHUB_WEBHOOK_SECRET
Slack/api/webhooks/slackSLACK_SIGNING_SECRET
Clerk/api/webhooks/clerkCLERK_WEBHOOK_SIGNING_SECRET

GitHub events

POST /api/webhooks/github

Proof verifies x-hub-signature-256 against the raw body and requires x-github-event and x-github-delivery. Subscribe the GitHub App to pull-request events.

Slack events

POST /api/webhooks/slack

The Chat SDK adapter verifies the Slack request signature, acknowledges promptly, and continues task handling after the response. Subscribe the app to bot mentions and grant the scopes needed to read and post in installed conversations.

Clerk identity events

POST /api/webhooks/clerk

Subscribe to user, organization, organization membership, organization invitation, and enterprise SSO/SAML connection events. Proof verifies the Svix signature and uses svix-id as the delivery identity.

Identity webhooks synchronize the local authorization directory. Until the matching user, organization, and active membership exist, a signed-in user remains on the provisioning screen and cannot read tenant data.

Retries and idempotency

GitHub and Clerk deliveries use a durable receipt with a ten-minute processing lease. Completed deliveries become harmless duplicates. Failed deliveries and expired leases can be claimed again, allowing provider retries without permanently losing an out-of-order event.