- Home
- Resources
- Integrations
- Calendly
Calendly n8n integrationAutomate Calendly with n8n.
Every booking made in Calendly can start a workflow. The Calendly n8n integration is trigger only: one node listens to 2 webhook events, an invitee booking and an invitee canceling, then passes the booking data on. No action node ships with it, so what happens next is yours to build.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Calendly n8n integration actually do?
The Calendly n8n integration links a scheduling tool to an automation platform through a single node, the Calendly Trigger. n8n registers a webhook with Calendly when you activate the workflow, which is to say a URL that Calendly calls on its own, and every booking or cancellation arrives there in seconds. Version 2 of the node covers 2 events in 1 family, and that is the whole surface, because Calendly ships no action node in n8n.
Start with the booking log, the simplest one. invitee.created fires the second an invitee confirms a slot, the payload carries the booking details, and a row lands in Google Sheets or a record in Airtable. Nobody retypes a meeting into a tracker again.
Then the cancellation loop. invitee.canceled hits the same workflow, a short message goes to the right channel in Slack, and the invitee gets a rebooking email through Gmail instead of leaving a silent gap in the calendar.
Third pattern, the pre-call brief. A new booking starts a lookup on the invitee, the workflow gathers what is already known about that account and drops a summary where the person taking the call will actually read it. All of it hangs off one trigger node, because that is all Calendly gives n8n.
That last point shapes everything else. With no action node, creating an event, canceling one on someone's behalf or reading the list of scheduled events is not a drag-and-drop affair. Those calls go through HTTP Request, which reaches any endpoint of the Calendly API and reuses the same credential, the connection saved once in n8n's Credentials menu, through predefined authentication. Worth knowing before promising a two-way sync.
The known limits are short and worth reading twice. Calendly only exposes webhooks on its paid plans. The webhook fires for bookings Calendly manages, so a meeting typed straight into a connected calendar stays invisible. The callback URL has to be public HTTPS. And the node has no wildcard, so each of the 2 events is either ticked or ignored. If the platform choice is still open, the n8n review digs into the trade-offs and the n8n training covers building the workflow that sits behind the trigger.
How do you connect Calendly to n8n?
- 01
Check the plan, then pick a method
The Calendly Trigger runs on Calendly webhooks, and webhook access comes with the paid Calendly plans, so settle that question first. Then choose between the two supported methods: a Personal Access Token, quick to generate, or OAuth2, which needs a developer app but connects a real Calendly account through a consent screen.
- 02
Generate the token or create the app
For the token, open Integrations & apps in Calendly, go to API & Webhooks, then use Generate new token under Your Personal Access Tokens, name it something like
n8n integrationand copy it once. For OAuth2, create an app from My apps, set Kind of app to Web, choose an Environment type, and paste the OAuth Redirect URL shown in n8n as the Redirect URI. - 03
Grant the four required scopes
The credential needs the same 4 scopes whichever method you picked:
users:readfor user information,webhooks:readandwebhooks:writeto list and create the webhook subscription the trigger depends on, andscheduled_events:readfor scheduled event information. In the OAuth app they go in the Scopes section before Save & Continue. A Personal Access Token needs exactly the same 4, selected when you create it.
What starts the workflow?
Calendly Trigger is the node that starts a workflow when something happens in Calendly. It listens to 2 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Calendly account.
What you see in n8n
Every event, by family
One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.
invitee.*2invitee.createdcanceled
Configuration notes
01Set up the Calendly Trigger
The node handles the webhook plumbing on its own. Activate the workflow and n8n registers its callback URL with Calendly, which then posts there within seconds of a booking. The calls come from Calendly, so there is no frequency to tune.
Key parameters
- Scope: required, and it decides whose bookings reach the workflow. Set it before activation, because it defines the perimeter the webhook subscription is created for.
- Events: tick what the workflow should receive. Version 2 of the node exposes 2 of them and offers no wildcard option, so an event left unticked simply never arrives.
02Event Created
This one fires when a new Calendly event is created, meaning an invitee picked a slot and confirmed it. n8n receives the booking payload straight away, so the node placed right after the trigger already has something concrete to work with, the invitee and the chosen slot included, without a single extra call to fetch them.
Key parameters
- Events: tick Event Created to subscribe to
invitee.created. Leave the other one out when new bookings matter and cancellations do not.
03Event Canceled
Calendly sends this one when a scheduled event is canceled. It arrives on the same webhook as the creation event, so a single workflow can take both and branch on whichever came in.
Need help automating Calendly with n8n?
A person reads every message.


