Skip to main content

How it works

When a watched user’s churn risk crosses their threshold, ChurnKit sends a signed HTTP POST to the webhook URL you registered with watch().

Webhook payload

Event types

HTTP headers

Responding to webhooks

Return a 2xx status code to acknowledge receipt. ChurnKit retries failed deliveries (non-2xx or timeout) with exponential backoff for up to 72 hours.

Getting your webhook secret

Your webhook signing secret is shown in the FlowsBuilt Console under API Keys. Add it to your environment:
Always verify signatures. Never process a webhook payload before confirming its authenticity.

Next steps

Verify Signature

Step-by-step guide to signature verification in Node.js, Next.js, and Express.