All integrations

Calendly

BUSINESS · CALENDAR

Event types, availability and booked meetings under that person’s own token.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

calendly_cancel_eventWRITE

DESTRUCTIVE — cancel a booked meeting. Calendly removes it from the host's calendar and emails every invitee that it was cancelled. There is NO un-cancel: Calendly publishes no endpoint that restores a cancelled event, and the only way back is to book again with calendly_create_event_invitee, which sends a fresh invitation. It cancels the whole event including a group event; it cannot cancel one invitee of a group event. Requires an explicit confirmation token. Plan: Every plan.

scheduled_events:write
calendly_create_contactWRITE

Create a Calendly Contact. Strictly additive: no existing contact changes and no mail is sent. This is also the inverse of calendly_delete_contact — read a contact with calendly_get_contact before deleting it and this call restores the same values. Plan: Every plan on which Calendly Contacts is enabled.

contacts:write
calendly_create_event_inviteeWRITE

Book a real meeting on the host's calendar for a named invitee. Calendly then does everything it does for a booking made on its own site: it sends the invitee a confirmation email, puts the meeting on the host's calendar, creates the conference link and runs the account's workflows. That mail cannot be unsent, which is why an explicit confirmation token is required. The booking IS reversible — calendly_cancel_event cancels it. `start_time` must be a slot calendly_list_event_type_available_times returned. Plan: Standard, Teams or Enterprise. A FREE plan answers 403. Trial accounts are capped at 5 bookings per user per day; paid non-Enterprise at 10/minute, 50/hour and 100/day.

scheduled_events:write
calendly_create_event_typeWRITE

Create a new one-on-one event type owned by a user. Strictly additive: nothing existing changes. Calendly publishes NO delete-event-type endpoint at any plan, so an agent cannot undo this — set `active` to false with calendly_update_event_type to take it out of circulation, and a person removes it in the Calendly UI. Plan: Every plan. One-on-one (kind 'solo') event types only — Calendly's API does not create team or round-robin types.

event_types:write
calendly_create_invitee_no_showWRITE

Mark an invitee as having failed to attend. Changes no calendar data and sends no mail; it records a flag Calendly reports on. Fully reversible with calendly_delete_invitee_no_show. Plan: Every plan.

scheduled_events:write
calendly_create_one_off_event_typeWRITE

Create a single-use event type for one specific meeting, with its own date settings and optional co-hosts, and return a scheduling link for it. Additive: no existing event type changes. Calendly publishes no delete for it either; it expires with its date setting. Co-host URIs come from calendly_list_organization_memberships. Plan: Every plan. Co-hosts require the hosts to be in the same organization.

event_types:write
calendly_create_scheduling_linkWRITE

Create a single-use booking link for an existing event type and return its `booking_url`. Anyone holding that URL can book ONE meeting with it and then it is spent; an unused link expires after 90 days. Nothing existing changes and no mail is sent — handing the URL to somebody is a separate, human act. Use calendly_create_share instead when the meeting needs different settings from the event type. Plan: Every plan.

scheduling_links:write
calendly_create_shareWRITE

Calendly's 'Customise once and share': create a single-use booking link that overrides an existing one-on-one event type's duration, date range, location or availability for one specific invitee, without creating a new event type. Anything not named is copied from the event type. Returns the booking URL. The source event type is NOT modified and no mail is sent. Plan: Every plan. One-on-one event types only.

shares:write
calendly_delete_contactWRITE

DESTRUCTIVE — delete a Calendly Contact. Calendly publishes no restore endpoint and no trash for contacts, so an agent cannot undo its own call. The recoverable path is to read the contact with calendly_get_contact first and re-create it with calendly_create_contact, which is the shipped inverse. Requires an explicit confirmation token. Plan: Every plan on which Calendly Contacts is enabled.

contacts:write
calendly_delete_invitee_dataWRITE

DESTRUCTIVE AND IRREVERSIBLE — submit a request to erase the personal data of up to 100 invitees from every event ever booked in the organization. This is Calendly's GDPR/CCPA erasure endpoint. It has NO inverse and cannot have one: the point of an erasure request is that the data is unrecoverable. Calendly takes up to 7 days to complete it and returns only an acknowledgement, so there is no undo window either. Requires an explicit confirmation token. Plan: ENTERPRISE ONLY. The `data_compliance:write` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it.

data_compliance:write
calendly_delete_invitee_no_showWRITE

Undo a no-show mark. This is the inverse of calendly_create_invitee_no_show and removes only the flag — the meeting, the invitee and every other record are untouched. Plan: Every plan.

scheduled_events:write
calendly_delete_meeting_recapWRITE

DESTRUCTIVE — delete a meeting recap and the transcript under it. Calendly publishes no restore for either and no endpoint that re-runs the notetaker over a past meeting, so this is a one-way door: the recording of what was said in that meeting is gone. Read it with calendly_get_meeting_recap and calendly_get_meeting_recap_transcript first if any of it matters. Requires an explicit confirmation token. It is also the only way to remove a recap whose public share link has already been circulated. Plan: A paid plan with the Calendly Notetaker add-on.

meeting_recaps:write
calendly_delete_scheduled_event_dataWRITE

DESTRUCTIVE AND IRREVERSIBLE — submit a request to erase every scheduled event in a past time window across the whole organization. The window may span at most 24 months and must be entirely in the past. This has NO inverse and cannot have one. Calendly takes up to 7 days to complete it and returns only an acknowledgement. Read calendly_list_events over the same window first if anything in it matters. Requires an explicit confirmation token. Plan: ENTERPRISE ONLY. The `data_compliance:write` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it.

data_compliance:write
calendly_delete_webhook_subscriptionWRITE

DESTRUCTIVE — delete a webhook subscription. Calendly stops POSTing to its URL immediately and publishes no restore. Agentic Fabriq deliberately ships NO create-webhook tool, because creating one takes a caller-chosen destination URL, so this delete has no matching create here: it can stop a data flow it cannot start, which is the safe direction. Re-creating a subscription is a human action in Calendly or in whatever system owns that integration. Requires an explicit confirmation token. Plan: Standard, Teams or Enterprise. Deleting an organization-scoped subscription requires an admin or owner role.

webhooks:write
calendly_get_contactREAD

Return one contact in full: every email address and phone number on it, job title, company, location, LinkedIn and custom fields. READ THIS BEFORE calendly_update_contact — sending `emails` or `phone_numbers` REPLACES the whole list, and this is the only place the current list can be recovered from. Plan: Every plan on which Calendly Contacts is enabled.

contacts:read
calendly_get_current_userREAD

Return the Calendly account this connection belongs to: name, email, timezone, scheduling URL, its user URI and its CURRENT ORGANIZATION URI. Start here. Almost every other Calendly tool takes a `user` or `organization` URI and those URIs are not guessable, so this is the entry point that supplies them. Plan: Every plan, including Free.

users:read
calendly_get_eventREAD

Return one booked meeting in full: start and end time, status, event type, host memberships, invitee counter and location. The location object carries the conference JOIN LINK and, for Zoom, the meeting PASSCODE — anyone given those can join the meeting, so treat the response as meeting-access material. Plan: Every plan.

scheduled_events:read
calendly_get_event_inviteeREAD

Return one invitee of one booked meeting in full, including their answers to the booking questions, payment details when the event type charges, no-show record, and the `cancel_url` / `reschedule_url` capability links described on calendly_list_event_invitees. Plan: Every plan.

scheduled_events:read
calendly_get_event_typeREAD

Return one event type in full: name, duration and duration options, description, colour, locations, custom questions, scheduling URL and whether it is hidden from the owner's main page. Read this before calendly_update_event_type — the update replaces only what it names, and this is where the current values come from. Plan: Every plan.

event_types:read
calendly_get_groupREAD

Return one group's name, organization and group-page URL. Plan: Standard (Professional), Teams, Teams Plus or Enterprise.

groups:read
calendly_get_group_relationshipREAD

Return one group relationship: which person, which group, and whether it is a membership or an admin record. Plan: Standard (Professional), Teams, Teams Plus or Enterprise.

groups:read
calendly_get_invitee_no_showREAD

Return one no-show record: which invitee it marks and when it was created. Plan: Every plan.

scheduled_events:read
calendly_get_meeting_recapREAD

Return one meeting recap: its summary, action items, discussion notes, attendees, meeting times and location. The recap's PUBLIC SHARE LINK is withheld — it is an unauthenticated URL that hands anyone holding it the whole recap with no Agentic Fabriq audit record — and replaced with a marker naming this tool. Read the words through here. Plan: A paid plan with the Calendly Notetaker add-on.

meeting_recaps:read
calendly_get_meeting_recap_transcriptREAD

Return the plain-text transcript of a recorded meeting, one `Speaker: words` line per segment. This is everything everyone said, so grant it separately from the summary if the summary is all an agent needs. Plan: A paid plan with the Calendly Notetaker add-on.

meeting_recaps:read
calendly_get_organizationREAD

Return one organization's name, plan stage and URI. Plan: Every plan. A Free user's account is still an organization of one.

organizations:read
calendly_get_organization_invitationREAD

Return one organization invitation: the email it was sent to, its status, when it was sent and when it was last updated. Plan: Every plan. Requires an admin or owner role.

organizations:read
calendly_get_organization_membershipREAD

Return one membership: the user it belongs to, their role, and the organization. Plan: Every plan.

organizations:read
calendly_get_routing_formREAD

Return one routing form in full, including every question it asks and their answer choices. Read it before interpreting a submission — a submission's answers are keyed to these questions. Plan: Teams, Teams Plus or Enterprise.

routing_forms:read
calendly_get_routing_form_submissionREAD

Return one routing form submission in full: who submitted it, every answer they gave, the tracking parameters carried in, and the result — the event type they were routed to, the external URL they were sent to, or the custom message they were shown. Plan: Teams, Teams Plus or Enterprise.

routing_forms:read
calendly_get_sample_webhook_dataREAD

Return a synthetic example of the payload Calendly would POST for one webhook event type, scoped to an organization, user or group. Nothing is sent anywhere and no real customer data is returned — it is the shape, for building or debugging the receiving end. Plan: Standard, Teams or Enterprise.

webhooks:read
calendly_get_userREAD

Return one Calendly user's name, email, timezone, scheduling URL and organization. Pass the uuid from a user URI (the last path segment of https://api.calendly.com/users/XXXX), or the literal `me` for the connected account. Plan: Every plan, including Free.

users:read
calendly_get_user_availability_scheduleREAD

Return one availability schedule in full — its name, timezone and every weekly and date-specific rule with their intervals. Plan: Every plan.

availability:read
calendly_get_webhook_subscriptionREAD

Return one webhook subscription: its callback URL, the events it is subscribed to, whether it is active or disabled, its scope and who created it. The response carries no signing key — Calendly never returns one. Plan: Standard, Teams or Enterprise.

webhooks:read
calendly_invite_user_to_organizationWRITE

Invite an email address to join a Calendly organization. Calendly emails the address a join link immediately, and that mail cannot be unsent — which is why an explicit confirmation token is required. Accepting the invitation consumes a paid SEAT on the organization's subscription, so this call costs the customer money. It IS reversible before acceptance: calendly_revoke_organization_invitation invalidates the link, and calendly_remove_user_from_organization removes the member afterwards. Plan: Every plan that has an organization. Requires an admin or owner role.

organizations:write
calendly_list_activity_log_entriesREAD

List an organization's audit log: who did what, when, from where. Supports a search term with `|` (or) and `+` (and) operators, filtering by actor, action, namespace and time window. This is the diagnostic read that makes every other Calendly write supportable — it is the only place a change made by an agent, or by a person, can be traced afterwards. Plan: ENTERPRISE ONLY. Calendly's own FAQ names this as one of three Enterprise-gated endpoints; every other plan answers an error. The `activity_log:read` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it.

activity_log:read
calendly_list_contactsREAD

List Calendly Contacts, filtered on email, phone number, name, job title, company, city, state, country or timezone. Each contact carries its URI, every email and phone number on it, and its custom fields. This is the read that supplies a contact URI to calendly_get_contact, calendly_update_contact and calendly_delete_contact. Plan: Every plan on which Calendly Contacts is enabled.

contacts:read
calendly_list_event_inviteesREAD

List the people invited to one booked meeting, with each invitee's name, email, timezone, answers to the booking questions, UTM tracking and their invitee URI. The response also carries `cancel_url` and `reschedule_url`: unauthenticated Calendly links that let whoever holds them cancel or reschedule the meeting. Calendly puts the same two links in every confirmation email, and `reschedule_url` is the ONLY way to reschedule — Calendly publishes no reschedule endpoint — so they are returned rather than withheld. Treat them as capability links. Plan: Every plan.

scheduled_events:read
calendly_list_event_type_availability_schedulesREAD

Return the availability rules an event type books against, per host. READ THIS BEFORE calendly_update_event_type_availability_schedule: that call replaces the entire rule set, so this is the only place the current rules can be recovered from. Plan: Every plan.

availability:read
calendly_list_event_type_available_timesREAD

List the bookable start times for one event type inside a date range. The range may be at most 31 days and start_time may not be in the past. This is the read that supplies `start_time` to calendly_create_event_invitee — booking a time this call did not return is refused by Calendly. Not paginated. Plan: Every plan.

availability:read
calendly_list_event_type_hostsREAD

List the users who host one event type, with each host's user URI. Use it to find out who a round-robin or collective event type actually routes to before reading their availability. Plan: Every plan.

event_types:read
calendly_list_event_typesREAD

List the event types (the bookable meeting templates) belonging to a user or to an organization. EXACTLY ONE of `user` or `organization` is required — Calendly rejects a call with neither. Returns each event type's URI, name, duration, active flag, scheduling URL and kind. Every booking tool needs an event-type URI and this is where they come from. Plan: Every plan. `organization`-wide listing needs an admin or owner role.

event_types:read
calendly_list_eventsREAD

List booked meetings, filtered by user, organization, group, invitee email, status or start-time window. Pass `user` alone for your own meetings across every organization you have belonged to. This returns Calendly bookings only — meetings booked directly on the underlying calendar are invisible here and show up in calendly_list_user_busy_times instead. Each event carries its URI, start and end time, status, location and the conference join link, INCLUDING any conference passcode the provider issued. Plan: Every plan. `organization` needs an admin or owner role; `group` needs an organization admin/owner or group admin.

scheduled_events:read
calendly_list_group_relationshipsREAD

List who belongs to which group and who administers it. One owner has a single membership record but may hold several admin records, so this is the read that answers 'which groups can this person manage'. Plan: Standard (Professional), Teams, Teams Plus or Enterprise.

groups:read
calendly_list_groupsREAD

List an organization's groups, each with its URI and name. Groups are how Calendly organises members under admins; a group URI is what calendly_list_events and calendly_list_webhook_subscriptions take to narrow to one team. Plan: Standard (Professional), Teams, Teams Plus or Enterprise. Groups do not exist on Free.

groups:read
calendly_list_meeting_recapsREAD

List the AI meeting recaps this user can reach — Calendly-booked meetings and external ones alike — filtered by scheduled event, attendee email, date range or processing status. By default only recaps whose content is ready are returned. Each entry carries the recap URI needed by calendly_get_meeting_recap and calendly_get_meeting_recap_transcript. Any public share link Calendly issued for a recap is withheld from the response; read the content through these tools instead so the read is audited. Plan: A paid plan with the Calendly Notetaker add-on.

meeting_recaps:read
calendly_list_organization_invitationsREAD

List invitations sent to join an organization, filtered by email or status. Each entry carries the invited email address, its status and the invitation URI that calendly_revoke_organization_invitation takes. This is the read that shows whether an invitation an agent sent has been accepted. Plan: Every plan. Requires an admin or owner role.

organizations:read
calendly_list_organization_membershipsREAD

List who is in an organization, with each member's role, user URI, name, email and the membership URI. This is the directory read: it supplies the user URIs every availability and event tool needs, and the membership URIs calendly_remove_user_from_organization and calendly_list_group_relationships take. It is also the second way to discover your own organization URI. Plan: Every plan. Listing the whole organization needs an admin or owner role.

organizations:read
calendly_list_outgoing_communicationsREAD

List the SMS and email messages Calendly sent on the organization's behalf in a time window, with each message's type, recipient and send time. This is the delivery-diagnostic read: when an invitee says they never got the confirmation, this is where the answer is. Plan: ENTERPRISE ONLY. The `outgoing_communications:read` scope is OPTIONAL in Agentic Fabriq and is not requested unless an administrator asks for it.

outgoing_communications:read
calendly_list_routing_form_submissionsREAD

List the submissions made to one routing form, each with its URI, submitter, questions and answers, tracking parameters and where the routing sent them. This is the lead-qualification feed: it contains everything a prospect typed into the form, so grant it with that in mind. Plan: Teams, Teams Plus or Enterprise.

routing_forms:read
calendly_list_routing_formsREAD

List an organization's routing forms with each form's URI, name and status. A routing form is the qualification questionnaire that decides which event type a lead is sent to; this read supplies the form URI calendly_list_routing_form_submissions takes. Plan: Teams, Teams Plus or Enterprise — routing forms are not available on Free or Standard.

routing_forms:read
calendly_list_user_availability_schedulesREAD

List a user's named availability schedules (Working Hours and any others) with each schedule's URI, timezone, default flag and its weekly rules. Not paginated. Plan: Every plan.

availability:read
calendly_list_user_busy_timesREAD

List everything occupying a user's calendar in a date range, both Calendly bookings and external calendar events. The range may be at most 7 days and start_time may not be in the past. This is the read that answers 'when is this person free' — the busy blocks it returns include events booked outside Calendly, which calendly_list_events cannot see. Not paginated. Plan: Every plan. External-calendar events appear only for calendars with 'Check for conflicts' switched on.

availability:read
calendly_list_user_meeting_locationsREAD

List the meeting locations a user has configured — which conferencing providers are connected, which phone and physical locations exist. Read it before creating or updating an event type: a location kind this account has not configured is rejected by Calendly. Not paginated. Plan: Every plan.

locations:read
calendly_list_webhook_subscriptionsREAD

List the webhook subscriptions on an organization, user or group, with each one's callback URL, subscribed events, state and creator. This is the diagnostic read that answers 'where is our Calendly data being sent': a subscription somebody created months ago is still POSTing every booking to whatever URL it names, and this is the only way to see it. `organization` and `scope` are both required by Calendly. Plan: Standard, Teams or Enterprise — webhooks are not available on Free. Organization-scope listing needs an admin or owner role.

webhooks:read
calendly_remove_user_from_organizationWRITE

DESTRUCTIVE — remove a member from a Calendly organization. The person becomes a solo account: their organization-scoped webhooks stop firing, they leave every group, and the organization loses visibility of anything they schedule afterwards. Their already-booked meetings survive and stay attached to the organization. The inverse is calendly_invite_user_to_organization, which sends a fresh invitation the person must accept again. Requires an explicit confirmation token. Plan: Every plan that has an organization. Requires an admin role; an organization OWNER cannot be removed at all.

organizations:write
calendly_revoke_organization_invitationWRITE

Revoke an organization invitation that has not been accepted. The join link stops working immediately. This is the inverse of calendly_invite_user_to_organization and it is deliberately NOT confirmation-gated: it withdraws access rather than granting it, and making it harder to call than the invitation would be the wrong asymmetry. Plan: Every plan that has an organization. Requires an admin or owner role.

organizations:write
calendly_update_contactWRITE

DESTRUCTIVE — update a contact. Ordinary fields (name, company, job title, location, LinkedIn, custom fields) are changed in place and need no confirmation. `emails` and `phone_numbers` are different: Calendly's own documentation warns that sending either OVERWRITES ALL EXISTING values for that contact, so a partial list silently deletes the rest. Naming either one therefore requires an explicit confirmation token; read the current list with calendly_get_contact first and send everything you want to keep. Plan: Every plan on which Calendly Contacts is enabled.

contacts:write
calendly_update_event_typeWRITE

Change a one-on-one event type's name, description, duration, colour, locale, locations or active flag. Only the fields named are changed. Reversible: read the current values with calendly_get_event_type first and write them back to undo. Setting `active` to false is how an event type is retired, because Calendly publishes no delete endpoint. Plan: Every plan. One-on-one (kind 'solo') event types only.

event_types:write
calendly_update_event_type_availability_scheduleWRITE

DESTRUCTIVE — replace the availability rules an event type books against. Calendly's own documentation warns that updating rules OVERWRITES ALL EXISTING RULES for the event type; there is no merge and no restore. Read calendly_list_event_type_availability_schedules first and send the rules you want to keep. An admin may pass `user` to rewrite a COLLEAGUE'S schedule for this event type. Requires an explicit confirmation token naming the loss. Plan: Every plan. Passing `user` to change a colleague's schedule requires an admin or owner role.

availability:write
calendly_update_meeting_recapWRITE

Rewrite a recap's summary, action items or discussion notes in Markdown. Only the sections named are changed. Reversible: read the current text with calendly_get_meeting_recap and write it back. Everyone who can see the recap sees the edit, including anyone holding its public share link. Plan: A paid plan with the Calendly Notetaker add-on.

meeting_recaps:write

Put Calendly behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.