Skip to main content

Receive Calendly bookings

Guides

Calendly sends webhooks to subscriptions created through its API and signs them with a signing key. With a personal access token you set the key; with an OAuth app Calendly generates it. Receive a webhook from any system covers the shared settings.

Set up with a personal access token​

  1. In Manage Account > Webhooks, select New webhook, enter a name and set Signature to Calendly. Leave Signing key blank to generate one.
  2. Press Create webhook and copy the webhook URL and the signing key.
  3. Create a webhook subscription with the Calendly API, with the webhook URL as its callback.
  4. Send the signing key as signing_key in the same create-subscription request.

Set up with an OAuth app​

  1. In Manage Account > Webhooks, select New webhook, enter a name and set Signature to Calendly.
  2. Paste the webhook signing key Calendly generated for your OAuth app into Signing key and press Create webhook. DataLug stores it encrypted and never shows it.
  3. Create a webhook subscription with the Calendly API, with the webhook URL as its callback.

To change the key later, open the webhook's Settings, enter the new key in Signing key and press Save settings.

DataLug checks the Calendly-Webhook-Signature header and refuses a request signed more than 3 minutes ago.

What arrives​

One row per event, as Calendly sends it: the event name, such as invitee.created, created_at and a payload object with the invitee and the scheduled event.

Duplicates and responses​

The event name with the invitee URI, payload.uri, is the event id. A booking and its cancellation are two events; the same event arriving twice runs once. Every accepted request is answered 200.