When you create a webhook subscription, payloads will be sent in real time to your server endpoint when events are scheduled or canceled by either the host or the invitee. When you create a webhook subscription, you can subscribe to either or both:Documentation Index
Fetch the complete documentation index at: https://calendly-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
invitee.createdfor only data about scheduled events by inviteesinvitee.canceledfor only data about canceled events by inviteesrouting_form_submission.createdfor only data about routing form submissions
invitee.created and invitee.canceled events will return all scheduled and canceled events across all team members in your organization with a single subscription giving you full transparency into the success of meetings.
Subscribing to the routing_form_submission.created event will fire anytime someone submits a routing form, whether they book or not. NOTE: The only allowed subscription scope for Routing form submissions is organization.
If you’re an owner or admin, the personal access token you generate will authenticate the POST request with:
- the
userscope if you want to return a response payload for data about all scheduled events for yourself - the
organizationscope if you want to return a response payload for data about all scheduled events for your organization
user scope to return a response payload for data about your own scheduled events.
To create a webhook subscription
Before you create a webhook subscription, ensure that you have theorganization or the user URI (see how to find the organization or user uri) depending on which events you want to scope for.
- Make a POST request to the
/webhook_subscriptionsendpoint. - Add your personal access token to authenticate the request.
- Set your server endpoint in the
urlvalue. - Set
invitee.created,orinvitee.canceled,orrouting_form_submission.created(or all 3) for theeventsvalue - Choose the
userororganizationvalue to isolate scheduled events to yourself or the organization.- Example request:
curl --request POST --url https://api.calendly.com/webhook_subscriptions --header 'Content-Type: application/json' --header 'authorization: Bearer <your personal access token>' --data '{ "url":"http://yourserverendpoint.com", "events":["invitee.created", "invitee.canceled"], "organization":"https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA", "scope":"organization"}'
- Example request:
- (Optional) To get data about an invitee such as name, email, and their answers to custom questions on an event booking page, use the URI property in the webhook payload to make a GET request to the
/scheduled_events/{event_uuid}/invitees/{invitee_uuid}endpoint.