Skip to main content
Cutshort webhooks send HTTP POST requests to your server when key hiring events occur — a candidate is shortlisted, a stage changes, an invite is accepted. Use webhooks to trigger downstream automation, sync your ATS, or notify your team in real time.

Setting up a webhook

1

Open Webhooks settings

Go to SettingsIntegrationsWebhooks in your Cutshort dashboard.
2

Add an endpoint

Click Add Endpoint and enter your public HTTPS URL. Cutshort requires HTTPS for all webhook endpoints.
3

Select events

Select the events you want to receive. You can subscribe to individual events or all events at once.
4

Save and verify

Click Save. Cutshort immediately sends a test ping to your endpoint to confirm it is reachable. Respond with HTTP 200 to pass verification.
You can also register a webhook endpoint programmatically via the API:

Available events

Webhook payload structure

Every webhook request shares the same envelope structure. The event field identifies the event type, and data contains the event-specific payload.

Verifying webhook signatures

Each webhook request includes an X-Cutshort-Signature header containing an HMAC-SHA256 signature of the raw request body. Verify the signature using your webhook secret, which you can find in your Cutshort dashboard under SettingsIntegrationsWebhooks.
Pass the raw request body (before any JSON parsing) as payload to ensure the signature matches exactly.
Always verify the webhook signature before processing the payload. Reject any requests with invalid or missing signatures to prevent spoofed events from triggering actions in your system.

Retries and reliability

Cutshort retries failed webhook deliveries up to 5 times with exponential backoff (1 min, 5 min, 30 min, 2 hr, 8 hr). Return HTTP 2xx within 10 seconds to acknowledge receipt. For slow processing jobs, return 200 immediately and handle the payload asynchronously in a background worker or queue.