Proof Docs

Webhooks

Receive signed GitHub, Slack, and Clerk events. Proof verifies the sender and handles safe retries.

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 checks x-hub-signature-256 against the raw body. It requires x-github-event and x-github-delivery. Subscribe the GitHub App to pull-request events.

Slack events

POST /api/webhooks/slack

Proof checks the Slack request signature and responds quickly. It then continues the task. Subscribe the app to bot mentions and grant access to read and post in installed conversations.

Clerk identity events

POST /api/webhooks/clerk

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

Identity webhooks update Proof's access directory. A signed-in user stays on the setup screen until the matching user, organization, and active membership exist. They cannot read organization data before then.

Retries and idempotency

GitHub and Clerk deliveries use a durable receipt with a ten-minute work lease. Proof ignores completed duplicates. It can claim failed or expired work again, so provider retries do not lose an event that arrives out of order.