Skip to main content

Calendly

Read Calendly event types and bookings, find open times, mint booking links, cancel meetings.

Connect a Calendly account with a personal access token to work with its scheduling: list the event types that can be booked, list and read bookings with their invitees and answers to booking questions, find the bookable slots on an event type, see when a user is busy across their synced calendars, mint a single-use booking link to send someone, and cancel a booking with a reason. Calendly's API deliberately cannot book on an invitee's behalf - the booking link is how a meeting gets made.

Connect

Credential fieldRequiredWhere it comes from
Personal access token (API_TOKEN)YesFrom Calendly → Integrations → API & webhooks → Personal access tokens. Sent as “Authorization: Bearer <token>”.

Tools

ToolAccessWhat it does
Who am I (yekar.calendly.me)ReadThe Calendly account this connection acts as, with the two URIs every other tool takes as a parameter: the user URI and its organization URI. Start here when you have neither - most Calendly endpoints require one and will not default.
List event types (yekar.calendly.list-event-types)ReadList the meeting types that can be booked - their duration, their public booking URL and whether they are active. This is where the event type URI comes from that Find available times and Create booking link both need. Calendly reports no total, so the absence of a cursor is the only 'that was all' there is.
List bookings (yekar.calendly.list-bookings)ReadList the meetings booked through Calendly, filtered by time window, status or invitee. Cancelled bookings are included unless you filter them out, and they carry who cancelled and why. Each row's invitee counts are Calendly's own numbers, not a count of anything fetched. Returns one page and a cursor; Calendly reports no total.
Get booking (yekar.calendly.get-booking)ReadRead one booking: when it is, who is hosting, the join link, and - if it was cancelled - who cancelled it and why. The people who booked it are a separate call: List invitees.
List invitees (yekar.calendly.list-invitees)ReadThe people who booked a meeting: their email, time zone, no-show flag, per-person reschedule and cancel links, and their answers to the event type's booking questions. An invitee's status is their own - someone can be canceled out of a booking that is still active for everyone else.
Find available times (yekar.calendly.find-available-times)ReadThe bookable slots on an event type in a window of at most 7 days - Calendly's own hard limit, so a month means several calls. The window must start in the future. Each slot carries a scheduling URL that opens the booking page on that time; Calendly's API cannot create a booking directly, so that link (or Create booking link) is how one actually gets made.
Find busy times (yekar.calendly.find-busy-times)ReadWhen a Calendly user is unavailable in a window of at most 7 days: their Calendly bookings AND the blocks synced from their connected calendars. This is the raw busy view - it does NOT account for an event type's availability schedule, so a slot that is free here can still be unbookable. Use Find available times to answer "when can I book".
Create booking link (yekar.calendly.create-booking-link)WriteMint a single-use scheduling link for an event type - the thing to send someone so they pick their own slot. Calendly's API cannot book a meeting on someone's behalf at all, so this (or a slot's scheduling URL from Find available times) is how a booking actually gets made. Each call mints a NEW link; re-running does not return the previous one.
Cancel booking (yekar.calendly.cancel-booking)WriteCancel a booked meeting as the host. Calendly emails the invitees the cancellation and the reason - there is no silent mode. It cannot be undone: a cancelled booking is terminal, and rebooking means a new booking. Cancelling an already-cancelled one is an error, not a no-op.

Notes

  • Create a personal access token at Calendly → Integrations → API & webhooks → Personal access tokens, and paste it to connect - tools act as that Calendly account.
  • API access is a paid-plan feature, and some endpoints need a higher tier. A 403 here usually means the plan, not the permission - the error says so.
  • Calendly cannot create a booking through the API. To get a meeting booked, send the person a link from Create booking link, or a slot's scheduling URL from Find available times.
  • Availability answers cover at most 7 days per call - ask for a week and page forward.
  • Resources are addressed by URI (https://api.calendly.com/scheduled_events/<uuid>); every tool here also accepts the bare uuid.
  • Cancelling emails the invitees the reason you give, and cannot be undone.