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/mcpdo { 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.
- 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 - 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 - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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 - 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
Bookings
229 read · 12 write · 1 destructive
Get all bookings · Create a booking · Get a booking · Cancel a booking
Insights
1111 read · 0 write · 0 destructive
Get booking limits usage · Get average booking duration · Get booking event trends · Get booking KPI stats
Calendars
85 read · 2 write · 1 destructive
Get busy times · Save an ICS feed · Save Apple calendar credentials · Check a calendar connection
Event registrations
82 read · 5 write · 1 destructive
List an Event's bookings · Approve a guest · Approve every pending guest · Check in a guest by registration id
Notification subscriptions
80 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
Event types
74 read · 2 write · 1 destructive
List event types · Create an event type · Get an event type · Update an event type
Events
72 read · 3 write · 2 destructive
Create an Event · List Events (cursor pagination) · Get an Event · Publish an Event
Org delegation credentials
72 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.listGet all users | Get all users. | read | identity.user.list474 connectors |
cal_com.teams.listGet teams | Get teams. | read | identity.group.list262 connectors |
cal_com.org_roles.listGet all organization roles | Get all organization roles. | read | identity.role.list184 connectors |
cal_com.org_team_memberships.listGet all memberships | Get all memberships. | read | identity.group_member.list103 connectors |
cal_com.org_users.createCreate a user | Create a user. | write | identity.user.create262 connectors |
cal_com.org_roles.createCreate a new organization role | Create a new organization role. | write | identity.role.create105 connectors |
cal_com.bookings.listGet all bookings | Get all bookings. | read | comm.event.list61 connectors |
cal_com.teams.getGet a team | Get a team. | read | identity.group.get212 connectors |
cal_com.org_users.deleteDelete a user | Delete a user. | destructive | identity.user.delete253 connectors |
cal_com.bookings.createCreate a booking | Create a booking. | write | comm.event.create52 connectors |
cal_com.me.getGet my profile | Get my profile. | read | identity.current_user.get307 connectors |
cal_com.webhooks.createCreate a webhook | Create a webhook. | write | automation.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.
- Readread
What is on the Cal.com calendar this week?
calls
cal_com.bookings.list - Writewrite
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.
Delete a user?
intent: the user asked me to delete a user
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]" } ]}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
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 bookingdestructivecal_com.bookings.createCreate a bookingwritecal_com.bookings.getGet a bookingreadcal_com.bookings.listGet all bookingsreadcal_com.bookings.add_guestsAdd guests to an existing bookingwritecal_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 usagereadcal_com.insights.bookings_average_durationGet average booking durationreadcal_com.insights.bookings_event_trendsGet booking event trendsreadcal_com.insights.bookings_kpi_statsGet booking KPI statsreadcal_com.insights.bookings_membersGet booking member statsreadcal_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 timesreadcal_com.calendars.checkCheck a calendar connectionreadcal_com.calendars.create_ics_feedSave an ICS feedwritecal_com.calendars.save_credentialsSave Apple calendar credentialswritecal_com.calendars.check_ics_feedCheck an ICS feedreadcal_com.calendars.connect_urlGet OAuth connect URLread- and 2 more in this area
Event registrations8
cal_com.event_registrations.approveApprove a guestwritecal_com.event_registrations.approve_allApprove every pending guestwritecal_com.event_registrations.check_inCheck in a guest by registration idwritecal_com.event_registrations.listList an Event's bookingsreadcal_com.event_registrations.check_in_by_tokenCheck in a guest by scanned QR tokenwritecal_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 subscriptionwritecal_com.notification_subscriptions.create_imessage_link_intentCreate an iMessage push linking intentwritecal_com.notification_subscriptions.create_slack_link_intentCreate a Slack push linking intentwritecal_com.notification_subscriptions.create_telegram_link_intentCreate a Telegram push linking intentwritecal_com.notification_subscriptions.delete_app_pushRemove an app push subscriptiondestructivecal_com.notification_subscriptions.delete_imessageRemove an iMessage push subscriptiondestructive- and 2 more in this area
Event types7
cal_com.event_types.createCreate an event typewritecal_com.event_types.getGet an event typereadcal_com.event_types.listList event typesreadcal_com.event_types.updateUpdate an event typewritecal_com.event_types.deleteDelete an event typedestructivecal_com.event_types.historyGet event type historyread- and 1 more in this area
Events7
cal_com.events.createCreate an Eventwritecal_com.events.getGet an Eventreadcal_com.events.listList Events (cursor pagination)readcal_com.events.publishPublish an Eventwritecal_com.events.cancelCancel an Eventdestructivecal_com.events.deleteDelete an Eventdestructive- and 1 more in this area
Org delegation credentials7
cal_com.org_delegation_credentials.createSave delegation credentials for your organizationwritecal_com.org_delegation_credentials.getGet a delegation credential of your organizationreadcal_com.org_delegation_credentials.listGet all delegation credentials of your organizationreadcal_com.org_delegation_credentials.reset_rotationReset a blocked delegation credential's secret rotation statewritecal_com.org_delegation_credentials.deleteDelete delegation credentials of your organizationdestructivecal_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 typewritecal_com.org_team_event_types.create_phone_callCreate a phone call for an organization team event typewritecal_com.org_team_event_types.duplicateDuplicate an organization team event typewritecal_com.org_team_event_types.listList organization team event typesreadcal_com.org_team_event_types.deleteDelete an organization team event typedestructivecal_com.org_team_event_types.getGet an event typeread- and 1 more in this area
Org teams7
cal_com.org_teams.createCreate a teamwritecal_com.org_teams.create_invite_linkCreate team invite linkwritecal_com.org_teams.listGet all teamsreadcal_com.org_teams.list_mineGet teams membership for userreadcal_com.org_teams.deleteDelete a teamdestructivecal_com.org_teams.getGet a teamread- and 1 more in this area
Event type webhooks6
cal_com.event_type_webhooks.createCreate a webhookwritecal_com.event_type_webhooks.getGet a webhookreadcal_com.event_type_webhooks.listGet all webhooksreadcal_com.event_type_webhooks.updateUpdate a webhookwritecal_com.event_type_webhooks.deleteDelete a webhookdestructivecal_com.event_type_webhooks.delete_allDelete all webhooksdestructive
Org attribute options6
cal_com.org_attribute_options.createCreate an attribute optionwritecal_com.org_attribute_options.listGet all attribute optionsreadcal_com.org_attribute_options.list_assignedGet all assigned attribute options by attribute IDreadcal_com.org_attribute_options.list_assigned_by_slugGet all assigned attribute options by attribute slugreadcal_com.org_attribute_options.deleteDelete an attribute optiondestructivecal_com.org_attribute_options.updateUpdate an attribute optionwrite
Org team routing forms6
cal_com.org_team_routing_forms.createCreate team routing formwritecal_com.org_team_routing_forms.getGet team routing formreadcal_com.org_team_routing_forms.historyGet team routing form historyreadcal_com.org_team_routing_forms.listGet team routing formsreadcal_com.org_team_routing_forms.update_fieldsEdit team routing form fieldswritecal_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 fieldsreadcal_com.org_team_workflows.createCreate organization team workflow for event-typeswritecal_com.org_team_workflows.getGet organization team workflowreadcal_com.org_team_workflows.listGet organization team workflowsreadcal_com.org_team_workflows.deleteDelete organization team workflowdestructivecal_com.org_team_workflows.updateUpdate organization team workflowwrite
Schedules6
cal_com.schedules.createCreate a schedulewritecal_com.schedules.getGet a schedulereadcal_com.schedules.get_defaultGet default schedulereadcal_com.schedules.listGet all schedulesreadcal_com.schedules.deleteDelete a scheduledestructivecal_com.schedules.updateUpdate a schedulewrite
Team event type webhooks6
cal_com.team_event_type_webhooks.createCreate a webhook for a team event typewritecal_com.team_event_type_webhooks.getGet a webhook for a team event typereadcal_com.team_event_type_webhooks.listGet all webhooks for a team event typereadcal_com.team_event_type_webhooks.updateUpdate a webhook for a team event typewritecal_com.team_event_type_webhooks.deleteDelete a webhook for a team event typedestructivecal_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 typewritecal_com.team_event_types.create_phone_callCreate a phone call for a team event typewritecal_com.team_event_types.getGet a team event typereadcal_com.team_event_types.listList team event typesreadcal_com.team_event_types.deleteDelete a team event typedestructivecal_com.team_event_types.updateUpdate a team event typewrite
Workflows6
cal_com.workflows.condition_fieldsGet the fields a workflow's conditions can readreadcal_com.workflows.createCreate a workflowwritecal_com.workflows.getGet your workflowreadcal_com.workflows.listGet your workflowsreadcal_com.workflows.deleteDelete your workflowdestructivecal_com.workflows.updateUpdate your workflowwrite
Conferencing5
cal_com.conferencing.connectConnect your conferencing applicationwritecal_com.conferencing.get_defaultGet your default conferencing applicationreadcal_com.conferencing.listList your conferencing applicationsreadcal_com.conferencing.set_defaultSet your default conferencing applicationwritecal_com.conferencing.disconnectDisconnect your conferencing applicationdestructive
Event type booking fields5
cal_com.event_type_booking_fields.createAdd custom booking fieldswritecal_com.event_type_booking_fields.getGet booking fieldsreadcal_com.event_type_booking_fields.replaceReplace booking fieldswritecal_com.event_type_booking_fields.updateUpdate booking fieldswritecal_com.event_type_booking_fields.deleteDelete a custom booking fielddestructive
Oauth clients5
cal_com.oauth_clients.createCreate an OAuth clientwritecal_com.oauth_clients.getGet an OAuth clientreadcal_com.oauth_clients.listGet all OAuth clientsreadcal_com.oauth_clients.updateUpdate an OAuth clientwritecal_com.oauth_clients.deleteDelete an OAuth clientdestructive
Org attributes5
cal_com.org_attributes.createCreate an attributewritecal_com.org_attributes.getGet an attributereadcal_com.org_attributes.listGet all attributesreadcal_com.org_attributes.updateUpdate an attributewritecal_com.org_attributes.deleteDelete an attributedestructive
Org managed organizations5
cal_com.org_managed_organizations.createCreate an organization within an organizationwritecal_com.org_managed_organizations.getGet an organization within an organizationreadcal_com.org_managed_organizations.listGet all organizations within an organizationreadcal_com.org_managed_organizations.updateUpdate an organization within an organizationwritecal_com.org_managed_organizations.deleteDelete an organization within an organizationdestructive
Org memberships5
cal_com.org_memberships.createCreate a membershipwritecal_com.org_memberships.getGet a membershipreadcal_com.org_memberships.listGet all membershipsreadcal_com.org_memberships.updateUpdate a membershipwritecal_com.org_memberships.deleteDelete a membershipdestructive
Org role permissions5
cal_com.org_role_permissions.addAdd permissions to an organization role (single or batch)destructivecal_com.org_role_permissions.listList permissions for an organization rolereadcal_com.org_role_permissions.removeRemove a permission from an organization roledestructivecal_com.org_role_permissions.replaceReplace all permissions for an organization rolewritecal_com.org_role_permissions.remove_manyRemove multiple permissions from an organization roledestructive
Org roles5
cal_com.org_roles.createCreate a new organization rolewritecal_com.org_roles.getGet a specific organization rolereadcal_com.org_roles.listGet all organization rolesreadcal_com.org_roles.updateUpdate an organization rolewritecal_com.org_roles.deleteDelete an organization roledestructive
Org secondary domains5
cal_com.org_secondary_domains.createAdd a secondary domain to an organizationwritecal_com.org_secondary_domains.getGet a secondary domain of an organizationreadcal_com.org_secondary_domains.listGet all secondary domains of an organizationreadcal_com.org_secondary_domains.verifyVerify a secondary domain of an organizationwritecal_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 teamwritecal_com.org_team_conferencing.get_defaultGet team default conferencing applicationreadcal_com.org_team_conferencing.listList team conferencing applicationsreadcal_com.org_team_conferencing.set_defaultSet team default conferencing applicationwritecal_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 fieldswritecal_com.org_team_event_type_booking_fields.getGet organization team booking fieldsreadcal_com.org_team_event_type_booking_fields.replaceReplace organization team booking fieldswritecal_com.org_team_event_type_booking_fields.updateUpdate organization team booking fieldswritecal_com.org_team_event_type_booking_fields.deleteDelete a custom organization team booking fielddestructive
Org team memberships5
cal_com.org_team_memberships.createCreate a membershipwritecal_com.org_team_memberships.getGet a membershipreadcal_com.org_team_memberships.listGet all membershipsreadcal_com.org_team_memberships.updateUpdate a membershipwritecal_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.