Calendly supports webhooks through our open API, allowing you to receive real-time updates when key events occur in your account. Use the v2 API to send event data to a specified URL when someone schedules or cancels a meeting, or submits a routing form.
For example, you can:
- Trigger actions when a new meeting is booked
- Update systems when an event is canceled
- Capture data when someone submits a routing form (even if no event is booked)
Before you begin
- You’ll need access to either a personal access token or an OAuth application for authentication.
- Make sure your endpoint is ready to receive and process webhook data.
- View the Calendly API Use Cases for more ideas and examples.
Webhook event types
Calendly supports the following webhook subscriptions:
- Invitee Created Events — when a new event is scheduled
- Invitee Canceled Events — when an existing event is canceled
- Routing Form Submissions — when someone submits a routing form (with or without booking)
Create a webhook
Follow the steps shown in our Developer Portal.
Once you have created your webhook subscription, Calendly sends event data to the endpoint you specify. View sample data in our Webhook Payload documentation.
Delete a webhook
To remove a webhook, visit our Delete Webhook Subscription guide.
Best practices
For developers:
- Use secure, HTTPS URLs for your webhook endpoints.
- Validate incoming webhook signatures for added security.
- Handle retries and avoid duplicate processing by checking event IDs.
For admins:
- Monitor who has created webhook subscriptions.
- If a user who created webhooks is removed from your organization, their webhooks remain active until manually deleted.