Skip to content

Integration · Scheduling

cal.com

Connect Claude & ChatGPT to Cal.com

Ask your AI when you are free next week, what meetings are coming up, or to book, move or cancel a meeting in Cal.com. It can read bookings, event types and availability schedules, find open slots, and create bookings and event types. It can also change your working hours, block a day off and handle bookings that need your confirmation.

Connect Cal.com free

Free plan, no credit card. Takes about a minute.

Try asking

  • “What bookings do I have tomorrow?”

    The AI lists your upcoming bookings for the day with time, attendees and location.

  • “Find a free 30-minute slot on Thursday for an intro call.”

    It looks up the event type and lists the open slots on Thursday in your time zone.

  • “Book the 10:00 slot with Lars Jensen, [email protected].”

    It creates the booking with Lars as attendee. Cal.com emails him a confirmation.

What your AI can do

Bookings

List and read bookings, book, reschedule or cancel meetings, add guests, change the location, and confirm, decline or mark no-shows.

Availability

Read and change availability schedules, weekly hours and date overrides, and find open slots.

Event types

List, read, create and update your bookable meeting types, and see which calendars are checked for conflicts.

  • “Move my 14:00 meeting with Acme to Friday at 10:00.”

    It reschedules the booking to the new time, and Cal.com notifies the attendees.

  • “Block 24 December as a day off.”

    It adds a date override to your availability schedule so nobody can book that day.

  • “Confirm the pending booking request from Mette.”

    It finds the unconfirmed booking and confirms it. Mette is notified.

119 tools for Cal.com

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_booking_guestsChanges dataAdd guests to an existing booking. Required: booking_uid and guests (list of {email, name}). Guests are emailed an invite.
  • cancel_bookingDeletesCancel a booking. Required: booking_uid and body with cancellationReason. Attendees are notified and it cannot be undone.
  • confirm_bookingVisible to othersConfirm a booking that requires your approval. Required: booking_uid. The attendee is notified.
  • create_bookingChanges dataBook a meeting. Required: body with start (ISO time in UTC), eventTypeId and attendee {name, email, timeZone}; optionally guests, lengthInMinutes, metadata. The attendee receives a confirmation email.
  • create_booking_attendeeChanges dataCreate a new attendee for a booking. Required: cal api version, name, time zone or email. API summary: Add an attendee to a booking.
  • create_booking_userChanges dataCreate a new user for a booking. Required: cal api version. API summary: Reassign a booking to auto-selected host.
  • create_calendar_credentialChanges dataCreate a new credential for a calendar. Required: username or password. API summary: Save Apple calendar credentials.
  • create_calendar_disconnectChanges dataCreate a new disconnect for a calendar. Required: id. API summary: Disconnect a calendar.
  • create_calendar_eventChanges dataCreate a new event for a calendar. Required: title, start or end. API summary: Create a calendar event.
  • create_conferencing_connectChanges dataCreate a new connect for a conferencing. API summary: Connect your conferencing application.
  • create_conferencing_defaultChanges dataCreate a new default for a conferencing. API summary: Set your default conferencing application.
  • create_connection_eventChanges dataCreate a new event for a connection. Required: title, start or end. API summary: Create event on a connection.
  • create_customerChanges dataCreate a new customer. Required: name, redirect uris or permissions. API summary: Create an OAuth client.
  • create_customer_userChanges dataCreate a new user for a customer. Required: email or name. API summary: Create a managed user.
  • create_customer_webhookDeletesCreate a new webhook for a customer. Required: active, subscriber url or triggers. Destructive action; may require approval. API summary: Create a webhook.
  • create_event_typeChanges dataCreate an event type. Required: body with title, slug and lengthInMinutes; optionally description, locations and scheduleId.
  • create_event_type_private_linkChanges dataCreate a new private link for a event type. API summary: Create a private link for an event type.
  • create_event_type_webhookDeletesCreate a new webhook for a event type. Required: active, subscriber url or triggers. Destructive action; may require approval. API summary: Create a webhook.
  • create_requestVisible to othersCreate a new request. Required: email. Has effects visible outside this system. API summary: Request email verification code.
  • create_request_user_verified_resources_controller_request_phone_Changes dataCreate a new request. Required: phone. API summary: Request phone number verification code.
  • create_reservationChanges dataCreate a new reservation. Required: cal api version, event type id or slot start. API summary: Reserve a slot.
  • create_saveChanges dataCreate a new save. Required: urls. API summary: Save an ICS feed.
  • create_scheduleChanges dataCreate an availability schedule. Required: name, time_zone and is_default. Optional: availability (days with startTime/endTime) and overrides for specific dates.
  • create_selected_calendarChanges dataCreate a new selected calendar. Required: integration, external id or credential id. API summary: Add a selected calendar.
  • create_user_force_refreshChanges dataCreate a new force refresh for a user. API summary: Force refresh tokens.
  • create_webhookDeletesCreate a new webhook. Required: active, subscriber url or triggers. Destructive action; may require approval. API summary: Create a webhook.
  • decline_bookingVisible to othersDecline a booking that requires your approval. Required: booking_uid. Optional: reason. The attendee is notified.
  • delete_booking_attendeeDeletesPermanently delete a attendee by attendee id. Destructive action; may require approval. API summary: Remove an attendee from a booking.
  • delete_calendar_eventDeletesPermanently delete a event by event uid. Destructive action; may require approval. API summary: Delete a calendar event.
  • delete_conferencing_disconnectsMoves moneyPermanently delete a disconnect by app. Financial or irreversible action; may require approval. API summary: Disconnect your conferencing application.
  • delete_connection_eventDeletesPermanently delete a event by event id. Destructive action; may require approval. API summary: Delete event for a connection.
  • delete_customerDeletesPermanently delete a customer by client id. Destructive action; may require approval. API summary: Delete an OAuth client.
  • delete_customer_userDeletesPermanently delete a user by user id. Destructive action; may require approval. API summary: Delete a managed user.
  • delete_customer_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • delete_customer_webhooksMoves moneyPermanently delete a webhook by client id. Financial or irreversible action; may require approval. API summary: Delete all webhooks.
  • delete_event_typeDeletesPermanently delete a event type by event type id. Destructive action; may require approval. API summary: Delete an event type.
  • delete_event_type_private_linkDeletesPermanently delete a private link by link id. Destructive action; may require approval. API summary: Delete a private link for an event type.
  • delete_event_type_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • delete_event_type_webhooksMoves moneyPermanently delete a webhook by event type id. Financial or irreversible action; may require approval. API summary: Delete all webhooks.
  • delete_reservationDeletesPermanently delete a reservation by uid. Destructive action; may require approval. API summary: Delete a reserved slot.
  • delete_scheduleDeletesPermanently delete a schedule by schedule id. Destructive action; may require approval.
  • delete_selected_calendarsMoves moneyPermanently delete a selected calendar. Financial or irreversible action; may require approval.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • get_bookingGet one booking with time, attendees, location and status. Required: booking_uid.
  • get_booking_attendeeGet one attendee for a booking by attendee id. API summary: Get a specific attendee for a booking.
  • get_by_seatGet one by seat by seat uid. API summary: Get a booking by seat UID.
  • get_calendar_eventGet one event for a calendar by event uid. API summary: Get meeting details from calendar.
  • get_connection_eventGet one event for a connection by event id. API summary: Get event for a connection.
  • get_customerGet one customer by client id. API summary: Get an OAuth client.
  • get_customer_userGet one user for a customer by user id. API summary: Get a managed user.
  • get_customer_webhookGet one webhook for a customer by webhook id. API summary: Get a webhook.
  • get_default_scheduleGet your default availability schedule.
  • get_event_typeGet one event type's settings: length, locations, booking fields and schedule. Required: event_type_id.
  • get_event_type_webhookGet one webhook for a event type by webhook id. API summary: Get a webhook.
  • get_meGet your Cal.com profile: username, email, time zone and default schedule.
  • get_meeting_details_from_calendarGet one event for a calendar by event uid. API summary: Get meeting details from calendar.
  • get_messageGet one message by message id. API summary: Get verified email by id.
  • get_oauth2_clientGet one customer by customer id. API summary: Get OAuth2 client.
  • get_reservationGet one reservation by uid. API summary: Get reserved slot.
  • get_scheduleGet one availability schedule with weekly hours and date overrides. Required: schedule_id.
  • get_userGet one user by user id. API summary: Get verified phone number by id.
  • get_webhookGet one webhook by webhook id. API summary: Get a webhook.
  • list_auth_urlsList auth urls. Optional filters: return to or on error return to. API summary: Get OAuth conferencing app auth URL.
  • list_available_slotsList free time slots for booking. Required: offset (the range START date/time, ISO in UTC) and end. Identify the event with event_type_id, or event_type_slug plus username. Optional: time_zone, duration.
  • list_booking_attendeesList attendees for a booking. API summary: Get all attendees for a booking.
  • list_booking_calendar_linksList calendar links for a booking. API summary: Get 'Add to Calendar' links for a booking.
  • list_booking_conferencing_sessionsList conferencing sessions for a booking. API summary: Get Video Meeting Sessions. Only supported for Cal Video.
  • list_booking_recordingsList recordings for a booking. API summary: Get all the recordings for the booking.
  • list_booking_referencesList references for a booking. Optional filters: type. API summary: Get booking references.
  • list_booking_transcriptsList transcripts for a booking. API summary: Get Cal Video real time transcript download links for the booking.
  • list_bookingsList bookings. Optional: status (upcoming, past, cancelled, unconfirmed...), attendee_email, attendee_name, event_type_id, after_start/before_end, sort_start, take, offset.
  • list_busy_timesList busy times. Optional filters: time zone, date from, date to, credential id or external id. API summary: Get busy times.
  • list_calendar_checksList checks for a calendar. API summary: Check a calendar connection.
  • list_calendar_connectsList connects for a calendar. Optional filters: is dry run or redir. API summary: Get OAuth connect URL.
  • list_calendar_eventsList events for a calendar. Optional filters: from, to, time zone or calendar id. API summary: List calendar events.
  • list_calendar_freebusiesList freebusies for a calendar. Optional filters: from, to or time zone. API summary: Get free/busy times.
  • list_calendar_savesList saves for a calendar. Optional filters: state or code. API summary: Save Google or Outlook calendar credentials.
  • list_callbacksList callbacks. Optional filters: state or code. API summary: Conferencing app OAuth callback.
  • list_checksList checks. API summary: Check an ICS feed.
  • list_checks_stripe_controller_checkList checks. API summary: Check Stripe connection.
  • list_conferencingsList conferencings. API summary: List your conferencing applications.
  • list_connected_calendarsList the calendars connected to your Cal.com account that are checked for conflicts.
  • list_connection_eventsList events for a connection. Optional filters: from, to, time zone or calendar id.
  • list_connection_freebusiesList freebusies for a connection. Optional filters: from, to or time zone. API summary: Get free/busy for a connection.
  • list_connectionsList connections. API summary: List calendar connections.
  • list_connectsList connects. API summary: Get Stripe connect URL.
  • list_customer_usersList users for a customer. Optional filters: emails. Results are paginated. API summary: Get all managed users.
  • list_customer_webhooksList webhooks for a customer. Optional filters: take. Results are paginated. API summary: Get all webhooks.
  • list_customersList customers. API summary: Get all OAuth clients.
  • list_defaultsList defaults. API summary: Get your default conferencing application.
  • list_event_type_private_linksList private links for a event type. API summary: Get all private links for an event type.
  • list_event_type_webhooksList webhooks for a event type. Optional filters: take. Results are paginated. API summary: Get all webhooks.
  • list_event_typesList your event types (bookable meeting types) with their IDs, slugs and durations.
  • list_messagesList messages. Optional filters: take. Results are paginated. API summary: Get list of verified emails.
  • list_savesList saves. Optional filters: state or code. API summary: Save Stripe credentials.
  • list_schedulesList your availability schedules (working hours).
  • list_usersList users. Optional filters: take. Results are paginated. API summary: Get list of verified phone numbers.
  • list_webhooksList webhooks. Optional filters: take. Results are paginated. API summary: Get all webhooks.
  • mark_booking_no_showVisible to othersMark the host or attendees of a past booking as no-show. Required: booking_uid. Pass host=true or attendees as [{email, absent: true}].
  • reschedule_bookingChanges dataMove a booking to a new time. Required: booking_uid and body with start (new ISO time in UTC) and optionally reschedulingReason. Attendees are notified.
  • submit_api_keyVisible to othersRefresh a api key. Has effects visible outside this system. API summary: Refresh API Key.
  • submit_oauthDeletesRefresh a oauth (client id). Destructive action; may require approval. API summary: Refresh managed user tokens.
  • submit_userVisible to othersVerify a user. Has effects visible outside this system. API summary: Verify an email.
  • submit_user_verifyVisible to othersVerify a user. Has effects visible outside this system. API summary: Verify a phone number.
  • update_booking_locationVisible to othersChange where a booking takes place (address, phone or video link). Required: booking_uid and location.
  • update_booking_userChanges dataUpdate an existing user identified by user id. API summary: Reassign a booking to a specific host.
  • update_calendar_eventChanges dataUpdate an existing event identified by event uid. Only the fields you pass are changed. API summary: Update meeting details in calendar.
  • update_connection_eventChanges dataUpdate an existing event identified by event id. Only the fields you pass are changed. API summary: Update event for a connection.
  • update_customerChanges dataUpdate an existing customer identified by client id. Only the fields you pass are changed. API summary: Update an OAuth client.
  • update_customer_userChanges dataUpdate an existing user identified by user id. Only the fields you pass are changed. API summary: Update a managed user.
  • update_customer_webhookDeletesUpdate an existing webhook identified by webhook id. Only the fields you pass are changed. Destructive action; may require approval. API summary: Update a webhook.
  • update_destination_calendarsVisible to othersUpdate an existing destination calendar. Has effects visible outside this system. API summary: Update destination calendars.
  • update_event_typeChanges dataUpdate an event type's title, length, description, locations, schedule or visibility (hidden). Required: event_type_id and body.
  • update_event_type_private_linkChanges dataUpdate an existing private link identified by link id. Only the fields you pass are changed. API summary: Update a private link for an event type.
  • update_event_type_webhookDeletesUpdate an existing webhook identified by webhook id. Only the fields you pass are changed. Destructive action; may require approval. API summary: Update a webhook.
  • update_mesVisible to othersUpdate an existing me. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update my profile.
  • update_reservationChanges dataUpdate an existing reservation identified by uid. Only the fields you pass are changed. API summary: Update a reserved slot.
  • update_scheduleChanges dataChange a schedule's name, time zone, weekly availability or date overrides (e.g. block a day off). Required: schedule_id.
  • update_webhookDeletesUpdate an existing webhook identified by webhook id. Only the fields you pass are changed. Destructive action; may require approval. API summary: Update a webhook.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Cal.com from the app list.

  2. 2

    Paste your key

    Paste a Cal.com API key. In Cal.com go to Settings → Developer → API keys, create a new key and copy it. It starts with cal_live_.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Cal.com?

The AI can read your profile, bookings, event types, availability schedules, connected calendars and open slots. It can book, reschedule and cancel meetings, add guests, change a booking's location, confirm or decline bookings, mark no-shows, and create or update event types and schedules.

Does the AI see my Cal.com credentials?

No. Your Cal.com API key is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with reading bookings and finding free slots. Cancelling a booking notifies attendees and cannot be undone, and it can require your approval before it runs, like confirming or declining bookings. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Cal.com account.

Will attendees get emails when the AI books or changes a meeting?

Yes. Cal.com sends a confirmation when the AI books a meeting, notifies attendees when it reschedules, cancels, confirms or declines a booking, and emails an invite to guests it adds. Require approval for these tools if you want to check each change before anyone is emailed.

Let your AI work in Cal.com today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Cal.com free

HeyMyApps is not affiliated with Cal.com. Product names are trademarks of their owners.