Prefer no-code? You can trigger automations without building a listener by connecting Cal ID to your other apps through an automation platform. For the full payload schemas and delivery details, see the Webhook events reference.
Available triggers
Create a webhook subscription
1
Open webhook settings
Visit
/settings/webhooks and start a new subscription.2
Enter the Subscriber URL
This is the listener URL that receives the payload whenever a subscribed trigger fires.
3
Choose your event triggers
Select which triggers to listen to from the list above.
4
Add a secret (optional)
Provide a secret key to verify incoming payloads on your subscriber URL — this confirms a payload is authentic and hasn’t been tampered with. Leave it blank to skip.
5
Customize the payload (optional)
Optionally tailor the payload you receive when a subscribed event fires (see custom payload templates below).

An example webhook payload
Verify the authenticity of a payload
When you set a secret, Cal ID signs each request so you can confirm it genuinely came from Cal ID.1
Add a secret key
Add a secret key to your webhook and save.
2
Wait for a trigger
Wait for the webhook to fire — a booking is created, cancelled, rescheduled, and so on.
3
Compute an HMAC
Use the secret key to create an
hmac, then combine it with the received webhook payload to produce a SHA256 signature.4
Compare signatures
Compare your computed hash with the one in the webhook’s
X-Cal-Signature-256 header. If they don’t match, the payload was altered and can’t be trusted.Adding a custom payload template
Customizable webhooks are a great way to reduce development effort — in many cases they remove the need to build an additional integration service. Here’s an example custom payload template:{{type}} represents the event type slug and {{title}} represents the title of the event type. Variables must be wrapped in double curly braces as shown above. The full set of supported variables is listed below.
Webhook variable list
Person structure
Next steps
Webhook events reference
Full trigger list, payload schemas, and signature verification details.
Build a webhook receiver
A step-by-step recipe for verifying and handling webhook deliveries.