Skip to content

Connectors · Work & projects

Cal.com MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Cal.com and the rest of your systems. It gives your agent 397 Cal.com actions (172 reads, 161 writes and 64 that wait for a confirmation) and holds the Cal.com credential itself, so the agent never does. It paces Cal.com's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "cal_com.teams.list",  intent: "check which Cal.com account is connected"}# Get teams · read · 1 upstream call
  • 397actionsin one signed file
  • 172readlook, never change
  • 161writecreate and update
  • 64wait for a yesdestructive, confirmed first

Set up

Connect Cal.com in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Cal.com.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyCal.com API key (Settings > Security; live keys start with cal_live_, test keys with cal_), or an OAuth access token
    account { op: "connections.requirements", service: "cal_com" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "cal_com.teams.list" }# get teams · read · 1 upstream callcheck { action: "cal_com.org_users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Cal.com at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Limits we pace to
120 calls a minute, per connection
API covered
Cal.com API v2 (OpenAPI 3.0.0, per-endpoint cal-api-version header)api.cal.com/v2
Built from
Cal.com's documentation, read 22 October 2026cal.comcal.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
167 of 172 reads, for up to 5 minutes; a write clears what it affects
Shared entities
5, so ask can line Cal.com up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Cal.com.

397 actions in 107 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 172readlook, never change
  • 161writecreate and update
  • 64destructivewait for a confirmation
  1. Bookings

    22

    9 read · 12 write · 1 destructive

    Get all bookings · Create a booking · Get a booking · Cancel a booking

  2. Insights

    11

    11 read · 0 write · 0 destructive

    Get booking limits usage · Get average booking duration · Get booking event trends · Get booking KPI stats

  3. Calendars

    8

    5 read · 2 write · 1 destructive

    Get busy times · Save an ICS feed · Save Apple calendar credentials · Check a calendar connection

  4. Event registrations

    8

    2 read · 5 write · 1 destructive

    List an Event's bookings · Approve a guest · Approve every pending guest · Check in a guest by registration id

  5. Notification subscriptions

    8

    0 read · 4 write · 4 destructive

    Register an app push subscription · Create an iMessage push linking intent · Create a Slack push linking intent · Create a Telegram push linking intent

  6. Event types

    7

    4 read · 2 write · 1 destructive

    List event types · Create an event type · Get an event type · Update an event type

  7. Events

    7

    2 read · 3 write · 2 destructive

    Create an Event · List Events (cursor pagination) · Get an Event · Publish an Event

  8. Org delegation credentials

    7

    2 read · 4 write · 1 destructive

    Save delegation credentials for your organization · Get all delegation credentials of your organization · Get a delegation credential of your organization · Reset a blocked delegation credential's secret rotation state

99 more areas · 319 actions
  • Org team event types 7
  • Org teams 7
  • Event type webhooks 6
  • Org attribute options 6
  • Org team routing forms 6
  • Org team workflows 6
  • Schedules 6
  • Team event type webhooks 6
  • Team event types 6
  • Workflows 6
  • Conferencing 5
  • Event type booking fields 5
  • Oauth clients 5
  • Org attributes 5
  • Org managed organizations 5
  • Org memberships 5
  • Org role permissions 5
  • Org roles 5
  • Org secondary domains 5
  • Org team conferencing 5
  • Org team event type booking fields 5
  • Org team memberships 5
  • Org team role permissions 5
  • Org team roles 5
  • Org team routing form workflows 5
  • Org user schedules 5
  • Org webhooks 5
  • Team event type booking fields 5
  • Team memberships 5
  • Teams 5
  • Webhooks 5
  • Event co hosts 4
  • Event locations 4
  • Event type private links 4
  • Me ooo 4
  • Org team event type private links 4
  • Org team verified emails 4
  • Org team verified phones 4
  • Org user attribute options 4
  • Org user ooo 4
  • Org users 4
  • Slot reservations 4
  • Team booking limit pool hosts 4
  • Team booking limit pools 4
  • Team user ooo 4
  • Team verified emails 4
  • Team verified phones 4
  • Verified emails 4
  • Verified phones 4
  • Booking attendees 3
  • Booking email verification 3
  • Me booking limits 3
  • Org bookings 3
  • Org routing form responses 3
  • Org team routing form responses 3
  • Allowlists 2
  • Calendar events 2
  • Credits 2
  • Event coordinates 2
  • Event messages 2
  • Event type calendar invites 2
  • Me 2
  • Notification agent channels 2
  • Org attribute sync history 2
  • Org calendar invites 2
  • Org conferencing 2
  • Org team event type calendar invites 2
  • Org team stripe 2
  • Org user conferencing 2
  • Selected calendars 2
  • Stripe 2
  • Team event type calendar invites 2
  • Team events 2
  • Conferencing oauth 1
  • Destination calendars 1
  • Event cover image 1
  • Event host candidates 1
  • Event invitations 1
  • Event type CRM sync errors 1
  • Links 1
  • Oauth2 clients 1
  • Org attribute assignments 1
  • Org conferencing oauth 1
  • Org ooo 1
  • Org routing forms 1
  • Org schedules 1
  • Org team booking references 1
  • Org team bookings 1
  • Org team conferencing oauth 1
  • Org team schedules 1
  • Org team user schedules 1
  • Org teams event types 1
  • Org user bookings 1
  • Routing forms 1
  • Slots 1
  • Team bookings 1
  • Team routing form responses 1
  • Team schedules 1
  • Timezones 1

Top actions

The Cal.com API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 30 of Cal.com's 30 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
cal_com.org_users.listGet all usersGet all users.readidentity.user.list474 connectors
cal_com.teams.listGet teamsGet teams.readidentity.group.list262 connectors
cal_com.org_roles.listGet all organization rolesGet all organization roles.readidentity.role.list184 connectors
cal_com.org_team_memberships.listGet all membershipsGet all memberships.readidentity.group_member.list103 connectors
cal_com.org_users.createCreate a userCreate a user.writeidentity.user.create262 connectors
cal_com.org_roles.createCreate a new organization roleCreate a new organization role.writeidentity.role.create105 connectors
cal_com.bookings.listGet all bookingsGet all bookings.readcomm.event.list61 connectors
cal_com.teams.getGet a teamGet a team.readidentity.group.get212 connectors
cal_com.org_users.deleteDelete a userDelete a user.destructiveidentity.user.delete253 connectors
cal_com.bookings.createCreate a bookingCreate a booking.writecomm.event.create52 connectors
cal_com.me.getGet my profileGet my profile.readidentity.current_user.get307 connectors
cal_com.webhooks.createCreate a webhookCreate a webhook.writeautomation.webhook.create209 connectors

Try it

Prompts to paste into Claude.

Each one names the Cal.com actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    What is on the Cal.com calendar this week?

    callscal_com.bookings.list

  2. Writewrite

    Create a user in Cal.com. Show me exactly what you will send before you save it.

    callscal_com.org_users.create

Governance for Cal.com

Destructive actions wait for a yes.

64 Cal.com actions are destructive. The first 10:

  • Delete a usercal_com.org_users.delete
  • Delete a teamcal_com.teams.delete
  • Delete an organization rolecal_com.org_roles.delete
  • Cancel a bookingcal_com.bookings.cancel
  • Delete a webhookcal_com.webhooks.delete
  • Delete an event typecal_com.event_types.delete
  • Charge creditscal_com.credits.charge
  • Add permissions to an organization role (single or batch)cal_com.org_role_permissions.add
  • Add permissions to an organization team role (single or batch)cal_com.org_team_role_permissions.add
  • Delete an Eventcal_com.events.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

docal_com.org_users.deleteconfirm_policy: human

Delete a user?

intent: the user asked me to delete a user

run suspended · waiting for a named person · key cal-com-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "cal-com-agent",  allowed_actions: ["cal_com.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "cal_com.org_users.delete", approver: "[email protected]" },    { match: "cal_com.teams.delete", approver: "[email protected]" },    { match: "cal_com.org_roles.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Cal.com only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Cal.com costs on actionlake.

Every Cal.com action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Cal.com refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 397 Cal.com actions
  • 397actions pageeach page of a long list is one call
  • 167reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Cal.com action.

397 actions by area: the id your agent calls, what it does, and its effect.

Bookings22
  • cal_com.bookings.cancelCancel a bookingdestructive
  • cal_com.bookings.createCreate a bookingwrite
  • cal_com.bookings.getGet a bookingread
  • cal_com.bookings.listGet all bookingsread
  • cal_com.bookings.add_guestsAdd guests to an existing bookingwrite
  • cal_com.bookings.calendar_linksGet 'Add to Calendar' links for a bookingread
  • and 16 more in this area
Insights11
  • cal_com.insights.booking_limits_usageGet booking limits usageread
  • cal_com.insights.bookings_average_durationGet average booking durationread
  • cal_com.insights.bookings_event_trendsGet booking event trendsread
  • cal_com.insights.bookings_kpi_statsGet booking KPI statsread
  • cal_com.insights.bookings_membersGet booking member statsread
  • cal_com.insights.routings_failed_bookings_by_fieldGet failed bookings by routing fieldread
  • and 5 more in this area
Calendars8
  • cal_com.calendars.busy_timesGet busy timesread
  • cal_com.calendars.checkCheck a calendar connectionread
  • cal_com.calendars.create_ics_feedSave an ICS feedwrite
  • cal_com.calendars.save_credentialsSave Apple calendar credentialswrite
  • cal_com.calendars.check_ics_feedCheck an ICS feedread
  • cal_com.calendars.connect_urlGet OAuth connect URLread
  • and 2 more in this area
Event registrations8
  • cal_com.event_registrations.approveApprove a guestwrite
  • cal_com.event_registrations.approve_allApprove every pending guestwrite
  • cal_com.event_registrations.check_inCheck in a guest by registration idwrite
  • cal_com.event_registrations.listList an Event's bookingsread
  • cal_com.event_registrations.check_in_by_tokenCheck in a guest by scanned QR tokenwrite
  • cal_com.event_registrations.countsCount an Event's guestsread
  • and 2 more in this area
Notification subscriptions8
  • cal_com.notification_subscriptions.create_app_pushRegister an app push subscriptionwrite
  • cal_com.notification_subscriptions.create_imessage_link_intentCreate an iMessage push linking intentwrite
  • cal_com.notification_subscriptions.create_slack_link_intentCreate a Slack push linking intentwrite
  • cal_com.notification_subscriptions.create_telegram_link_intentCreate a Telegram push linking intentwrite
  • cal_com.notification_subscriptions.delete_app_pushRemove an app push subscriptiondestructive
  • cal_com.notification_subscriptions.delete_imessageRemove an iMessage push subscriptiondestructive
  • and 2 more in this area
Event types7
  • cal_com.event_types.createCreate an event typewrite
  • cal_com.event_types.getGet an event typeread
  • cal_com.event_types.listList event typesread
  • cal_com.event_types.updateUpdate an event typewrite
  • cal_com.event_types.deleteDelete an event typedestructive
  • cal_com.event_types.historyGet event type historyread
  • and 1 more in this area
Events7
  • cal_com.events.createCreate an Eventwrite
  • cal_com.events.getGet an Eventread
  • cal_com.events.listList Events (cursor pagination)read
  • cal_com.events.publishPublish an Eventwrite
  • cal_com.events.cancelCancel an Eventdestructive
  • cal_com.events.deleteDelete an Eventdestructive
  • and 1 more in this area
Org delegation credentials7
  • cal_com.org_delegation_credentials.createSave delegation credentials for your organizationwrite
  • cal_com.org_delegation_credentials.getGet a delegation credential of your organizationread
  • cal_com.org_delegation_credentials.listGet all delegation credentials of your organizationread
  • cal_com.org_delegation_credentials.reset_rotationReset a blocked delegation credential's secret rotation statewrite
  • cal_com.org_delegation_credentials.deleteDelete delegation credentials of your organizationdestructive
  • cal_com.org_delegation_credentials.updateUpdate delegation credentials of your organizationwrite
  • and 1 more in this area
Org team event types7
  • cal_com.org_team_event_types.createCreate an organization team event typewrite
  • cal_com.org_team_event_types.create_phone_callCreate a phone call for an organization team event typewrite
  • cal_com.org_team_event_types.duplicateDuplicate an organization team event typewrite
  • cal_com.org_team_event_types.listList organization team event typesread
  • cal_com.org_team_event_types.deleteDelete an organization team event typedestructive
  • cal_com.org_team_event_types.getGet an event typeread
  • and 1 more in this area
Org teams7
  • cal_com.org_teams.createCreate a teamwrite
  • cal_com.org_teams.create_invite_linkCreate team invite linkwrite
  • cal_com.org_teams.listGet all teamsread
  • cal_com.org_teams.list_mineGet teams membership for userread
  • cal_com.org_teams.deleteDelete a teamdestructive
  • cal_com.org_teams.getGet a teamread
  • and 1 more in this area
Event type webhooks6
  • cal_com.event_type_webhooks.createCreate a webhookwrite
  • cal_com.event_type_webhooks.getGet a webhookread
  • cal_com.event_type_webhooks.listGet all webhooksread
  • cal_com.event_type_webhooks.updateUpdate a webhookwrite
  • cal_com.event_type_webhooks.deleteDelete a webhookdestructive
  • cal_com.event_type_webhooks.delete_allDelete all webhooksdestructive
Org attribute options6
  • cal_com.org_attribute_options.createCreate an attribute optionwrite
  • cal_com.org_attribute_options.listGet all attribute optionsread
  • cal_com.org_attribute_options.list_assignedGet all assigned attribute options by attribute IDread
  • cal_com.org_attribute_options.list_assigned_by_slugGet all assigned attribute options by attribute slugread
  • cal_com.org_attribute_options.deleteDelete an attribute optiondestructive
  • cal_com.org_attribute_options.updateUpdate an attribute optionwrite
Org team routing forms6
  • cal_com.org_team_routing_forms.createCreate team routing formwrite
  • cal_com.org_team_routing_forms.getGet team routing formread
  • cal_com.org_team_routing_forms.historyGet team routing form historyread
  • cal_com.org_team_routing_forms.listGet team routing formsread
  • cal_com.org_team_routing_forms.update_fieldsEdit team routing form fieldswrite
  • cal_com.org_team_routing_forms.update_routesEdit team routing form routeswrite
Org team workflows6
  • cal_com.org_team_workflows.condition_fieldsGet organization team workflow condition fieldsread
  • cal_com.org_team_workflows.createCreate organization team workflow for event-typeswrite
  • cal_com.org_team_workflows.getGet organization team workflowread
  • cal_com.org_team_workflows.listGet organization team workflowsread
  • cal_com.org_team_workflows.deleteDelete organization team workflowdestructive
  • cal_com.org_team_workflows.updateUpdate organization team workflowwrite
Schedules6
  • cal_com.schedules.createCreate a schedulewrite
  • cal_com.schedules.getGet a scheduleread
  • cal_com.schedules.get_defaultGet default scheduleread
  • cal_com.schedules.listGet all schedulesread
  • cal_com.schedules.deleteDelete a scheduledestructive
  • cal_com.schedules.updateUpdate a schedulewrite
Team event type webhooks6
  • cal_com.team_event_type_webhooks.createCreate a webhook for a team event typewrite
  • cal_com.team_event_type_webhooks.getGet a webhook for a team event typeread
  • cal_com.team_event_type_webhooks.listGet all webhooks for a team event typeread
  • cal_com.team_event_type_webhooks.updateUpdate a webhook for a team event typewrite
  • cal_com.team_event_type_webhooks.deleteDelete a webhook for a team event typedestructive
  • cal_com.team_event_type_webhooks.delete_allDelete all webhooks for a team event typedestructive
Team event types6
  • cal_com.team_event_types.createCreate a team event typewrite
  • cal_com.team_event_types.create_phone_callCreate a phone call for a team event typewrite
  • cal_com.team_event_types.getGet a team event typeread
  • cal_com.team_event_types.listList team event typesread
  • cal_com.team_event_types.deleteDelete a team event typedestructive
  • cal_com.team_event_types.updateUpdate a team event typewrite
Workflows6
  • cal_com.workflows.condition_fieldsGet the fields a workflow's conditions can readread
  • cal_com.workflows.createCreate a workflowwrite
  • cal_com.workflows.getGet your workflowread
  • cal_com.workflows.listGet your workflowsread
  • cal_com.workflows.deleteDelete your workflowdestructive
  • cal_com.workflows.updateUpdate your workflowwrite
Conferencing5
  • cal_com.conferencing.connectConnect your conferencing applicationwrite
  • cal_com.conferencing.get_defaultGet your default conferencing applicationread
  • cal_com.conferencing.listList your conferencing applicationsread
  • cal_com.conferencing.set_defaultSet your default conferencing applicationwrite
  • cal_com.conferencing.disconnectDisconnect your conferencing applicationdestructive
Event type booking fields5
  • cal_com.event_type_booking_fields.createAdd custom booking fieldswrite
  • cal_com.event_type_booking_fields.getGet booking fieldsread
  • cal_com.event_type_booking_fields.replaceReplace booking fieldswrite
  • cal_com.event_type_booking_fields.updateUpdate booking fieldswrite
  • cal_com.event_type_booking_fields.deleteDelete a custom booking fielddestructive
Oauth clients5
  • cal_com.oauth_clients.createCreate an OAuth clientwrite
  • cal_com.oauth_clients.getGet an OAuth clientread
  • cal_com.oauth_clients.listGet all OAuth clientsread
  • cal_com.oauth_clients.updateUpdate an OAuth clientwrite
  • cal_com.oauth_clients.deleteDelete an OAuth clientdestructive
Org attributes5
  • cal_com.org_attributes.createCreate an attributewrite
  • cal_com.org_attributes.getGet an attributeread
  • cal_com.org_attributes.listGet all attributesread
  • cal_com.org_attributes.updateUpdate an attributewrite
  • cal_com.org_attributes.deleteDelete an attributedestructive
Org managed organizations5
  • cal_com.org_managed_organizations.createCreate an organization within an organizationwrite
  • cal_com.org_managed_organizations.getGet an organization within an organizationread
  • cal_com.org_managed_organizations.listGet all organizations within an organizationread
  • cal_com.org_managed_organizations.updateUpdate an organization within an organizationwrite
  • cal_com.org_managed_organizations.deleteDelete an organization within an organizationdestructive
Org memberships5
  • cal_com.org_memberships.createCreate a membershipwrite
  • cal_com.org_memberships.getGet a membershipread
  • cal_com.org_memberships.listGet all membershipsread
  • cal_com.org_memberships.updateUpdate a membershipwrite
  • cal_com.org_memberships.deleteDelete a membershipdestructive
Org role permissions5
  • cal_com.org_role_permissions.addAdd permissions to an organization role (single or batch)destructive
  • cal_com.org_role_permissions.listList permissions for an organization roleread
  • cal_com.org_role_permissions.removeRemove a permission from an organization roledestructive
  • cal_com.org_role_permissions.replaceReplace all permissions for an organization rolewrite
  • cal_com.org_role_permissions.remove_manyRemove multiple permissions from an organization roledestructive
Org roles5
  • cal_com.org_roles.createCreate a new organization rolewrite
  • cal_com.org_roles.getGet a specific organization roleread
  • cal_com.org_roles.listGet all organization rolesread
  • cal_com.org_roles.updateUpdate an organization rolewrite
  • cal_com.org_roles.deleteDelete an organization roledestructive
Org secondary domains5
  • cal_com.org_secondary_domains.createAdd a secondary domain to an organizationwrite
  • cal_com.org_secondary_domains.getGet a secondary domain of an organizationread
  • cal_com.org_secondary_domains.listGet all secondary domains of an organizationread
  • cal_com.org_secondary_domains.verifyVerify a secondary domain of an organizationwrite
  • cal_com.org_secondary_domains.deleteRemove a secondary domain from an organizationdestructive
Org team conferencing5
  • cal_com.org_team_conferencing.connectConnect your conferencing application to a teamwrite
  • cal_com.org_team_conferencing.get_defaultGet team default conferencing applicationread
  • cal_com.org_team_conferencing.listList team conferencing applicationsread
  • cal_com.org_team_conferencing.set_defaultSet team default conferencing applicationwrite
  • cal_com.org_team_conferencing.disconnectDisconnect team conferencing applicationdestructive
Org team event type booking fields5
  • cal_com.org_team_event_type_booking_fields.createAdd custom organization team booking fieldswrite
  • cal_com.org_team_event_type_booking_fields.getGet organization team booking fieldsread
  • cal_com.org_team_event_type_booking_fields.replaceReplace organization team booking fieldswrite
  • cal_com.org_team_event_type_booking_fields.updateUpdate organization team booking fieldswrite
  • cal_com.org_team_event_type_booking_fields.deleteDelete a custom organization team booking fielddestructive
Org team memberships5
  • cal_com.org_team_memberships.createCreate a membershipwrite
  • cal_com.org_team_memberships.getGet a membershipread
  • cal_com.org_team_memberships.listGet all membershipsread
  • cal_com.org_team_memberships.updateUpdate a membershipwrite
  • cal_com.org_team_memberships.deleteDelete a membershipdestructive

Org team role permissions 5Org team roles 5Org team routing form workflows 5Org user schedules 5Org webhooks 5Team event type booking fields 5Team memberships 5Teams 5Webhooks 5Event co hosts 4Event locations 4Event type private links 4Me ooo 4Org team event type private links 4Org team verified emails 4Org team verified phones 4Org user attribute options 4Org user ooo 4Org users 4Slot reservations 4Team booking limit pool hosts 4Team booking limit pools 4Team user ooo 4Team verified emails 4Team verified phones 4Verified emails 4Verified phones 4Booking attendees 3Booking email verification 3Me booking limits 3Org bookings 3Org routing form responses 3Org team routing form responses 3Allowlists 2Calendar events 2Credits 2Event coordinates 2Event messages 2Event type calendar invites 2Me 2Notification agent channels 2Org attribute sync history 2Org calendar invites 2Org conferencing 2Org team event type calendar invites 2Org team stripe 2Org user conferencing 2Selected calendars 2Stripe 2Team event type calendar invites 2Team events 2Conferencing oauth 1Destination calendars 1Event cover image 1Event host candidates 1Event invitations 1Event type CRM sync errors 1Links 1Oauth2 clients 1Org attribute assignments 1Org conferencing oauth 1Org ooo 1Org routing forms 1Org schedules 1Org team booking references 1Org team bookings 1Org team conferencing oauth 1Org team schedules 1Org team user schedules 1Org teams event types 1Org user bookings 1Routing forms 1Slots 1Team bookings 1Team routing form responses 1Team schedules 1Timezones 1

This index shows a sample of each area. All 397 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The Cal.com MCP server, answered.

Is there a Cal.com MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 397 Cal.com actions across bookings, insights, calendars and event registrations, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Cal.com.

What do I need to connect Cal.com?

Cal.com API key (Settings > Security; live keys start with cal_live_, test keys with cal_), or an OAuth access token. The free call account { op: "connections.requirements", service: "cal_com" } lists exactly what to paste.

Can an AI agent delete or change things in Cal.com?

Only if its key allows it, and only with an explicit confirmation. 64 Cal.com actions are destructive, including delete a user, delete a team and delete an organization role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Cal.com API limit?

actionlake paces every call to the limits in the Cal.com service file: 120 calls a minute per connection. Repeated reads are answered from cache (167 Cal.com actions can be), which never reaches Cal.com.

What does a Cal.com action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (397 Cal.com actions page). Cache hits, searches, dry runs and calls Cal.com refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Cal.com API does it cover?

The Cal.com API v2 (OpenAPI 3.0.0, per-endpoint cal-api-version header) at api.cal.com/v2. It is built from Cal.com's documentation as read on 22 October 2026. 397 actions in 107 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Cal.com data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Cal.com credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Cal.com today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.