productivityoauth2

Calendly

Automated scheduling links.

Verdict

Calendly's MCP lets your team manage scheduling workflows directly from Switchy Spaces. @Mention it to cancel meetings, mark no-shows, create one-off event types for unique sessions, or generate single-use booking links without leaving the conversation. Sales reps can spin up custom scheduling links mid-chat; support leads can track no-shows for follow-up; ops teams can automate webhook subscriptions for event notifications. Requires OAuth with read/write scopes across events, event types, and webhooks. Best for teams already using Calendly who want scheduling actions embedded in their AI workspace rather than switching tabs.

Common use cases

  • Cancel meetings from Slack threads without context switching
  • Generate single-use booking links for VIP prospects
  • Mark no-shows after standup for follow-up tracking
  • Create one-off event types for ad-hoc customer demos
  • Set up webhook subscriptions to log bookings in Notion

Integration

Vendor
Calendly
Category
productivity
Auth
OAUTH2
Tools
42
Composio slug
calendly

Tools

  • Cancel event

    Permanently cancels an existing, active scheduled event by its `uuid`, optionally providing a `reason`, which may trigger notifications to invitees.

  • Create an invitee no-show

    Marks an invitee, identified by their existing and valid uri, as a 'no show' for a scheduled event.

  • Create One-Off Event Type

    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`.

  • Create scheduling link

    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 reached, the link becomes inactive.

  • Create share

    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.

  • Create single use scheduling link

    Creates a one-time, single-use scheduling link for an active calendly event type, expiring after one booking.

  • Create webhook subscription

    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`.

  • Delete invitee data
    destructive

    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).

  • Delete invitee no show
    destructive

    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.

  • Delete scheduled event data
    destructive

    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 take up to 7 days to complete.

  • Delete webhook subscription
    destructive

    Deletes an existing webhook subscription to stop calendly sending event notifications to its registered callback url; this operation is idempotent.

  • Get current user

    Retrieves detailed information about the currently authenticated calendly user.

  • Get event

    Use to retrieve a specific calendly scheduled event by its uuid, provided the event exists in the user's calendly account.

  • Get event invitee

    Retrieves detailed information about a specific invitee of a scheduled event, using their unique uuids.

  • Get event type

    Retrieves details for a specific calendly event type, identified by its uuid, which must be valid and correspond to an existing event type.

  • Get group

    Retrieves all attributes of a specific calendly group by its uuid; the group must exist.

  • Get group relationship

    Retrieves a specific calendly group relationship by its valid and existing uuid, providing details on user-group associations and membership.

  • Get invitee no show

    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.

  • Get organization invitation

    Retrieves a specific calendly organization invitation using its uuid and the parent organization's uuid.

  • Get organization membership

    Retrieves a specific calendly organization membership by its uuid, returning all its attributes.

  • Get routing form

    Retrieves a specific routing form by its uuid, providing its configuration details including questions and routing logic.

  • Get user

    Retrieves comprehensive details for an existing calendly user.

  • Get user availability schedule

    Retrieves an existing user availability schedule by its uuid; this schedule defines the user's default hours of availability.

  • Get webhook subscription

    Retrieves the details of an existing webhook subscription, identified by its uuid, including its callback url, subscribed events, scope, and state.

  • Invite user to organization

    Invites a user to the specified calendly organization by email, if they aren't already a member and lack a pending invitation to it.

  • List activity log entries

    Retrieves a list of activity log entries for a specified calendly organization (requires an active enterprise subscription), supporting filtering, sorting, and pagination.

  • List event invitees

    Retrieves a list of invitees for a specified calendly event uuid, with options to filter by status or email, and sort by creation time.

  • List events

    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`.

  • List event type available times

    Fetches available time slots for a calendly event type within a specified time range; results are not paginated.

  • List event type hosts

    Retrieves a list of hosts (users) assigned to a specific, existing calendly event type, identified by its uri.

  • List group relationships

    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.

  • List groups

    Returns a list of groups for a specified calendly organization uri, supporting pagination.

  • List organization invitations

    Retrieves a list of invitations for a specific organization, identified by its uuid.

  • List organization memberships

    Retrieves a list of organization memberships.

  • List outgoing communications

    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 provided to form a valid range.

  • List routing forms

    Retrieves routing forms for a specified organization; routing forms are questionnaires used to direct invitees to appropriate booking pages or external urls.

  • List user availability schedules

    Retrieves all availability schedules for the specified calendly user.

  • List user busy times

    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.

  • List user event types

    Retrieves event types for a user or organization; requires either the `user` or `organization` uri.

  • List webhook subscriptions

    Retrieves webhook subscriptions for a calendly organization; `scope` determines if `user` or `group` uri is also required for filtering.

  • Remove user from organization
    destructive

    Removes a user (who is not an owner) from an organization by their membership uuid, requiring administrative privileges.

  • Revoke a user's organization invitation
    destructive

    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.

Setup

Setup guide

  1. 11. In Switchy, open Settings → Integrations → Add MCP and select Calendly. 2. Click Connect, which opens Calendly's OAuth consent screen in a new tab. 3. Sign in with your Calendly account (must have admin or owner role for full tool access). 4. Grant permissions for reading and writing events, event types, webhooks, and invitee data — these scopes enable all 42 tools. 5. After authorizing, Switchy redirects you back and confirms the connection. 6. Open any Space, type '@Calendly list my event types' and send — if it returns your active event types, the integration works. 7. To invoke a tool, @mention Calendly with a clear instruction like '@Calendly cancel event uuid abc123 reason rescheduling conflict' and the MCP executes it immediately.

What teammates see: by default, memories from Calendly are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Cancel Upcoming Event

@Calendly cancel the event with uuid [paste uuid here] and set the reason to 'internal scheduling conflict requiring postponement'.
Open in a Space →

Create One-Off Meeting

@Calendly create a one-off event type named 'Q1 Strategy Sync' for host uri [paste your uri] with 60-minute duration available next Tuesday 2-5pm Pacific.
Open in a Space →

Mark Invitee No-Show

@Calendly mark the invitee with uri [paste invitee uri] as a no-show for the event that happened this morning at 10am.
Open in a Space →

Set Up Webhook Subscription

@Calendly create a webhook subscription for organization uri [paste org uri] that posts to https://myapp.com/webhooks/calendly whenever an invitee.created or invitee.canceled event fires.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@calendly show me all scheduled events for the next two weeks and flag any that don't have meeting notes attached yet

Output

Here are your upcoming Calendly events through March 15: **With notes:** Product Demo (Mar 5, 2pm), Customer Check-in (Mar 8, 10am) **Missing notes:** Sales Call with Acme Corp (Mar 6, 3pm), Onboarding Session (Mar 10, 11am), Strategy Sync (Mar 12, 4pm) The three events without notes represent 60% of your upcoming meetings. Would you like me to draft prep notes for any of these based on invitee details and event context?

Notes

This read-heavy example demonstrates how Calendly's event listing can pair with AI reasoning to surface workflow gaps. Requires OAuth scope for reading scheduled events. Note that 'meeting notes' aren't a native Calendly field—this example assumes you're tracking notes elsewhere or asking the AI to infer missing prep work.

Prompt

@calendly cancel my 3pm meeting tomorrow with the reason 'unexpected conflict' and create a new one-off event type for next week instead

Output

Canceled: Sales Call with Acme Corp (March 6, 3pm). Cancellation reason sent to attendees: 'unexpected conflict.' Created new one-off event type: 'Acme Corp Follow-up' with 45-minute duration, available March 11-15 during your standard business hours. Booking link: calendly.com/yourname/acme-followup-xyz123 This link expires after one booking. Should I send it to the original invitees with an apology note?

Notes

Showcases Calendly's write capabilities: canceling events (which triggers invitee notifications) and spinning up temporary event types for unique meetings. Requires OAuth scopes for both event management and event type creation. Be aware that cancellations are permanent—no undo function exists in the API.

Prompt

@calendly analyze my last 30 days of scheduled events and tell me which event types have the highest no-show rate

Output

Analyzed 47 completed events across 6 event types (Jan 15 - Feb 15): **Highest no-show rates:** 1. 'Quick Chat' (15-min): 28% (5 of 18 bookings) 2. 'Discovery Call' (30-min): 15% (2 of 13 bookings) 3. 'Product Demo' (45-min): 0% (0 of 9 bookings) Your shorter event types see significantly more no-shows. Consider adding email reminders 24 hours before 'Quick Chat' sessions, or requiring a brief intake form to increase commitment. The 45-minute demos have perfect attendance—likely because they require more invitee investment upfront.

Notes

Demonstrates synthesis: Calendly provides raw event and invitee data (including no-show markers), while the AI identifies patterns and suggests operational improvements. Requires OAuth scope for reading event history and invitee details. No-show tracking depends on hosts manually marking invitees as no-shows via the API or Calendly UI—it's not automatic.

Use-case deep-dives

Sales team demo scheduling

When Calendly beats manual booking for inbound leads

A 6-person sales team closing 40-60 demos a month should use this MCP if they already run Calendly and need AI to handle booking logistics during Slack threads or email follow-ups. The create_scheduling_link and create_one_off_event_type tools let your AI agent generate custom booking pages mid-conversation—no context-switching to the Calendly dashboard. The trade-off: if your team uses round-robin assignment or complex routing rules, those stay in Calendly's UI; the MCP won't replicate that logic. This works when your AI needs to create links on-demand, not when it needs to read or modify your existing scheduling policy. If you're booking under 20 meetings a month, the manual flow is faster than wiring OAuth.

Customer success no-show tracking

Automate no-show logging for post-call workflows

A 3-person customer success team running weekly check-ins with 80+ accounts should use this MCP if no-shows are breaking your follow-up cadence. The create_invitee_no_show tool lets your AI mark missed meetings in Calendly the moment a Zoom call ends with zero attendees, which then triggers your CRM workflow or re-engagement sequence. You need OAuth2 setup and a webhook subscription (via create_webhook_subscription) to catch the event data in real time. The boundary: if you're manually reviewing no-shows once a week in a spreadsheet, the setup overhead isn't worth it. This pays off when you're running 15+ calls a week and no-shows cost you pipeline visibility. Wire it if your team already lives in Calendly and your AI handles post-call admin.

Recruiter interview coordination at scale

When 42 tools are overkill for hiring workflows

A 2-person recruiting team scheduling 10-15 candidate interviews a week probably shouldn't use this MCP, even if you use Calendly. The 42-tool surface area is built for enterprise use cases—webhook management, bulk invitee data deletion, share link customization—that don't map to small-team hiring. You'll spend more time managing OAuth tokens and parsing tool outputs than you save on scheduling. The create_single_use_scheduling_link tool is useful for one-off executive interviews, but if that's your only need, a Zapier trigger is simpler. This MCP wins at 50+ interviews a month across multiple interviewers with complex availability, where your AI needs to create, cancel, and track events programmatically. Below that threshold, Calendly's native UI is faster.

Frequently asked

What does the Calendly MCP let me do in Switchy?

It gives your AI agents direct access to Calendly's scheduling engine. Agents can create one-off event types, generate single-use booking links, cancel events, mark no-shows, and manage webhook subscriptions—all without you switching tabs. Think of it as letting your AI handle the scheduling busywork your team normally does manually in the Calendly dashboard.

What OAuth permissions does Calendly MCP request when I connect it?

Calendly uses OAuth2, so you'll authorize Switchy through Calendly's standard consent screen. The MCP requests read/write access to your event types, scheduled events, invitee data, and webhooks. You need admin or owner-level Calendly permissions to connect it—standard users can't authorize org-wide integrations. The token lives in Switchy's vault; your team never sees it.

Can the Calendly MCP reschedule existing events or only cancel them?

It can only cancel events outright via the 'Cancel event' tool. Rescheduling requires the invitee to book a new slot, so your agent would cancel the old event and send a fresh scheduling link. Calendly's API doesn't expose a direct reschedule endpoint, so this is a platform limitation, not a Switchy one.

How is using Calendly MCP different from just sending someone a Calendly link?

Sending a static link works fine for repetitive workflows. The MCP shines when your agent needs to create custom event types on the fly—like a one-off 45-minute call next Tuesday with specific co-hosts—or when it's routing scheduling logic based on context (customer tier, urgency, team availability). It's automation for the edge cases your standard links can't handle.

Does connecting Calendly MCP count against my Switchy seat limit?

No. MCP connections are workspace-level resources, not user seats. Once someone on your team connects Calendly, any agent in your Switchy workspace can use it. The connection itself doesn't consume a seat, but the person who authorizes it must be a Switchy member with Calendly admin rights.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.