Connect Your AI Agent with Calendly for Slack

Integrate Calendly MCP server into your Slack workspace for instant access to your AI agent.

No credit card neededOr, book a demo
Documentation
Back to MCP Servers
Calendly
Calendly
Schedule meetings without the hassle. Never get double booked. Calendly works with your calendar to automate appointment scheduling.

Categories

Productivity

Available Tools

Tools that your AI agent can use through this MCP server to interact with Calendly

List Webhook Subscriptions

Get a list of Webhook Subscriptions for an Organization or User via GET /webhook_subscriptions. Requires organizationUri when scope is organization, or userUri when scope is user. Run List Organization Memberships first to obtain an organization or user URI. Example: call with scope set to organization and organizationUri set to https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA to return that organization's webhook subscriptions. See the documentation

List User Availability Schedules

List the availability schedules of the given user via GET /user_availability_schedules. Run List Organization Memberships first to obtain a user URI. Example: call with user set to https://api.calendly.com/users/AAAAAAAAAAAAAAAA to return that user's named availability schedules (e.g. Working Hours) with their weekly rules. See the documentation

List Organization Memberships

List the members of a Calendly organization via GET /organization_memberships, returning each membership's user URI, role, and email. Use this as the companion lookup action for user and organization URIs consumed by other tools. Supports optional role and email filters plus pagination. Example: called with no props, returns the authenticated user's memberships such as { user: { name: "Jane Doe", uri: "https://api.calendly.com/users/AAAAAAAAAAAAAAAA" }, organization: "https://api.calendly.com/organizations/BBBBBBBBBBBBBBBB", role: "owner" } — pass those URIs as the user/organization props in other actions. See the documentation.

List Groups

List the groups within a Calendly organization via GET /groups (requires organization admin/owner privilege). Use this to discover valid Group UUIDs for scoping List Events to a specific group. Run List Organization Memberships first to obtain an organization URI. Example: call with organization set to https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA to get groups such as { name: "Sales Team", uri: "https://api.calendly.com/groups/BBBBBBBBBBBBBBBB" }; pass the trailing BBBBBBBBBBBBBBBB segment as the Group UUID to List Events. See the documentation

List Events

List scheduled Calendly events. Scope the results by providing at most one of Organization URI, User URI, or Group UUID; if none is provided, events for the authenticated user are returned (supplying more than one raises a configuration error). Narrow the results further with an invitee email to return only events scheduled with that invitee. Filter by date range using Min Start Time and/or Max Start Time, both ISO 8601 datetimes in UTC (e.g. 2026-08-01T00:00:00Z). Each returned event includes a uri; the trailing UUID segment is the event UUID used by downstream actions such as Get Event, List Event Invitees, Get Event Invitee, and Cancel Event. Example: called with no props, returns the authenticated user's upcoming events, each like { name: "30 Minute Meeting", uri: "https://api.calendly.com/scheduled_events/a1b2c3d4-e5f6-7890-abcd-ef1234567890", status: "active" }. See the documentation

List Event Types

Retrieve the event types available to a user or organization via GET /event_types. Use this to discover valid event type URIs and UUIDs for scheduling flows. Provide either an Organization URI or a User URI; if neither is provided the authenticated user is used. Use List Organization Memberships to find user and organization URIs. Example: called with no props, returns the authenticated user's event types such as { name: "30 Minute Meeting", uuid: "AAAAAAAAAAAAAAAA" } — pass that uuid as the owner prop in Create a Scheduling Link. See the documentation.

List Event Invitees

List the invitees for a scheduled event via GET /scheduled_events/{uuid}/invitees. Run List Events first to obtain the event UUID. Example: call with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and status set to active to return only that event's non-canceled invitees, each with a uri whose trailing segment is the invitee UUID used by Get Event Invitee and Create Invitee No Show. See the documentation

Get Event Invitee

Retrieve the full invitee resource (including email, name, status, reschedule_url, and no_show) via GET /scheduled_events/{event_uuid}/invitees/{invitee_uuid}. Use the returned reschedule_url to direct an invitee to self-reschedule. Run List Events to find event UUIDs, then List Event Invitees to find invitee UUIDs. Example: with eventUuid set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and inviteeUuid set to f7e6d5c4-b3a2-1098-fedc-ba9876543210, returns that invitee's email, name, and status: "active". See the documentation.

Get Event

Gets information about a scheduled event via GET /scheduled_events/{uuid}. Provide either the Event UUID (from List Events) or the full Event URL. Example: with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890, returns the event's name, start/end times, status, and location. See the documentation.

Create a Scheduling Link

Creates a single-use scheduling link for an event type via POST /scheduling_links. Run List Event Types first to obtain the event type UUID. Example: with owner set to https://api.calendly.com/event_types/AAAAAAAAAAAAAAAA's UUID and maxEventCount set to 1, returns a booking URL like https://calendly.com/d/ABC-123/30-minute-meeting that can be scheduled once before expiring. See the documentation

Create Invitee No Show

Marks an invitee as a no-show via POST /invitee_no_shows. Use when an invitee didn't attend a scheduled event and you want to flag it in Calendly. Run List Events first to obtain the event UUID, then select the invitee from the dropdown (populated from List Event Invitees). Example: with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890, selecting invitee "Jane Doe" marks her as a no-show for that event. See the documentation.

Cancel Event

Cancel a scheduled Calendly event. Posts to POST /scheduled_events/{uuid}/cancellation. Run List Events first to obtain the event UUID. Example: with eventUuid set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and reason set to Schedule conflict - rescheduling needed, the event is canceled and all invitees are notified. See the documentation.