How to Connect n8n to Calendly: Complete Integration Guide (2025)
A Calendly booking is a hot signal — someone wants your time. But by default that signal stops at your calendar. n8n lets you fan it out: create the CRM record, alert your team, send a personalized reminder, and log it for reporting, all before the meeting even happens.
This guide covers connecting n8n to Calendly using a personal access token and real-time webhooks, then building the automations that actually move revenue.
What Calendly + n8n unlocks
- Push every new booking into HubSpot, Pipedrive, or Salesforce as a contact and deal.
- Send a branded reminder email or WhatsApp message with prep instructions.
- Alert the assigned rep in Slack the second a meeting is booked.
- Detect cancellations and no-shows, then trigger a reschedule sequence.
- Log bookings to a sheet or data warehouse for pipeline reporting.
Step 1 — Create a Calendly personal access token
Calendly moved to OAuth and personal access tokens (the old API keys are deprecated). In Calendly, go to Integrations & apps → API & webhooks → Personal access tokens. Click Generate new token, name it n8n, and copy it. Note: personal access tokens require a paid Calendly plan (Standard or above). On the free plan you won't see the API section.
Step 2 — Add the credential in n8n
n8n's Calendly Trigger node authenticates with that token. Add a Calendly Trigger node, create a new credential, and paste your personal access token. Save — n8n verifies it against Calendly's /users/me endpoint. For actions beyond the trigger (looking up event details, listing invitees), use the HTTP Request node with a Header Auth credential: header Authorization, value Bearer YOUR_TOKEN.
Every booking should hit your CRM automatically
This template turns a Calendly booking into a HubSpot contact, a Slack alert, and a reminder email — instantly, no manual entry.
Step 3 — Set up the real-time trigger
The Calendly Trigger node registers a webhook automatically. Pick the events you care about — usually invitee.created (a booking) and invitee.canceled. Activate the workflow and n8n subscribes to those events. Now every booking pushes a payload containing the invitee's name, email, event type, scheduled time, and any answers to your booking questions — the raw material for personalization.
Step 4 — Build the booking-to-CRM flow
A high-impact first automation:
- Calendly Trigger — on
invitee.created. - CRM node (HubSpot/Pipedrive) — upsert the contact by email, create a deal in a 'Meeting Booked' stage.
- Slack node — notify the rep's channel with the name, company, and meeting time.
- Email/Gmail node — send a confirmation with a short prep checklist and any resources.
This turns a passive calendar entry into an active, tracked pipeline event.
Handling cancellations gracefully
Add a second branch on invitee.canceled. Update the CRM deal to 'Reschedule Needed', then fire a friendly email offering new times. Recovering even a fraction of cancellations pays for the automation many times over.
Frequently asked questions
Do I need a paid Calendly plan for the API?
Yes. Personal access tokens and webhooks require the Standard plan or higher. The free plan has no API access.
Can I use n8n to create Calendly bookings?
The Calendly API is mostly read/subscribe; it doesn't let you create bookings on someone's behalf. Use it to react to bookings and read scheduling links, not to book slots.
What's the difference between the trigger and polling?
The Calendly Trigger uses webhooks for instant delivery. There's no reliable polling fallback needed because webhooks are available on all paid plans.
Ready to automate this?
Skip the build. The Calendly → HubSpot + Slack Alert + Reminder Email template is ready to import into n8n — plug in your credentials and it runs. One-time purchase, yours forever, no subscription.