# Calendly — MCP server on mcp.ai > Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders, helping individuals and teams avoid email back-and-forth By: mcp.ai · official Page: https://mcp.ai/calendly ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_calendly?ms=1781542320000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/calendly/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/calendly/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/calendly/skill.md Postman collection (v2.1): https://mcp.ai/calendly/postman.json ## Tools - calendly_cancel_event(uuid: string, reason?: string) — Permanently cancels an existing, active scheduled event by its `uuid`, optionally providing a `reason`, which may trigger notifications to invitees. - calendly_create_invitee_no_show(invitee?: string) — Marks an invitee, identified by their existing and valid uri, as a 'no show' for a scheduled event. - calendly_create_one_off_event_type(host: string, name: string, duration: integer, location?: object, timezone?: string, date_setting: object, only_weekdays?: boolean) — Creates a temporary calendly one-off event type for unique meetings outside regular availability, requiring valid host/co-host uris, a future date/range for `date setting`, and a positive `duration`. - calendly_create_scheduling_link(owner: string, owner_type?: string, max_event_count: integer) — Create a single-use scheduling link. creates a scheduling link that can be used to book an event. the link allows invitees to schedule up to the specified maximum number of events. once the limit is r - calendly_create_share(name?: string, duration?: integer, end_date?: string, event_type: string, start_date?: string, period_type?: string, hide_location?: boolean, duration_options?: integer[], max_booking_time?: integer, location_configurations?: object[], availability__rule__rules?: object[], availability__rule__timezone?: string) — Creates a customizable, one-time share link for a calendly event type, allowing specific overrides to its settings (e.g., duration, availability, location) without altering the original event type. - calendly_create_single_use_scheduling_link(owner: string, owner_type: string, max_event_count: integer) — Creates a one-time, single-use scheduling link for an active calendly event type, expiring after one booking. - calendly_create_webhook_subscription(url: string, user?: string, group?: string, scope: string, events: string[], signing_key?: string, organization: string) — Creates a calendly webhook subscription to notify a specified `url` (which must be a publicly accessible https endpoint) for selected `events` within a given `organization` and `scope`. - calendly_delete_invitee_data(emails: string[]) — Permanently removes all invitee data associated with the provided emails from past organization events, for data privacy compliance (requires enterprise subscription; deletion may take up to one week) - calendly_delete_invitee_no_show(uuid: string) — Deletes an invitee no-show record by its `uuid` to reverse an invitee's 'no-show' status; the `uuid` must refer to an existing record. - calendly_delete_scheduled_event_data(end_time: string, start_time: string) — For enterprise users, initiates deletion of an organization's scheduled event data between a `start time` and `end time` (inclusive, where `start time` must be <= `end time`); actual data deletion may - calendly_delete_webhook_subscription(webhook_uuid: string) — Deletes an existing webhook subscription to stop calendly sending event notifications to its registered callback url; this operation is idempotent. - calendly_get_current_user() — Retrieves detailed information about the currently authenticated calendly user. - calendly_get_event(uuid: string) — Use to retrieve a specific calendly scheduled event by its uuid, provided the event exists in the user's calendly account. - calendly_get_event_invitee(event_uuid: string, invitee_uuid: string) — Retrieves detailed information about a specific invitee of a scheduled event, using their unique uuids. - calendly_get_event_type(uuid: string) — Retrieves details for a specific calendly event type, identified by its uuid, which must be valid and correspond to an existing event type. - calendly_get_group(uuid: string) — Retrieves all attributes of a specific calendly group by its uuid; the group must exist. - calendly_get_group_relationship(uuid: string) — Retrieves a specific calendly group relationship by its valid and existing uuid, providing details on user-group associations and membership. - calendly_get_invitee_no_show(uuid: string) — Retrieves details for a specific invitee no show record by its uuid; an invitee no show is marked when an invitee does not attend a scheduled event. - calendly_get_organization_invitation(uuid: string, org_uuid: string) — Retrieves a specific calendly organization invitation using its uuid and the parent organization's uuid. - calendly_get_organization_membership(uuid: string) — Retrieves a specific calendly organization membership by its uuid, returning all its attributes. - calendly_get_routing_form(uuid: string) — Retrieves a specific routing form by its uuid, providing its configuration details including questions and routing logic. - calendly_get_user(uuid: string) — Retrieves comprehensive details for an existing calendly user. - calendly_get_user_availability_schedule(uuid: string) — Retrieves an existing user availability schedule by its uuid; this schedule defines the user's default hours of availability. - calendly_get_webhook_subscription(webhook_uuid: string) — Retrieves the details of an existing webhook subscription, identified by its uuid, including its callback url, subscribed events, scope, and state. - calendly_invite_user_to_organization(uuid: string, email: string) — Invites a user to the specified calendly organization by email, if they aren't already a member and lack a pending invitation to it. - calendly_list_activity_log_entries(sort?: string[], actor?: string[], count?: integer, action?: string[], namespace?: string[], page_token?: string, search_term?: string, organization: string, max_occurred_at?: string, min_occurred_at?: string) — Retrieves a list of activity log entries for a specified calendly organization (requires an active enterprise subscription), supporting filtering, sorting, and pagination. - calendly_list_event_invitees(sort?: string, uuid: string, count?: integer, email?: string, status?: string, page_token?: string) — Retrieves a list of invitees for a specified calendly event uuid, with options to filter by status or email, and sort by creation time. - calendly_list_event_type_available_times(end_time: string, event_type: string, start_time: string) — Fetches available time slots for a calendly event type within a specified time range; results are not paginated. - calendly_list_event_type_hosts(count?: integer, event_type: string, page_token?: string) — Retrieves a list of hosts (users) assigned to a specific, existing calendly event type, identified by its uri. - calendly_list_events(sort?: string, user?: string, count?: integer, group?: string, status?: string, page_token?: string, organization?: string, invitee_email?: string, max_start_time?: string, min_start_time?: string) — Retrieves a list of scheduled calendly events; requires `user`, `organization`, `group`, or `invitee email` for scope, and admin rights may be needed when filtering by `organization` or `group`. - calendly_list_group_relationships(count?: integer, group?: string, owner?: string, page_token?: string, organization?: string) — Retrieves a list of group relationships defining an owner's role (e.g., member, admin) within a group; an owner can have one membership per group but multiple admin roles across different groups. - calendly_list_groups(count?: integer, page_token?: string, organization: string) — Returns a list of groups for a specified calendly organization uri, supporting pagination. - calendly_list_organization_invitations(sort?: string, uuid: string, count?: integer, email?: string, status?: string, page_token?: string) — Retrieves a list of invitations for a specific organization, identified by its uuid. - calendly_list_organization_memberships(user?: string, count?: integer, email?: string, page_token?: string, organization?: string) — Retrieves a list of organization memberships. - calendly_list_outgoing_communications(count?: integer, page_token?: string, organization: string, max_created_at?: string, min_created_at?: string) — Retrieves a list of outgoing sms communications for a specified organization; requires an enterprise subscription and if filtering by creation date, both `min created at` and `max created at` must be - calendly_list_routing_forms(sort?: string, count?: integer, page_token?: string, organization: string) — Retrieves routing forms for a specified organization; routing forms are questionnaires used to direct invitees to appropriate booking pages or external urls. - calendly_list_user_availability_schedules(user: string) — Retrieves all availability schedules for the specified calendly user. - calendly_list_user_busy_times(user: string, end_time: string, start_time: string) — Fetches a user's busy time intervals (internal and external calendar events) in ascending order for a period up to 7 days; keyset pagination is not supported. - calendly_list_user_s_event_types(sort?: string, user?: string, count?: integer, active?: boolean, page_token?: string, organization?: string, admin_managed?: boolean, user_availability_schedule?: string) — Retrieves event types for a user or organization; requires either the `user` or `organization` uri. - calendly_list_webhook_subscriptions(sort?: string, user?: string, count?: integer, group?: string, scope: string, page_token?: string, organization: string) — Retrieves webhook subscriptions for a calendly organization; `scope` determines if `user` or `group` uri is also required for filtering. - calendly_remove_user_from_organization(uuid: string) — Removes a user (who is not an owner) from an organization by their membership uuid, requiring administrative privileges. - calendly_revoke_user_s_organization_invitation(uuid: string, org_uuid: string) — Revokes a pending and revokable (not yet accepted or expired) organization invitation using its uuid and the organization's uuid, rendering the invitation link invalid. ## Links Docs: https://mcp.ai/docs/mcps/calendly Website: https://mcp.ai/mcps/calendly