---
title: "Cal.com MCP server for AI agents - actionlake"
description: "Give Claude 397 Cal.com actions through one MCP server: bookings, insights, calendars. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/cal-com
updated: 2026-10-22
---

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.

[Connect Cal.com free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

- 397 actions in one signed file
- 172 read look, never change
- 161 write create and update
- 64 wait for a yes destructive, 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_key` Cal.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 call
   check { 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 2026[cal.com](https://cal.com/docs/api-reference/v2/openapi.json) [cal.com](https://cal.com/docs/api-reference/v2/introduction)

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

- **172** read look, never change
- **161** write create and update
- **64** destructive wait 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.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `cal_com.org_users.list` Get all users | Get all users. | read | `identity.user.list` 474 connectors |
| `cal_com.teams.list` Get teams | Get teams. | read | `identity.group.list` 262 connectors |
| `cal_com.org_roles.list` Get all organization roles | Get all organization roles. | read | `identity.role.list` 184 connectors |
| `cal_com.org_team_memberships.list` Get all memberships | Get all memberships. | read | `identity.group_member.list` 103 connectors |
| `cal_com.org_users.create` Create a user | Create a user. | write | `identity.user.create` 262 connectors |
| `cal_com.org_roles.create` Create a new organization role | Create a new organization role. | write | `identity.role.create` 105 connectors |
| `cal_com.bookings.list` Get all bookings | Get all bookings. | read | `comm.event.list` 61 connectors |
| `cal_com.teams.get` Get a team | Get a team. | read | `identity.group.get` 212 connectors |
| `cal_com.org_users.delete` Delete a user | Delete a user. | destructive | `identity.user.delete` 253 connectors |
| `cal_com.bookings.create` Create a booking | Create a booking. | write | `comm.event.create` 52 connectors |
| `cal_com.me.get` Get my profile | Get my profile. | read | `identity.current_user.get` 307 connectors |
| `cal_com.webhooks.create` Create a webhook | Create a webhook. | write | `automation.webhook.create` 209 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. Read read
   What is on the Cal.com calendar this week?
   calls `cal_com.bookings.list`
2. Write write
   Create a user in Cal.com. Show me exactly what you will send before you save it.
   calls `cal_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 user `cal_com.org_users.delete`
- Delete a team `cal_com.teams.delete`
- Delete an organization role `cal_com.org_roles.delete`
- Cancel a booking `cal_com.bookings.cancel`
- Delete a webhook `cal_com.webhooks.delete`
- Delete an event type `cal_com.event_types.delete`
- Charge credits `cal_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 Event `cal_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.

do cal_com.org_users.delete confirm_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: "lead@example.com" },
    { match: "cal_com.teams.delete", approver: "lead@example.com" },
    { match: "cal_com.org_roles.delete", approver: "lead@example.com" }
  ]
}
```

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.

- 1 upstream call per action all 397 Cal.com actions
- 397 actions page each page of a long list is one call
- 167 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Cal.com action.

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

**Bookings 22**

- `cal_com.bookings.cancel` Cancel a booking destructive
- `cal_com.bookings.create` Create a booking write
- `cal_com.bookings.get` Get a booking read
- `cal_com.bookings.list` Get all bookings read
- `cal_com.bookings.add_guests` Add guests to an existing booking write
- `cal_com.bookings.calendar_links` Get 'Add to Calendar' links for a booking read
- and 16 more in this area

**Insights 11**

- `cal_com.insights.booking_limits_usage` Get booking limits usage read
- `cal_com.insights.bookings_average_duration` Get average booking duration read
- `cal_com.insights.bookings_event_trends` Get booking event trends read
- `cal_com.insights.bookings_kpi_stats` Get booking KPI stats read
- `cal_com.insights.bookings_members` Get booking member stats read
- `cal_com.insights.routings_failed_bookings_by_field` Get failed bookings by routing field read
- and 5 more in this area

**Calendars 8**

- `cal_com.calendars.busy_times` Get busy times read
- `cal_com.calendars.check` Check a calendar connection read
- `cal_com.calendars.create_ics_feed` Save an ICS feed write
- `cal_com.calendars.save_credentials` Save Apple calendar credentials write
- `cal_com.calendars.check_ics_feed` Check an ICS feed read
- `cal_com.calendars.connect_url` Get OAuth connect URL read
- and 2 more in this area

**Event registrations 8**

- `cal_com.event_registrations.approve` Approve a guest write
- `cal_com.event_registrations.approve_all` Approve every pending guest write
- `cal_com.event_registrations.check_in` Check in a guest by registration id write
- `cal_com.event_registrations.list` List an Event's bookings read
- `cal_com.event_registrations.check_in_by_token` Check in a guest by scanned QR token write
- `cal_com.event_registrations.counts` Count an Event's guests read
- and 2 more in this area

**Notification subscriptions 8**

- `cal_com.notification_subscriptions.create_app_push` Register an app push subscription write
- `cal_com.notification_subscriptions.create_imessage_link_intent` Create an iMessage push linking intent write
- `cal_com.notification_subscriptions.create_slack_link_intent` Create a Slack push linking intent write
- `cal_com.notification_subscriptions.create_telegram_link_intent` Create a Telegram push linking intent write
- `cal_com.notification_subscriptions.delete_app_push` Remove an app push subscription destructive
- `cal_com.notification_subscriptions.delete_imessage` Remove an iMessage push subscription destructive
- and 2 more in this area

**Event types 7**

- `cal_com.event_types.create` Create an event type write
- `cal_com.event_types.get` Get an event type read
- `cal_com.event_types.list` List event types read
- `cal_com.event_types.update` Update an event type write
- `cal_com.event_types.delete` Delete an event type destructive
- `cal_com.event_types.history` Get event type history read
- and 1 more in this area

**Events 7**

- `cal_com.events.create` Create an Event write
- `cal_com.events.get` Get an Event read
- `cal_com.events.list` List Events (cursor pagination) read
- `cal_com.events.publish` Publish an Event write
- `cal_com.events.cancel` Cancel an Event destructive
- `cal_com.events.delete` Delete an Event destructive
- and 1 more in this area

**Org delegation credentials 7**

- `cal_com.org_delegation_credentials.create` Save delegation credentials for your organization write
- `cal_com.org_delegation_credentials.get` Get a delegation credential of your organization read
- `cal_com.org_delegation_credentials.list` Get all delegation credentials of your organization read
- `cal_com.org_delegation_credentials.reset_rotation` Reset a blocked delegation credential's secret rotation state write
- `cal_com.org_delegation_credentials.delete` Delete delegation credentials of your organization destructive
- `cal_com.org_delegation_credentials.update` Update delegation credentials of your organization write
- and 1 more in this area

**Org team event types 7**

- `cal_com.org_team_event_types.create` Create an organization team event type write
- `cal_com.org_team_event_types.create_phone_call` Create a phone call for an organization team event type write
- `cal_com.org_team_event_types.duplicate` Duplicate an organization team event type write
- `cal_com.org_team_event_types.list` List organization team event types read
- `cal_com.org_team_event_types.delete` Delete an organization team event type destructive
- `cal_com.org_team_event_types.get` Get an event type read
- and 1 more in this area

**Org teams 7**

- `cal_com.org_teams.create` Create a team write
- `cal_com.org_teams.create_invite_link` Create team invite link write
- `cal_com.org_teams.list` Get all teams read
- `cal_com.org_teams.list_mine` Get teams membership for user read
- `cal_com.org_teams.delete` Delete a team destructive
- `cal_com.org_teams.get` Get a team read
- and 1 more in this area

**Event type webhooks 6**

- `cal_com.event_type_webhooks.create` Create a webhook write
- `cal_com.event_type_webhooks.get` Get a webhook read
- `cal_com.event_type_webhooks.list` Get all webhooks read
- `cal_com.event_type_webhooks.update` Update a webhook write
- `cal_com.event_type_webhooks.delete` Delete a webhook destructive
- `cal_com.event_type_webhooks.delete_all` Delete all webhooks destructive

**Org attribute options 6**

- `cal_com.org_attribute_options.create` Create an attribute option write
- `cal_com.org_attribute_options.list` Get all attribute options read
- `cal_com.org_attribute_options.list_assigned` Get all assigned attribute options by attribute ID read
- `cal_com.org_attribute_options.list_assigned_by_slug` Get all assigned attribute options by attribute slug read
- `cal_com.org_attribute_options.delete` Delete an attribute option destructive
- `cal_com.org_attribute_options.update` Update an attribute option write

**Org team routing forms 6**

- `cal_com.org_team_routing_forms.create` Create team routing form write
- `cal_com.org_team_routing_forms.get` Get team routing form read
- `cal_com.org_team_routing_forms.history` Get team routing form history read
- `cal_com.org_team_routing_forms.list` Get team routing forms read
- `cal_com.org_team_routing_forms.update_fields` Edit team routing form fields write
- `cal_com.org_team_routing_forms.update_routes` Edit team routing form routes write

**Org team workflows 6**

- `cal_com.org_team_workflows.condition_fields` Get organization team workflow condition fields read
- `cal_com.org_team_workflows.create` Create organization team workflow for event-types write
- `cal_com.org_team_workflows.get` Get organization team workflow read
- `cal_com.org_team_workflows.list` Get organization team workflows read
- `cal_com.org_team_workflows.delete` Delete organization team workflow destructive
- `cal_com.org_team_workflows.update` Update organization team workflow write

**Schedules 6**

- `cal_com.schedules.create` Create a schedule write
- `cal_com.schedules.get` Get a schedule read
- `cal_com.schedules.get_default` Get default schedule read
- `cal_com.schedules.list` Get all schedules read
- `cal_com.schedules.delete` Delete a schedule destructive
- `cal_com.schedules.update` Update a schedule write

**Team event type webhooks 6**

- `cal_com.team_event_type_webhooks.create` Create a webhook for a team event type write
- `cal_com.team_event_type_webhooks.get` Get a webhook for a team event type read
- `cal_com.team_event_type_webhooks.list` Get all webhooks for a team event type read
- `cal_com.team_event_type_webhooks.update` Update a webhook for a team event type write
- `cal_com.team_event_type_webhooks.delete` Delete a webhook for a team event type destructive
- `cal_com.team_event_type_webhooks.delete_all` Delete all webhooks for a team event type destructive

**Team event types 6**

- `cal_com.team_event_types.create` Create a team event type write
- `cal_com.team_event_types.create_phone_call` Create a phone call for a team event type write
- `cal_com.team_event_types.get` Get a team event type read
- `cal_com.team_event_types.list` List team event types read
- `cal_com.team_event_types.delete` Delete a team event type destructive
- `cal_com.team_event_types.update` Update a team event type write

**Workflows 6**

- `cal_com.workflows.condition_fields` Get the fields a workflow's conditions can read read
- `cal_com.workflows.create` Create a workflow write
- `cal_com.workflows.get` Get your workflow read
- `cal_com.workflows.list` Get your workflows read
- `cal_com.workflows.delete` Delete your workflow destructive
- `cal_com.workflows.update` Update your workflow write

**Conferencing 5**

- `cal_com.conferencing.connect` Connect your conferencing application write
- `cal_com.conferencing.get_default` Get your default conferencing application read
- `cal_com.conferencing.list` List your conferencing applications read
- `cal_com.conferencing.set_default` Set your default conferencing application write
- `cal_com.conferencing.disconnect` Disconnect your conferencing application destructive

**Event type booking fields 5**

- `cal_com.event_type_booking_fields.create` Add custom booking fields write
- `cal_com.event_type_booking_fields.get` Get booking fields read
- `cal_com.event_type_booking_fields.replace` Replace booking fields write
- `cal_com.event_type_booking_fields.update` Update booking fields write
- `cal_com.event_type_booking_fields.delete` Delete a custom booking field destructive

**Oauth clients 5**

- `cal_com.oauth_clients.create` Create an OAuth client write
- `cal_com.oauth_clients.get` Get an OAuth client read
- `cal_com.oauth_clients.list` Get all OAuth clients read
- `cal_com.oauth_clients.update` Update an OAuth client write
- `cal_com.oauth_clients.delete` Delete an OAuth client destructive

**Org attributes 5**

- `cal_com.org_attributes.create` Create an attribute write
- `cal_com.org_attributes.get` Get an attribute read
- `cal_com.org_attributes.list` Get all attributes read
- `cal_com.org_attributes.update` Update an attribute write
- `cal_com.org_attributes.delete` Delete an attribute destructive

**Org managed organizations 5**

- `cal_com.org_managed_organizations.create` Create an organization within an organization write
- `cal_com.org_managed_organizations.get` Get an organization within an organization read
- `cal_com.org_managed_organizations.list` Get all organizations within an organization read
- `cal_com.org_managed_organizations.update` Update an organization within an organization write
- `cal_com.org_managed_organizations.delete` Delete an organization within an organization destructive

**Org memberships 5**

- `cal_com.org_memberships.create` Create a membership write
- `cal_com.org_memberships.get` Get a membership read
- `cal_com.org_memberships.list` Get all memberships read
- `cal_com.org_memberships.update` Update a membership write
- `cal_com.org_memberships.delete` Delete a membership destructive

**Org role permissions 5**

- `cal_com.org_role_permissions.add` Add permissions to an organization role (single or batch) destructive
- `cal_com.org_role_permissions.list` List permissions for an organization role read
- `cal_com.org_role_permissions.remove` Remove a permission from an organization role destructive
- `cal_com.org_role_permissions.replace` Replace all permissions for an organization role write
- `cal_com.org_role_permissions.remove_many` Remove multiple permissions from an organization role destructive

**Org roles 5**

- `cal_com.org_roles.create` Create a new organization role write
- `cal_com.org_roles.get` Get a specific organization role read
- `cal_com.org_roles.list` Get all organization roles read
- `cal_com.org_roles.update` Update an organization role write
- `cal_com.org_roles.delete` Delete an organization role destructive

**Org secondary domains 5**

- `cal_com.org_secondary_domains.create` Add a secondary domain to an organization write
- `cal_com.org_secondary_domains.get` Get a secondary domain of an organization read
- `cal_com.org_secondary_domains.list` Get all secondary domains of an organization read
- `cal_com.org_secondary_domains.verify` Verify a secondary domain of an organization write
- `cal_com.org_secondary_domains.delete` Remove a secondary domain from an organization destructive

**Org team conferencing 5**

- `cal_com.org_team_conferencing.connect` Connect your conferencing application to a team write
- `cal_com.org_team_conferencing.get_default` Get team default conferencing application read
- `cal_com.org_team_conferencing.list` List team conferencing applications read
- `cal_com.org_team_conferencing.set_default` Set team default conferencing application write
- `cal_com.org_team_conferencing.disconnect` Disconnect team conferencing application destructive

**Org team event type booking fields 5**

- `cal_com.org_team_event_type_booking_fields.create` Add custom organization team booking fields write
- `cal_com.org_team_event_type_booking_fields.get` Get organization team booking fields read
- `cal_com.org_team_event_type_booking_fields.replace` Replace organization team booking fields write
- `cal_com.org_team_event_type_booking_fields.update` Update organization team booking fields write
- `cal_com.org_team_event_type_booking_fields.delete` Delete a custom organization team booking field destructive

**Org team memberships 5**

- `cal_com.org_team_memberships.create` Create a membership write
- `cal_com.org_team_memberships.get` Get a membership read
- `cal_com.org_team_memberships.list` Get all memberships read
- `cal_com.org_team_memberships.update` Update a membership write
- `cal_com.org_team_memberships.delete` Delete a membership destructive

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**

This index shows a sample of each area. All 397 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/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.

## More connectors like Cal.com

Shares the most action names with

- [Tempo Timesheets (Jira) 14](https://actionlake.com/connectors/tempo-timesheets-jira)
- [Webex Contact Center 11](https://actionlake.com/connectors/webex-contact-center)
- [Productboard 10](https://actionlake.com/connectors/productboard)
- [Snyk 10](https://actionlake.com/connectors/snyk)
- [Degreed 9](https://actionlake.com/connectors/degreed)
- [TalentLMS 7](https://actionlake.com/connectors/talentlms)

Joins with, on shared entities

- [Canvas LMS 5](https://actionlake.com/connectors/canvas-lms)
- [HaloPSA 4](https://actionlake.com/connectors/halopsa)
- [Delinea Secret Server 4](https://actionlake.com/connectors/delinea-secret-server)
- [D2L Brightspace 4](https://actionlake.com/connectors/d2l-brightspace)
- [Microsoft Dynamics 365 4](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Close 4](https://actionlake.com/connectors/close)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Cal.com; the name is the vendor's own. Counts are from the Cal.com service file, version 1.0.0.

## Give your agent Cal.com today.

[Connect Cal.com free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/cal-com
More: https://actionlake.com/llms.txt
