Productivity
Calendly Webhooks
Scheduling and meeting booking platform. Receive events when invitees book, cancel, no-show, or submit routing forms.
Connecting Calendly to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Calendly. Then:
- 1Create a webhook subscription via the Calendly API: POST https://api.calendly.com/webhook_subscriptions
- 2Set "url" to your Hookbase ingest URL and "scope" to organization or user
- 3Specify the "events" array (invitee.created, invitee.canceled, routing_form_submission.created, etc.)
- 4Requires a Calendly Standard, Teams, or Enterprise plan and a Personal Access Token or OAuth token
- 5Save the "signing_key" from the response and add it to your Hookbase source for signature verification
Signature verification
Set the source's provider to calendly and paste the signing secret. Every request is checked before the event is stored, and anything that fails is rejected rather than quietly recorded.
- Algorithm
- HMAC-SHA256 with timestamp
- Header
- Calendly-Webhook-Signature
- Where to find the secret
- The `signing_key` returned in the response when creating a webhook subscription via POST /webhook_subscriptions
Calendly event types
5 of the events people route most often. Hookbase accepts every event Calendly sends, whether or not it is listed here.
invitee.created
A new invitee scheduled an event
invitee.canceled
An invitee or host canceled a scheduled event
invitee_no_show.created
A host marked an invitee as a no-show
invitee_no_show.deleted
A no-show marking was removed from an invitee
routing_form_submission.created
Someone submitted a routing form, whether or not they went on to book
What a Calendly webhook looks like
A invitee.created payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"created_at": "2024-01-15T10:30:00.000000Z",
"created_by": "https://api.calendly.com/users/AAAAAAAAAAAAAAAA",
"event": "invitee.created",
"payload": {
"cancel_url": "https://calendly.com/cancellations/BBBBBBBBBBBBBBBB",
"created_at": "2024-01-15T10:30:00.000000Z",
"email": "jane@example.com",
"event": "https://api.calendly.com/scheduled_events/CCCCCCCCCCCCCCCC",
"name": "Jane Doe",
"new_invitee": null,
"old_invitee": null,
"questions_and_answers": [
{
"question": "What would you like to discuss?",
"answer": "Onboarding walkthrough",
"position": 0
}
],
"reschedule_url": "https://calendly.com/reschedulings/BBBBBBBBBBBBBBBB",
"rescheduled": false,
"status": "active",
"text_reminder_number": null,
"timezone": "America/New_York",
"tracking": {
"utm_source": null,
"utm_campaign": null,
"salesforce_uuid": null
},
"updated_at": "2024-01-15T10:30:00.000000Z",
"uri": "https://api.calendly.com/scheduled_events/CCCCCCCCCCCCCCCC/invitees/BBBBBBBBBBBBBBBB"
}
}Start receiving Calendly webhooks
Create a source, paste the URL into Calendly, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free