Webhooks
Receive signed HTTP callbacks when events happen in your Reachase organization.
Setup
Add a webhook endpoint in the dashboard, choose a destination type (Custom, Slack, Discord, Zapier, or HubSpot), and select the events you want. Each endpoint gets a signing secret used to verify payload authenticity.
Destination types
- Custom URL: Your server or any HTTPS endpoint that accepts JSON. Reachase sends signed JSON you can verify or map in your automation.
- Slack: Incoming webhook URL from Slack. No Slack app review required. Reachase formats the message for this destination.
- Discord: Channel webhook URL from Discord. No bot OAuth required. Reachase formats the message for this destination.
- Zapier: Zapier Catch Hook URL. Connect Reachase to 6,000+ apps without code. Reachase sends signed JSON you can verify or map in your automation.
- HubSpot: HubSpot workflow webhook URL or Zapier. No Reachase OAuth required. Reachase sends signed JSON you can verify or map in your automation.
Event payload
Custom, Zapier, and HubSpot destinations receive a JSON body like the example below. Slack and Discord receive formatted messages built from the same event data.
{
"event": "form.submitted",
"organization_id": "org_abc123",
"data": {
"formId": "form_abc123",
"formName": "Contact",
"submissionId": "sub_abc123",
"data": {
"name": "John Doe",
"email": "[email protected]",
"message": "Enterprise inquiry"
}
},
"timestamp": "2026-03-15T10:32:00Z"
}Supported events
- form.submitted — a contact form receives a new submission.
- booking.created — a meeting is scheduled through an embed.
- booking.updated — a confirmed booking is rescheduled from the dashboard.
- booking.cancelled — a confirmed booking is cancelled from the dashboard.
Verify signatures
The X-Reachase-Signature header contains an HMAC SHA-256 digest of the raw request body. Always verify signatures before processing webhook data on custom endpoints.
import { verifyWebhookSignature } from "@reachase/sdk";
function verifyWebhook(rawBody, signature, secret) {
return verifyWebhookSignature(rawBody, signature, secret);
}Retries
Failed deliveries retry up to three times with short backoff. Response codes outside the 2xx range are treated as failures. View delivery logs in the dashboard.