Skip to content

Scheduling

Cal.com
API integration

Ship Scheduling features without building the integration. Full Cal.com API access via Proxy, normalized data through Unified APIs, and 340+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Cal.com

Use Cases

Why integrate with Cal.com

Common scenarios for SaaS companies building Cal.com integrations for their customers.

01

Embed scheduling natively in your ATS or CRM

Let your users create interview slots or sales meeting links directly from your app without switching to Cal.com. Truto handles auth and API complexity so you can ship the integration in days, not weeks.

02

Automate booking creation from workflow triggers

When a candidate moves to an interview stage or a deal reaches a demo phase, your app can programmatically create bookings via Cal.com and surface the meeting URL inline — no manual copy-pasting required.

03

Sync team rosters for accurate round-robin routing

Keep your internal user groups (sales pods, support tiers, recruiting panels) mirrored with Cal.com Teams so round-robin and routing logic stays accurate without manual double-entry by your end users.

04

Surface real-time availability inside your product

Fetch schedules and event type configurations from Cal.com to render available time slots in your own UI, enabling white-labeled booking experiences for telehealth, coaching, or marketplace platforms.

05

Log meeting activity back to your system of record

Pull booking data — attendees, duration, status, cancellation reasons — into your app's activity timeline for reporting, no-show detection, and engagement scoring without your users lifting a finger.

What You Can Build

Ship these features with Truto + Cal.com

Concrete product features your team can ship faster by leveraging Truto’s Cal.com integration instead of building from scratch.

01

One-click interview scheduling from pipeline stages

Automatically create a Cal.com event type and share the booking link when a recruiter moves a candidate into an interview column, then pull the confirmed meeting URL back into the candidate profile.

02

White-labeled availability picker

Read schedules and event type slot configurations via the Unified Calendar API to render a fully branded time-slot selector inside your own app, with no Cal.com UI exposed to end users.

03

Automated schedule provisioning for new users

When a service provider, sales rep, or clinician is onboarded in your platform, programmatically create their Cal.com schedule and standard event types with preset durations, locations, and pricing.

04

Team roster sync with Cal.com Teams

Mirror your app's user groups to Cal.com Teams in real time — add or remove members, update branding, and manage privacy settings so routing pools are always current.

05

Meeting activity dashboard with no-show detection

Aggregate booking data across all connected Cal.com accounts to surface meeting counts, durations, cancellation reasons, and no-show rates on a single analytics view inside your product.

06

Paid consultation setup at onboarding

Create event types with price and currency fields pre-filled so marketplace or coaching platforms can instantly enable paid bookings for new providers without manual Cal.com configuration.

SuperAI

Cal.com AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_cal_com_me

Get the profile of the authenticated Cal.com user. Returns id, username, email, name, timeZone, weekStart, timeFormat, defaultScheduleId, locale, and organizationId.

cal_com_me_bulk_update

Update the authenticated user's profile in calcom. Returns the updated profile including id, name, email, timeZone, and username. Requires a JSON body with the fields to change (name, email, bio, timeZone, weekStart, timeFormat, defaultScheduleId, locale, avatarUrl, metadata). Email changes take effect on the primary email only after the new address is verified.

list_all_cal_com_schedules

Get all schedules of the authenticated user in Cal.com. Returns schedule id, ownerId, name, timeZone, availability with days and times, isDefault flag, and overrides with date and times.

get_single_cal_com_schedule_by_id

Get schedule details by id in Cal.com. Returns id, ownerId, name, timeZone, availability (days, startTime, endTime), isDefault, and overrides (date, startTime, endTime).

create_a_cal_com_schedule

Create a schedule with name, timeZone, availability, and isDefault for the authenticated user in Cal.com. Returns id, ownerId, name, timeZone, availability, isDefault, and overrides fields.

update_a_cal_com_schedule_by_id

Update a schedule by id in Cal.com. Requires scheduleId. Returns updated schedule fields including name, timeZone, availability (days, startTime, endTime), isDefault, and overrides (date, startTime, endTime).

delete_a_cal_com_schedule_by_id

Delete a schedule by id in Cal.com. Returns status indicating success or error.

list_all_cal_com_calendars

Get all calendars connected to Cal.com. Returns connectedCalendars array with integration details, credentialId, primary calendar info, and calendars list. Also returns destinationCalendar with id, integration, userId, and name.

list_all_cal_com_event_types

Get all event types in Cal.com. Returns id, title, description, lengthInMinutes, locations, bookingFields, price, currency, and other event details.

get_single_cal_com_event_type_by_id

Get event type by id in Cal.com. Returns id, lengthInMinutes, title, slug, description, locations, bookingFields, disableGuests, recurrence, price, currency, isInstantEvent, scheduleId, ownerId, and users fields.

create_a_cal_com_event_type

Create an event type in Cal.com with required parameters lengthInMinutes, title, and slug. Returns id, title, slug, description, locations, bookingFields, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, price, currency, scheduleId, bookingLimitsCount, bookingLimitsDuration, bookingWindow, bookerLayouts, confirmationPolicy, requiresBookerEmailVerification, hideCalendarNotes, lockTimeZoneToggleOnBookingPage, color, seats, offsetStart, customName, destinationCalendar, useDestinationCalendarEmail, hideCalendarEventDetails, hideOrganizerEmail, calVideoSettings, ownerId, and users.

update_a_cal_com_event_type_by_id

Update an event type by id in Cal.com. Returns updated event type fields including id, lengthInMinutes, title, slug, description, locations, bookingFields, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, price, currency, scheduleId, bookingLimitsCount, bookingLimitsDuration, bookingWindow, bookerLayouts, confirmationPolicy, requiresBookerEmailVerification, hideCalendarNotes, color, seats, offsetStart, customName, destinationCalendar, useDestinationCalendarEmail, hideCalendarEventDetails, hideOrganizerEmail, calVideoSettings, ownerId, and users.

delete_a_cal_com_event_type_by_id

Delete an event type by id in Cal.com. Returns the deleted event type's id, lengthInMinutes, title, and slug.

list_all_cal_com_teams

Get list of teams in Cal.com. Returns teams array with team details.

get_single_cal_com_team_by_id

Get a team by id in Cal.com. Returns id, parentId, name, slug, logoUrl, bio, privacy settings, metadata, theme, brand colors, bannerUrl, timeFormat, timeZone, and weekStart.

create_a_cal_com_team

Create a team in Cal.com with required name. Returns status and data of the created team.

update_a_cal_com_team_by_id

Update a team by id in Cal.com. Returns updated team fields including id, parentId, name, slug, logoUrl, calVideoLogo, appLogo, appIconLogo, bio, hideBranding, isOrganization, isPrivate, hideBookATeamMember, metadata, theme, brandColor, darkBrandColor, bannerUrl, timeFormat, timeZone, and weekStart.

delete_a_cal_com_team_by_id

Delete a team by id in Cal.com. Requires id. Returns status 200 on success.

cal_com_teams_invite

Create team invite link. If accessed using an OAuth access token, the `TEAM_MEMBERSHIP_WRITE` scope is required. (Cal.com API v2, POST /v2/teams/{teamId}/invite). Required: team_id.

list_all_cal_com_bookings

Get all bookings in Cal.com. Returns id, uid, title, description, hosts, status, cancellationReason, start, end, duration, eventTypeId, meetingUrl, location, createdAt, updatedAt, attendees, guests, and rating fields.

get_single_cal_com_booking_by_id

Get booking details by booking uid in Cal.com. Pass the booking `uid` (a string like "bX8kQ2..." from list_all bookings), not the numeric booking id. Returns fields including id, uid, title, description, hosts, status, cancellationReason, reschedulingReason, start, end, duration, eventType, meetingUrl, location, attendees, and guests.

create_a_cal_com_booking

Create a booking with start time and attendee details in Cal.com. Provide eventTypeId or eventTypeSlug with username/teamSlug and optionally organizationSlug. Returns booking id, uid, title, hosts, status, start, end, duration, eventTypeId, meetingUrl, location, metadata, attendees, guests, and bookingFieldsResponses.

cal_com_bookings_cancel

Cancel a booking. :bookingUid can be :bookingUid of an usual booking, individual recurrence or recurring booking to cancel all recurrences. Cancelling normal bookings: If the booking is not seated and not recurring, simply pass :bookingUid in the request URL `/bookings/:bookingUid/cancel` and optionally cancellationReason in the request body `{"cancellationReason": "Will travel"}`. Cancelling seated bookings: It is possible to cancel specific seat within a booking as an attendee or all of the seats as the host. 1. As an attendee - provide :bookingUid in the request URL `/bookings/:bookingUid/cancel` and seatUid in the request body `{"seatUid": "123-123-123"}` . This will remove this particular attendance from the booking. 2. As the host or org admin of host - host can cancel booking for all attendees aka for every seat, this also applies to org admins. Provide :bookingUid in the request URL `/bookings/:bookingUid/cancel` and cancellationReason in the request body `{"cancellationReason": "Will travel"}` and `Authorization: Bearer token` request header where token is event type owner (host) credential. This will cancel the booking for all attendees. Cancelling recurring seated bookings: For recurring seated bookings it is not possible to cancel all of them with 1 call like with non-seated recurring bookings by providing recurring bookind uid - you have to cancel each recurrence booking by its bookingUid + seatUid. If you are cancelling a seated booking for an event type with 'show attendees' disabled, then to retrieve attendees in the response either set 'show attendees' to true on event type level or you have to provide an authentication method of event type owner, host, team admin or owner or org admin or owner. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. (Cal.com API v2, POST /v2/bookings/{bookingUid}/cancel). Required: booking_uid. Uses cal-api-version 2026-02-25.

cal_com_bookings_reschedule

Reschedule a booking. Reschedule a booking or seated booking. Reschedulable booking statuses: - `accepted` — the confirmed booking is moved to the new start time. - `pending` — a booking awaiting host confirmation can be rescheduled. The new booking stays `pending` until the host confirms or declines it. Non-reschedulable booking statuses (endpoint responds with `400 Bad Request`): - `cancelled` — the booking has already been cancelled. If it was cancelled because it was previously rescheduled, the error message includes the UID of the booking it was rescheduled to. - `rejected` — the host declined the original confirmation-required request. Create a new booking instead. - `awaiting_host` — an instant meeting that is live and waiting for a host to join. Create a new booking instead. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. (Cal.com API v2, POST /v2/bookings/{bookingUid}/reschedule). Required: booking_uid. Uses cal-api-version 2026-02-25.

cal_com_attribute_options_bulk_delete

Delete an attribute option. Required membership role: `org admin`. PBAC permission: `organization.attributes.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, DELETE /v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId}). Required: org_id, attribute_id, option_id.

cal_com_attribute_options_bulk_update

Update an attribute option. Required membership role: `org admin`. PBAC permission: `organization.attributes.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, PATCH /v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId}). Required: org_id, attribute_id, option_id.

create_a_cal_com_attribute_option

Create an attribute option. Required membership role: `org admin`. PBAC permission: `organization.attributes.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, POST /v2/organizations/{orgId}/attributes/{attributeId}/options). Required: org_id, attribute_id.

list_all_cal_com_attribute_options

Get all attribute options. Required membership role: `org member`. PBAC permission: `organization.attributes.read`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/attributes/{attributeId}/options). Required: org_id, attribute_id.

get_single_cal_com_attributes_assignment_by_id

Get a user's Cal.com attribute assignment history (audit log of assigned, updated, or unassigned attribute changes). Returns the userId, membershipId, paginated auditLogs entries, plus nextCursor and hasMore for paging. Requires org_id and id (the user id). Max 50 entries per page, default 25.

cal_com_attributes_options_bulk_delete

Unassign an attribute option from a Cal.com user in an organization. Returns the unassigned record with its id, attributeOptionId, and attributes. Required: org_id, user_id, attribute_option_id.

cal_com_attributes_options_bulk_update

Update an attribute option assignment for a Cal.com user in an organization, for example to change the round-robin weight. Returns the updated record with its id, attributeOptionId, and attributes. Required: org_id, user_id, attribute_option_id.

create_a_cal_com_attributes_option

Assign an attribute to a Cal.com user in an organization. Returns the created attribute assignment record, including its id. Required: org_id, user_id, and a JSON request body.

list_all_cal_com_attributes_options

List all attribute options assigned to a Cal.com user in an organization, grouped by attribute with their option values and weights. Returns the assignment record with its id, attributeOptionId, and attributes. Required: org_id, user_id.

list_all_cal_com_attributes_sync_histories

Get attribute sync history. Returns a paginated list of integration sync runs for the organization, including rule evaluations, applied field mappings, and team membership changes per run. Supports cursor-based pagination. (Cal.com API v2, GET /v2/organizations/{orgId}/attributes/sync-history). Required: org_id.

create_a_cal_com_bookings_block

Block a booking attendee in a cal.com organization by adding their email or domain to the organization blocklist; all matching upcoming bookings in the organization are silently cancelled. Returns the confirmation payload defined by the upstream BlockOrgBookingOutput schema (fields not enumerated in the cal.com docs). Required: org_id and a JSON body identifying the attendee email(s) or domain(s)…

create_a_cal_com_bookings_report

Report an organization booking. Report a booking within the organization. A booking report is created and the reported booking along with other matching upcoming bookings are silently cancelled. If accessed using an OAuth access token, the `ORG_BOOKING_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/bookings/report). Required: org_id.

create_a_cal_com_delegation_credential_reset_rotation

Reset a blocked delegation credential's secret rotation state in Cal.com, clearing the terminal rotation-failure condition so managed secret rotation resumes. Returns the reset-rotation confirmation object; its fields are defined by Cal.com's ResetDelegationCredentialRotationOutput response schema. Required: org_id, credential_id. Applies only to blocked Microsoft/Office365 delegation credentials.

cal_com_organization_attributes_bulk_delete

Delete a Cal.com organization attribute identified by attribute_id. Returns the deleted attribute's id, type (TEXT, NUMBER, SINGLE_SELECT, or MULTI_SELECT), and slug. Required: org_id and attribute_id.

cal_com_organization_attributes_bulk_update

Update a Cal.com organization attribute identified by attribute_id. Returns the updated attribute's id, type (TEXT, NUMBER, SINGLE_SELECT, or MULTI_SELECT), and slug. Required: org_id and attribute_id.

create_a_cal_com_organization_attribute

Create a Cal.com organization attribute. Returns the created attribute with its id, type (TEXT, NUMBER, SINGLE_SELECT, or MULTI_SELECT), and slug. Requires org_id and type.

get_single_cal_com_organization_attribute_by_id

Get a single Cal.com organization attribute by id. Returns the attribute's id, type (TEXT, NUMBER, SINGLE_SELECT, or MULTI_SELECT), and slug. Required: id and org_id.

list_all_cal_com_organization_attributes

List all Cal.com organization attributes. Returns attribute records with id, type (TEXT, NUMBER, SINGLE_SELECT, or MULTI_SELECT), and slug. Required: org_id. Max 250 per page.

list_all_cal_com_organization_bookings

List cal.com bookings across an organization. Returns each booking's uid, title, start and end times, status, location, attendees, and organizers. Required: org_id. `status` filters to a single status (parallel requests are needed for multiple statuses).

cal_com_organization_delegation_credentials_bulk_delete

Delete a delegation credential from a cal.com organization by credential_id. Returns the deleted credential's id and its provider-specific attributes. Required: org_id and credential_id.

cal_com_organization_delegation_credentials_bulk_update

Update a delegation credential of a cal.com organization by credential_id. Returns the updated credential's id and its provider-specific attributes. Required: org_id, credential_id, and a JSON update body.

create_a_cal_com_organization_delegation_credential

Create a Google or a Microsoft delegation credential for a cal.com organization. Returns the created credential's id and its provider-specific attributes. Required: org_id and a delegation-credential payload body.

get_single_cal_com_organization_delegation_credential_by_id

Get a single delegation credential of a cal.com organization by id. Returns the credential's id and its provider-specific attributes (the shape depends on whether it is a Google or Microsoft credential). Required: org_id and id.

list_all_cal_com_organization_delegation_credentials

List all delegation credentials configured for a cal.com organization. Returns each credential's id and its provider-specific attributes; pass domain to look up the credential configured for a specific domain. Required: org_id.

cal_com_organization_memberships_bulk_delete

Delete a Cal.com organization membership by id, removing the member from the organization. Returns: id, userId, teamId, accepted, role, disableImpersonation, user, attributes. Required: org_id, membership_id.

cal_com_organization_memberships_bulk_update

Update a Cal.com organization membership by id, such as changing the member's role. Returns: id, userId, teamId, accepted, role, disableImpersonation, user, attributes. Required: org_id, membership_id.

create_a_cal_com_organization_membership

Create a Cal.com organization membership by attaching an existing user via userId (no notification email) or inviting an existing Cal.com user by email; exactly one of the two must be supplied and the user must already exist. Email invites either auto-accept or send a pending invite. Returns: id, userId, teamId, accepted, role, disableImpersonation, user, attributes. Required: org_id.

get_single_cal_com_organization_membership_by_id

Get a single Cal.com organization membership by id. Returns: id, userId, teamId, accepted, role, disableImpersonation, user, attributes. Required: id, org_id.

list_all_cal_com_organization_memberships

List all memberships of a Cal.com organization. Returns: id, userId, teamId, accepted, role, disableImpersonation, user, attributes. Max 250 per page. Required: org_id.

cal_com_organization_roles_attach_permission

Add permissions to an organization role (single or batch). Required membership role: `org admin`. PBAC permission: `role.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, POST /v2/organizations/{orgId}/roles/{roleId}/permissions). Required: org_id, role_id.

cal_com_organization_roles_bulk_delete

Delete an organization role. Required membership role: `org admin`. PBAC permission: `role.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, DELETE /v2/organizations/{orgId}/roles/{roleId}). Required: org_id, role_id.

cal_com_organization_roles_bulk_update

Update an organization role. Required membership role: `org admin`. PBAC permission: `role.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, PATCH /v2/organizations/{orgId}/roles/{roleId}). Required: org_id, role_id.

create_a_cal_com_organization_role

Create a new organization role. Required membership role: `org admin`. PBAC permission: `role.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, POST /v2/organizations/{orgId}/roles). Required: org_id.

cal_com_organization_roles_delete_permissions

Remove multiple permissions from an organization role. Required membership role: `org admin`. PBAC permission: `role.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, DELETE /v2/organizations/{orgId}/roles/{roleId}/permissions). Required: org_id, role_id.

get_single_cal_com_organization_role_by_id

Get a specific organization role. Required membership role: `org admin`. PBAC permission: `role.readOrgRoles`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/roles/{roleId}). Required: org_id.

list_all_cal_com_organization_roles

Get all organization roles. Required membership role: `org admin`. PBAC permission: `role.readOrgRoles`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/roles). Required: org_id.

cal_com_organization_roles_list_permissions

List permissions for an organization role. Required membership role: `org admin`. PBAC permission: `role.readOrgRoles`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/roles/{roleId}/permissions). Required: org_id, role_id.

cal_com_organization_roles_update_permissions

Replace all permissions for an organization role. Required membership role: `org admin`. PBAC permission: `role.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, PUT /v2/organizations/{orgId}/roles/{roleId}/permissions). Required: org_id, role_id.

list_all_cal_com_organization_routing_forms

List Cal.com routing forms configured for an organization. Returns each form's id, createdAt, updatedAt, and configuration-specific attributes (fields and routes defined in the form). Required: org_id.

cal_com_role_permissions_bulk_delete

Remove a permission from a Cal.com organization role. Returns an empty 204 response on success. Required: org_id, role_id, permission.

cal_com_role_permissions_bulk_delete_teams

Remove a permission from a Cal.com organization team role. Returns an empty 204 response on success. Required: org_id, team_id, role_id, permission.

cal_com_routing_form_responses_bulk_update

Update routing form response. Required membership role: `org admin`. PBAC permission: `routingForm.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_ROUTING_FORM_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses/{responseId}). Required: org_id, routing_form_id, response_id.

create_a_cal_com_routing_form_response

Create routing form response and get available slots. Only available for teams that are not part of an organization - for a team within an organization use the organization team endpoint instead. Required membership role: `team member`. PBAC permission: `routingForm.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_ROUTING_FORM_WRITE` scope is required. (Cal.com API v2, POST /v2/teams/{teamId}/routing-forms/{routingFormId}/responses). Required: team_id, routing_form_id, start, end.

list_all_cal_com_routing_form_responses

Get routing form responses. Required membership role: `org admin`. PBAC permission: `routingForm.readResponsePii`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_ROUTING_FORM_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses). Required: org_id, routing_form_id.

update_a_cal_com_routing_form_response_by_id

Update routing form response. Required membership role: `team admin`. PBAC permission: `routingForm.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_ROUTING_FORM_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses/{responseId}). Required: org_id, team_id, routing_form_id.

create_a_cal_com_routing_form_responses_routing_form

Create routing form response and get available slots. Required membership role: `org admin`. PBAC permission: `routingForm.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_ROUTING_FORM_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses). Required: org_id, routing_form_id, start, end.

list_all_cal_com_routing_form_responses_routing_forms

Get organization team routing form responses. Required membership role: `team admin`. PBAC permission: `routingForm.readResponsePii`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_ROUTING_FORM_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses). Required: org_id, team_id, routing_form_id.

list_all_cal_com_sync_history_users

List Cal.com integration sync runs for a specific user within an organization. Returns each run's id and attributes covering rule evaluations, applied field mappings, and team membership changes per run. Required: org_id, user_id. Max 100 runs per page.

get_single_cal_com_options_assigned_by_id

Get all assigned attribute options by attribute ID. Required membership role: `org member`. PBAC permission: `organization.attributes.read`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/attributes/{attributeId}/options/assigned). Required: org_id.

list_all_cal_com_options_assigneds

Get all assigned attribute options by attribute slug. Required membership role: `org member`. PBAC permission: `organization.attributes.read`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control (Cal.com API v2, GET /v2/organizations/{orgId}/attributes/slugs/{attributeSlug}/options/assigned). Required: org_id, slug_id.

list_all_cal_com_booking_references

List the calendar and video references attached to a Cal.com booking by its uid. Returns each reference's type (e.g. google_calendar, zoom_video). Required: booking_uid.

list_all_cal_com_booking_references_bookings

List the calendar and video app references attached to a cal.com organization team booking. Returns reference records with their id and type (e.g. google_calendar, zoom_video). Filter with type. Required: org_id, team_id, booking_uid.

create_a_cal_com_connect

Connect a conferencing app to a calcom organization team. Only google-meet can be connected this way and only for a team that already has a valid Google Calendar connection; Zoom and Microsoft Teams require the separate OAuth auth-url flow instead. Returns the connected conferencing app record (id, type). Required: app, org_id, and team_id.

create_a_cal_com_connects_connect

Connect a conferencing app to a Cal.com organization team. Returns the connected conferencing app record with app and id. Only google-meet can be connected this way (the team must already have a valid Google Calendar connection); Zoom and Microsoft Teams require the OAuth auth-url flow instead. Required: org_id, team_id, app.

cal_com_disconnects_bulk_delete

Disconnect a conferencing app (google-meet, zoom, or msteams) from the authenticated cal.com user. Returns a disconnect confirmation payload whose fields are not enumerated in the upstream documentation. Required: app.

cal_com_disconnects_bulk_delete_version

Disconnect a conferencing app (google-meet, zoom, or msteams) from an organization team in cal.com. Returns a disconnect confirmation payload whose fields are not enumerated in the upstream documentation. Required: org_id, team_id, app.

cal_com_event_type_private_links_bulk_delete

Delete a private link for a team event type. If accessed using an OAuth access token, the `TEAM_EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId}). Required: org_id, team_id, event_type_id, link_id. Uses cal-api-version 2024-09-04.

cal_com_event_type_private_links_bulk_update

Update a private link for a team event type. If accessed using an OAuth access token, the `TEAM_EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId}). Required: org_id, team_id, event_type_id, link_id. Uses cal-api-version 2024-09-04.

create_a_cal_com_event_type_private_link

Create a private link for an event type. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, POST /v2/event-types/{eventTypeId}/private-links). Required: event_type_id. Uses cal-api-version 2024-09-04.

delete_a_cal_com_event_type_private_link_by_id

Delete a private link for an event type. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/event-types/{eventTypeId}/private-links/{linkId}). Required: event_type_id. Uses cal-api-version 2024-09-04.

list_all_cal_com_event_type_private_links

Get all private links for an event type. If accessed using an OAuth access token, the `EVENT_TYPE_READ` scope is required. (Cal.com API v2, GET /v2/event-types/{eventTypeId}/private-links). Required: event_type_id. Uses cal-api-version 2024-09-04.

update_a_cal_com_event_type_private_link_by_id

Update a private link for an event type. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/event-types/{eventTypeId}/private-links/{linkId}). Required: event_type_id. Uses cal-api-version 2024-09-04.

create_a_cal_com_event_type_private_links_private_link

Create a private link for a team event type in Cal.com. Returns the created private link including its id (upstream linkId) and its full booking URL. Required: org_id, team_id, event_type_id.

list_all_cal_com_event_type_private_links_private_links

List all private links for a team event type in Cal.com. Returns private link records including their id (upstream linkId) and full booking URL. Requires org_id, team_id, and event_type_id.

list_all_cal_com_oauth_auth_urls

Get the OAuth authorization URL for a Cal.com conferencing app (Zoom or Microsoft Teams) to authorize it for a team; the resulting credential is stored against the team. Returns the authorization URL to redirect the team admin to (field-level response shape not documented upstream). The returned URL expires 10 minutes after the call, so redirect immediately rather than caching it. Required: app,…

list_all_cal_com_oauth_auth_urls_auth_url

Get the OAuth authorization URL for connecting a Zoom or Microsoft Teams conferencing app to a Cal.com team. Returns: authUrl. Requires org_id, team_id, app, returnTo, and onErrorReturnTo. The returned URL expires 10 minutes after this call, so redirect the team admin immediately rather than caching it.

list_all_cal_com_oauth_callbacks

Complete the OAuth callback for a Cal.com conferencing app to save its credentials, passing the state and code values returned by the app's OAuth flow. Returns an opaque 200 confirmation with no documented response body. Required: app, orgId, teamId, state, code.

list_all_cal_com_oauth_callbacks_callback

Complete the OAuth callback for a Cal.com organization team's conferencing app (Zoom or Microsoft Teams): exchange the provider's authorization code and save the resulting credentials against the team. Returns: access_token, refresh_token, token_type, expires_in, scope, error, error_description. Required: org_id, team_id, app, code, state.

list_all_cal_com_organization_schedules

List all availability schedules across a cal.com organization. Returns schedule records with id and attributes (the schedule's fields as defined upstream by cal.com's v2 API). Required: org_id (the organization id; orgId is its numeric alias). Max 250 per page.

cal_com_organization_teams_bulk_delete

Delete a team. Required membership role: `org admin`. PBAC permission: `team.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_PROFILE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/organizations/{orgId}/teams/{teamId}). Required: org_id, team_id.

cal_com_organization_teams_bulk_update

Update a team. Required membership role: `org admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_PROFILE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/teams/{teamId}). Required: org_id, team_id.

create_a_cal_com_organization_team

Create a team. Required membership role: `org admin`. PBAC permission: `team.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_PROFILE_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/teams). Required: org_id.

get_single_cal_com_organization_team_by_id

Get a team. Required membership role: `team admin`. PBAC permission: `team.readTeamSettings`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_PROFILE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}). Required: org_id.

cal_com_organization_teams_invite

Create team invite link. Required membership role: `team admin`. PBAC permission: `team.invite`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_MEMBERSHIP_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/teams/{teamId}/invite). Required: org_id, team_id.

list_all_cal_com_organization_teams

Get all teams. Required membership role: `org admin`. PBAC permission: `team.readOrgTeams`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_PROFILE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams). Required: org_id.

get_single_cal_com_organization_teams_me_by_id

List the teams the authenticated user belongs to in a Cal.com organization. Returns team records with their id, name, and slug. Required: id (the organization id). Max 250 per page.

list_all_cal_com_team_bookings

List bookings for a Cal.com team. Returns each booking with id, uid, title, startTime, endTime, status, attendees, and organizer. Required: team_id (plus teamId and orgId for organization-scoped team lookups). Max 250 per page.

list_all_cal_com_team_bookings_teams

List all bookings for a team within a Cal.com organization. Returns booking records including id, uid, title, description, startTime, endTime, status, attendees, organizer, and eventType. Supports status, attendee, event type, and date-range filters with time-based sorting. Required: org_id, team_id. Max 250 per page.

create_a_cal_com_team_conferencing

Set the default conferencing application for a cal.com organization team by app type. Returns a success payload whose fields cal.com does not document in its API reference. Required: org_id, team_id, app (one of google-meet, zoom, msteams, daily-video).

get_single_cal_com_team_conferencing_by_id

List the conferencing applications connected to a cal.com organization team. Returns the applications, each with app (the application type, e.g. google-meet, zoom, msteams, daily-video). Required: id (team id), org_id.

list_all_cal_com_team_conferencings

Get the default conferencing application configured for a cal.com organization team. Returns a success payload whose fields cal.com does not document in its API reference. Required: org_id, team_id.

cal_com_team_memberships_bulk_delete

Delete a cal.com team membership within an organization team, permanently removing the user from the team. Returns the deleted membership including its id, userId, role, and accepted status. Requires org_id, team_id, and membership_id.

cal_com_team_memberships_bulk_update

Update a cal.com team membership within an organization team, e.g. to change the member's role or acceptance. Returns the updated membership including its id, userId, role, and accepted status. Requires org_id, team_id, and membership_id.

create_a_cal_com_team_membership

Create a cal.com team membership — add a user to a team. Returns the created membership including its id, userId, role, and accepted status. Requires team_id and userId; role defaults to MEMBER when omitted.

delete_a_cal_com_team_membership_by_id

Delete a cal.com team membership by id, permanently removing the user from the team. Returns the deleted membership including its id, userId, role, and accepted status. Requires team_id and id.

get_single_cal_com_team_membership_by_id

Get a single cal.com team membership by id. Returns the membership including its id, userId, role, and accepted status. Requires team_id and id.

list_all_cal_com_team_memberships

List all memberships of a Cal.com team by team id. Returns: id, userId, teamId, accepted, role, disableImpersonation, user. Required: team_id. Max 250 items per page.

update_a_cal_com_team_membership_by_id

Update a Cal.com team membership by id, changing its role or acceptance status. Returns: id, userId, teamId, accepted, role, disableImpersonation, user. Required: team_id, id.

create_a_cal_com_team_memberships_team

Create a new membership in a Cal.com organization team. Returns the created membership record including its id, created_at, and updated_at. Requires org_id, team_id, and a JSON request body.

get_single_cal_com_team_memberships_team_by_id

Get a single membership of a Cal.com organization team by id. Returns the membership record including its id, created_at, and updated_at. Requires id, org_id, and team_id.

list_all_cal_com_team_memberships_teams

List all memberships of a Cal.com organization team. Returns the team's membership records including id, created_at, and updated_at. Requires org_id and team_id.

cal_com_team_roles_attach_permission

Add one or more permissions to a Cal.com organization team role (single or batch). Returns the role's permission list (permissions, in resource.action format). Required: org_id, team_id, role_id, permissions.

cal_com_team_roles_bulk_delete

Delete a Cal.com organization team role by id. Returns: id, name, color, description, teamId, type, permissions, createdAt, updatedAt. Required: org_id, team_id, role_id.

cal_com_team_roles_bulk_update

Update a Cal.com organization team role by id. Returns: id, name, color, description, teamId, type, permissions, createdAt, updatedAt. Required: org_id, team_id, role_id.

create_a_cal_com_team_role

Create a new role for a team in a Cal.com organization. Returns: id, name, color, description, teamId, type, permissions, createdAt, updatedAt. Required: org_id, team_id.

cal_com_team_roles_delete_permissions

Remove multiple permissions (format resource.action) from a Cal.com organization team role. Returns an empty 204 response on success. Required: org_id, team_id, role_id.

get_single_cal_com_team_role_by_id

Get a specific organization team role in cal.com by id. Returns the role object including its id, name, and permissions. Required: id, org_id, team_id.

list_all_cal_com_team_roles

List all roles of an organization team in cal.com. Returns team role objects including id, name, and permissions. Required: org_id, team_id. Max 250 items per page.

cal_com_team_roles_list_permissions

List the permissions granted to an organization team role in cal.com. Returns: permissions.action permission slugs such as role.readTeamRoles). Required: org_id, team_id, role_id.

cal_com_team_roles_update_permissions

Replace all permissions of an organization team role in cal.com. Returns: permissions (the updated array of resource.action permission slugs). Required: org_id, team_id, role_id, permissions (the complete permission set to apply).

get_single_cal_com_organization_ooo_by_id

List all out-of-office entries for the users of a Cal.com organization. Returns each entry's id, start, end, notes, reason, user, and toUser. Required: id (the organization id). Max 250 items per page.

cal_com_organization_users_bulk_delete

Remove a user from a Cal.com organization by id. Returns the removed organization user record (upstream schema: GetOrganizationUserOutput; the docs reference the schema by name but do not enumerate its fields). Required: org_id and user_id.

cal_com_organization_users_bulk_update

Update a user of a Cal.com organization by id. Returns the updated organization user record (upstream schema: GetOrganizationUserOutput; the docs reference the schema by name but do not enumerate its fields). Required: org_id and user_id.

create_a_cal_com_organization_user

Create a new Cal.com user account and attach it to an organization. Returns the created organization user record (upstream schema: GetOrganizationUserOutput; the docs reference the schema by name but do not enumerate its fields). Required: org_id. Fails with 409 Conflict if the supplied email already belongs to an existing Cal.com user; to attach an existing user to the organization, use the…

list_all_cal_com_organization_users

List the users of a Cal.com organization, filterable by email addresses, team ids, and assigned attribute options. Returns organization user records (single-record shape follows Cal.com's GetOrganizationUserOutput schema; the docs do not enumerate its fields). Required: org_id.

cal_com_organizations_bulk_delete

Delete a managed (child) organization within a Cal.com organization. Returns the organization record including its id, name, slug, and metadata. Requires the platform plan (SCALE or higher). Required: org_id, managed_organization_id.

cal_com_organizations_bulk_update

Update a managed (child) organization within a Cal.com organization. Returns the organization record including its id, name, slug, and metadata. Requires the platform plan (SCALE or higher). Required: org_id, managed_organization_id.

create_a_cal_com_organization

Create a managed (child) organization within a Cal.com organization. Returns the created organization record including its id, name, slug, and metadata. Requires the platform plan (SCALE or higher). Required: org_id and name.

get_single_cal_com_organization_by_id

Get a managed (child) organization within a Cal.com organization by id. Returns the organization record including its id, name, slug, and metadata. Requires the platform plan (SCALE or higher). Required: org_id and id.

list_all_cal_com_organizations_organizations

List the managed child organizations under a parent Cal.com organization. Returns: id, name, slug, metadata. Required: org_id.

get_single_cal_com_stripe_check_by_id

Check the Stripe connection for a team in a Cal.com organization. Returns the connection check payload; its fields are not enumerated in Cal.com's published schema. Required: org_id and id (the numeric team id).

list_all_cal_com_stripe_checks

Check the Stripe connection of the authenticated Cal.com account. Returns the connection check payload; its fields are not enumerated in Cal.com's published schema. Takes no query parameters.

get_single_cal_com_stripe_connect_by_id

Get the Stripe connect URL for a Cal.com organization team. Returns the Stripe onboarding URL (connectUrl) to redirect the team owner to. Required: id (team id), org_id, returnTo, onErrorReturnTo.

list_all_cal_com_stripe_connects

Get the Stripe connect URL for the authenticated Cal.com account. Returns the Stripe onboarding URL (connectUrl) to redirect the user to.

get_single_cal_com_stripe_save_by_id

Save Stripe credentials for a team in a Cal.com organization by exchanging the OAuth callback's state and code. Returns the credentials-save confirmation including id and upstream credential attributes. Required: id, org_id, state, code.

list_all_cal_com_stripe_saves

Save Stripe credentials for the authenticated Cal.com user by exchanging the OAuth callback's state and code. Returns the credentials-save confirmation including id and upstream credential attributes. Required: state, code.

list_all_cal_com_team_routing_forms

Get team routing forms. Required membership role: `team admin`. PBAC permission: `routingForm.readTeamRoutingForms`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_ROUTING_FORM_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms). Required: org_id, team_id.

list_all_cal_com_team_schedules

List the availability schedules of every member of a cal.com team. Returns schedule records including id, isDefault, and timeZone. Required: team_id.

list_all_cal_com_team_schedules_teams

List all team member schedules for a team in a cal.com organization. Returns: id, ownerId, name, timeZone, availability, isDefault, overrides. Required: org_id, team_id. Max 250 per page.

cal_com_team_workflows_bulk_delete

Delete organization team workflow. Required membership role: `team admin`. PBAC permission: `workflow.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_WORKFLOW_WRITE` scope is required. (Cal.com API v2, DELETE /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}). Required: org_id, team_id, workflow_id.

cal_com_team_workflows_bulk_update

Update organization team workflow. Required membership role: `team admin`. PBAC permission: `workflow.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_WORKFLOW_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}). Required: org_id, team_id, workflow_id.

create_a_cal_com_team_workflow

Create organization team workflow for event-types. Required membership role: `team admin`. PBAC permission: `workflow.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_WORKFLOW_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/teams/{teamId}/workflows). Required: org_id, team_id.

get_single_cal_com_team_workflow_by_id

Get organization team workflow. Required membership role: `team admin`. PBAC permission: `workflow.readTeamWorkflows`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_WORKFLOW_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}). Required: org_id, team_id.

list_all_cal_com_team_workflows

Get organization team workflows. Required membership role: `team admin`. PBAC permission: `workflow.readTeamWorkflows`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_WORKFLOW_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}/workflows). Required: org_id, team_id.

list_all_cal_com_user_bookings

Get all bookings for an organization user. If accessed using an OAuth access token, the `ORG_BOOKING_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/users/{userId}/bookings). Required: org_id, user_id.

create_a_cal_com_user_conferencing

Set the default conferencing app for an organization user. Sets the default conferencing app for a specific user within the organization. If accessed using an OAuth access token, the `APPS_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/users/{userId}/conferencing/default). Required: org_id, user_id.

get_single_cal_com_user_conferencing_by_id

List conferencing apps of an organization user. Lists all connected conferencing apps for a specific user within the organization, including which one is set as default. If accessed using an OAuth access token, the `APPS_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/users/{userId}/conferencing). Required: org_id.

cal_com_user_ooos_bulk_delete

Delete an out-of-office entry for a user. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/organizations/{orgId}/users/{userId}/ooo/{oooId}). Required: org_id, user_id, ooo_id.

cal_com_user_ooos_bulk_update

Update an out-of-office entry for a user. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/users/{userId}/ooo/{oooId}). Required: org_id, user_id, ooo_id.

create_a_cal_com_user_ooo

Create an out-of-office entry for a team member. If accessed using an OAuth access token, the `TEAM_SCHEDULE_WRITE` scope is required. (Cal.com API v2, POST /v2/teams/{teamId}/users/{userId}/ooo). Required: team_id, user_id.

delete_a_cal_com_user_ooo_by_id

Delete an out-of-office entry for a team member. If accessed using an OAuth access token, the `TEAM_SCHEDULE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/teams/{teamId}/users/{userId}/ooo/{oooId}). Required: team_id, user_id.

get_single_cal_com_user_ooo_by_id

Get all out-of-office entries for a user. Required membership role: `org admin`. PBAC permission: `ooo.readOrgOoo`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/users/{userId}/ooo). Required: org_id.

list_all_cal_com_user_ooos

Get all out-of-office entries for a team member. If accessed using an OAuth access token, the `TEAM_SCHEDULE_READ` scope is required. (Cal.com API v2, GET /v2/teams/{teamId}/users/{userId}/ooo). Required: team_id, user_id.

update_a_cal_com_user_ooo_by_id

Update an out-of-office entry for a team member. If accessed using an OAuth access token, the `TEAM_SCHEDULE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/teams/{teamId}/users/{userId}/ooo/{oooId}). Required: team_id, user_id.

create_a_cal_com_user_ooos_ooo

Create an out-of-office entry for a user. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/users/{userId}/ooo). Required: org_id, user_id.

cal_com_user_schedules_bulk_delete

Delete a schedule. Required membership role: `org admin`. PBAC permission: `availability.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}). Required: org_id, user_id, schedule_id.

cal_com_user_schedules_bulk_update

Update a schedule. Required membership role: `org admin`. PBAC permission: `availability.updateOrgAvailability`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}). Required: org_id, user_id, schedule_id.

create_a_cal_com_user_schedule

Create a schedule. Required membership role: `org admin`. PBAC permission: `availability.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_WRITE` scope is required. (Cal.com API v2, POST /v2/organizations/{orgId}/users/{userId}/schedules). Required: org_id, user_id.

get_single_cal_com_user_schedule_by_id

Get a schedule. Required membership role: `org admin`. PBAC permission: `availability.readOrgAvailability`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}). Required: org_id, user_id.

list_all_cal_com_user_schedules

Get all schedules. Required membership role: `org admin`. PBAC permission: `availability.readOrgAvailability`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `ORG_SCHEDULE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/users/{userId}/schedules). Required: org_id, user_id.

list_all_cal_com_user_schedules_users

Get schedules of a team member. Required membership role: `team admin`. PBAC permission: `availability.readTeamAvailability`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_SCHEDULE_READ` scope is required. (Cal.com API v2, GET /v2/organizations/{orgId}/teams/{teamId}/users/{userId}/schedules). Required: org_id, team_id, user_id.

list_all_cal_com_workflow_condition_fields

List the Cal.com condition fields that a workflow's conditional paths can read, derived from the booking questions on the event types the workflow is active on. Returns the condition-fields catalog, whose shape is specific to the booking questions configured on the workflow's active event types. Required: workflow_id.

list_all_cal_com_workflow_condition_fields_condition_fields

Get the condition fields a Cal.com organization team workflow's conditions can read, including the comparisons each field accepts. Returns a workflow-specific catalog (id plus condition-field attributes derived from the booking questions on the workflow's active event types). Required: org_id, team_id, workflow_id. Requires API version 2026-09-22.

cal_com_workflow_routing_forms_bulk_delete

Delete the routing-form workflow for an organization team in calcom. Returns an empty 204 response on success. Required: org_id, team_id, workflow_id.

cal_com_workflow_routing_forms_bulk_update

Update the routing-form workflow for an organization team in calcom. Returns the updated workflow record: id plus its configuration (attributes). Required: org_id, team_id, workflow_id and a JSON request body matching the upstream UpdateFormWorkflowDto.

get_single_cal_com_workflow_routing_form_by_id

Get the routing-form workflow for an organization team in calcom. Returns the workflow record: id plus its configuration (attributes). Required: id (workflow id), org_id, team_id.

create_a_cal_com_workflows_routing_form

Create a routing-form workflow for a Cal.com organization team. Returns the created workflow record, including its id. Requires a JSON request body per Cal.com's CreateFormWorkflowDto. Required: org_id, team_id.

get_single_cal_com_workflows_routing_form_by_id

List the routing-form workflows configured for a Cal.com organization team. Returns each workflow's id. Required: org_id and id (the team id). Max 250 per page.

list_all_cal_com_allowlists

List Cal.com's IP allowlists — the IPv4 ranges Cal.com sends traffic from and receives traffic on, keyed by service. Intended to be polled regularly rather than hard-coded, since the ranges can change. Takes no parameters.

list_all_cal_com_allowlists_v_2

Get the Cal.com IP allowlist of one service. Returns the IPv4 ranges Cal.com sends traffic from and receives traffic on for that service — poll this instead of hard-coding addresses, since the ranges can change. Required: service.

create_a_cal_com_api_keys_refresh

Refresh a Cal.com API key: generates a new API key and deletes the current one. Returns the new API key data; the upstream documentation does not enumerate the response fields. Required: a JSON body conforming to the upstream RefreshApiKeyInput schema.

create_a_cal_com_booking_attendee

Add an attendee to an existing Cal.com booking by its booking_uid; Cal.com updates connected calendars and emails the booking details to the new attendee. Returns the added attendee record including id and name. Required: booking_uid, name, email, timeZone. Not supported for seated event bookings — create a new booking for the same time slot instead.

get_single_cal_com_booking_attendee_by_id

Get a specific attendee of a Cal.com booking, identified by the booking's booking_uid and the attendee's numeric id. Returns the attendee record including id, email, name, timeZone, phoneNumber, and noShow. Required: booking_uid and id. Use list to find attendee ids.

list_all_cal_com_booking_attendees

List all attendees of a Cal.com booking by its booking_uid. Returns attendee records including id, email, name, timeZone, phoneNumber, and noShow. Required: booking_uid.

list_all_cal_com_booking_calendar_links

Get the 'Add to Calendar' links for a cal.com booking by uid. Returns the calendar links payload (attributes) with links for Google Calendar, Microsoft Office and Microsoft Outlook plus a downloadable ICS file. Required: booking_uid.

list_all_cal_com_booking_conferencing_sessions

List the Cal Video meeting sessions for a Cal.com booking. Returns: id, room, startTime, duration, ongoing, maxParticipants, participants. Required: booking_uid. Only supported for bookings using Cal Video.

create_a_cal_com_booking_confirm

Confirm a pending Cal.com booking that requires manual confirmation. Returns the confirmed booking including bookingUid, title, startTime, endTime, status, attendees, eventType, and metadata. Required: booking_uid.

create_a_cal_com_booking_decline

Decline a booking in cal.com on behalf of the booking owner. Returns the declined booking object including uid, title, startTime, endTime, and status. Required: booking_uid.

create_a_cal_com_booking_guest

Add one or more guests to an existing Cal.com booking, notifying the organizer, new guests, and existing guests. Returns the updated booking payload as id plus attributes (fields follow Cal.com's AddGuestsOutput schema). Required: booking_uid and a JSON request body following Cal.com's AddGuestsInput schema. Max 10 guests per request, 30 total per booking; seated event bookings are not supported.

cal_com_booking_locations_bulk_update

Update the location of an existing Cal.com booking; the change is synced to the corresponding calendar event via the organizer's connected credentials, a conference link is provisioned for integration locations (e.g. Zoom, Google Meet, Cal Video), and attendees are notified by email. Returns: uid, location, metadata. Requires booking_uid and the new location.

create_a_cal_com_booking_mark_absent

Mark a booking as absent (no-show) in Cal.com, e.g. set host=true if the host missed the meeting. Returns the mark-absent confirmation object defined by Cal.com's output schema (fields not enumerated in the available documentation). Required: booking_uid.

create_a_cal_com_booking_reassign

Reassign a calcom booking to an auto-selected round robin host. Returns the reassigned booking record with its id and booking attributes. Required: booking_uid. Only round robin bookings are supported.

update_a_cal_com_booking_reassign_by_id

Reassign a calcom booking to a specific host (user) by id. Returns the reassigned booking record with its id and booking attributes. Required: booking_uid and id (the target host's user id). Only round robin bookings are supported.

list_all_cal_com_booking_recordings

List the Cal Video recordings for a booking in Cal.com. Returns each recording's id and attributes (recording fields defined upstream). Required: booking_uid. Download links expire after 1 hour — re-request for fresh links.

create_a_cal_com_booking_request_reschedule

Request a reschedule of a Cal.com booking by uid. The original booking is cancelled and the attendee receives an email with a link to pick a new time. Returns the cancelled booking record including id, uid, title, startTime, endTime, and status. Required: booking_uid.

get_single_cal_com_booking_routing_trace_by_id

Get the step-by-step routing trace for a Cal.com booking by id (its booking UID). Returns the trace's steps, groups (steps grouped per routing round), and routingFormSubmission when a routing form was used; steps and groups come back empty if no trace exists. Required: id.

list_all_cal_com_booking_transcripts

List the Cal Video transcript download links for a calcom booking. Returns the collection of transcript download-link records; item fields are defined by the upstream response schema and are not enumerated in the docs. Required: booking_uid. Download links expire after 1 hour — make a new request for fresh links; transcripts are generated only when Transcribe is clicked during a Cal Video meeting.

get_single_cal_com_bookings_by_seat_by_id

Get a seated calcom booking by its seat UID. Returns the parent booking including id, uid, title, startTime, endTime, status, and attendees — a cancelled seat still resolves via the same seatUid, with the matching attendee tagged status 'cancelled'. Required: id (the seatUid). Attendees are omitted when the event type has 'show attendees' disabled unless the call is authenticated as an event type…

list_all_cal_com_calendar_checks

Check a calendar connection in Cal.com for a specific provider. Returns the check result as an opaque JSON object whose fields are not documented upstream. Required: calendar (one of apple, google, or office365).

list_all_cal_com_calendar_connects

Get the OAuth connect URL for linking a Google or Office 365 calendar to Cal.com. Returns the connect URL object. Required: calendar, isDryRun.

create_a_cal_com_calendar_credential

Save Apple calendar credentials in cal.com for the authenticated user. Requires calendar (must be 'apple') and a JSON request body matching cal.com's CreateCalendarCredentialsInput schema (its field names are not exposed in the API reference). Returns 201 Created with no response body.

create_a_cal_com_calendar_disconnect

Disconnect a connected Apple, Google, or Office 365 calendar in cal.com, removing its stored credentials for the authenticated user. Required: calendar (apple, google, or office365). Returns the disconnect confirmation payload from cal.com; the upstream documentation does not enumerate its fields.

cal_com_calendar_events_bulk_update

Update meeting details for a calendar event in calcom's unified calendars. Returns the updated meeting details object with provider-specific fields. Requires a JSON request body with the event fields to update. Required: calendar, event_uid.

list_all_cal_com_calendar_events

Get detailed meeting information for a calendar event from calcom's unified calendars, including attendance metrics. Returns the meeting details object with provider-specific fields. Required: calendar, event_uid.

list_all_cal_com_calendar_saves

Save Google or Outlook calendar credentials in calcom by completing the provider's OAuth authorization. Required: calendar (office365 or google), code, state. Returns an empty 200 response on success.

list_all_cal_com_calendars_busy_times

Get busy times from Cal.com connected calendars for a date range. Returns the busy-times output as a single busy_times structure of busy intervals per requested calendar; Cal.com documents the nested shape only through its GetBusyTimesOutput schema, not field by field. Required: dateFrom, dateTo, and at least one calendar entry formatted as credentialId,externalId. loggedInUsersTz is deprecated —…

create_a_cal_com_conferencing

Set the default conferencing application in Cal.com for the authenticated user. Returns the conferencing application object with upstream-defined fields (SetDefaultConferencingAppOutputResponseDto). Required: app (one of google-meet, zoom, msteams, daily-video).

get_single_cal_com_conferencing_by_id

Get the default conferencing application of the authenticated Cal.com user. Returns the default conferencing application object with upstream-defined fields (GetDefaultConferencingAppOutputResponseDto).

list_all_cal_com_conferencings

List the conferencing applications connected to the authenticated Cal.com account (e.g. Zoom, Google Meet, Cal Video). Returns conferencing application records with upstream-defined fields (ConferencingAppsOutputResponseDto).

list_all_cal_com_credits_availables

Check the available credits balance for the authenticated user (or their org/team) in cal.com. Returns the current balance as a JSON object; the upstream API documents the response shape only as a generic object without enumerating its fields.

create_a_cal_com_credits_charge

Charge credits for an authenticated Cal.com user. Returns the charge result as an opaque JSON object; the upstream API documents no response fields. Uses externalRef for idempotency to prevent double-charging.

list_all_cal_com_email_checks

Check whether calcom requires email verification for a booking email address. Returns a JSON object reporting whether verification is needed for the given email. Required: email.

create_a_cal_com_email_send_code

Send a one-time email verification code in Cal.com to a specified email address, typically as the first step before confirming the code via the verify-code endpoint. Requires a JSON request body specifying the target email address. Returns the send-verification confirmation payload (200).

create_a_cal_com_email_verify_code

Verify an email address in Cal.com using the one-time code that was previously sent (bookings email-verification flow). Returns the verification result object (upstream VerifyEmailCodeOutput; the Cal.com API docs do not enumerate its fields). Requires a JSON request body matching the upstream VerifyEmailCodeInput schema.

list_all_cal_com_ics_feed_checks

Check an ICS feed in Cal.com. Returns an opaque JSON object whose fields are not enumerated in the upstream docs. Requires no request parameters.

create_a_cal_com_ics_feed_save

Save an ICS feed in Cal.com for the authenticated user. Returns the saved feed with its id and type. Requires a JSON request body.

cal_com_oauth_client_users_bulk_delete

Delete a managed user belonging to a cal.com OAuth client. Deprecated: cal.com has marked these managed-user endpoints for removal. Returns the deleted user's id and the record's remaining fields under attributes. Required: client_id, user_id.

cal_com_oauth_client_users_bulk_update

Update a managed user belonging to a cal.com OAuth client. Deprecated: cal.com has marked these managed-user endpoints for removal. Returns the updated user's id and the record's remaining fields under attributes. Required: client_id, user_id.

create_a_cal_com_oauth_client_user

Create a managed user under a cal.com OAuth client. Deprecated: cal.com has marked these managed-user endpoints for removal. Returns the new user's id and the record's remaining fields under attributes. Required: client_id.

get_single_cal_com_oauth_client_user_by_id

Get a managed user of a calcom OAuth client by id. Returns: id, email, username, name, bio, timeZone, weekStart, createdDate, timeFormat, defaultScheduleId, locale, avatarUrl, metadata. Required: id and client_id. This calcom endpoint is deprecated and will be removed in the future.

list_all_cal_com_oauth_client_users

List all managed users of a Cal.com OAuth client. Returns each managed user's id, email, username, name, and timeZone. Requires client_id; optionally filter by one or more email addresses via emails. This Cal.com endpoint is deprecated and will be removed in the future.

create_a_cal_com_refresh

Refresh a cal.com managed user's expired access token; refresh token rotation means a new refresh token is issued too, so both must be stored. Returns: accessToken, refreshToken, accessTokenExpiresAt, refreshTokenExpiresAt. Required: client_id, refreshToken. Access tokens are valid for 60 minutes and refresh tokens for 1 year. Deprecated by cal.com.

create_a_cal_com_user_force_refresh

Force refresh the tokens of a Cal.com managed user when the access or refresh token has been lost. Returns: accessToken, refreshToken, accessTokenExpiresAt, refreshTokenExpiresAt (access token valid 60 minutes, refresh token 1 year). Required: client_id, user_id. Deprecated: this endpoint will be removed.

create_a_cal_com_bookings_average_duration

Get the average booking duration for user, team, or organization insights in cal.com. Requires a JSON request body (BookingInsightsInput) defining the insight query. Returns the computed average-duration result (upstream GetBookingAverageDurationOutput; its fields are not enumerated in the cal.com docs).

create_a_cal_com_bookings_event_trend

Get booking event trends for user, team, or organization insights in cal.com. Returns the booking trend stats payload defined by the GetBookingEventTrendsOutput schema, scoped by the BookingInsightsInput request body.

create_a_cal_com_bookings_kpi_stat

Get booking KPI stats from calcom for user, team, or organization insights. Requires a JSON request body following the upstream BookingInsightsInput schema. Returns the booking KPI stats payload with its field set defined by the upstream GetBookingKpiStatsOutput schema.

create_a_cal_com_bookings_member

Get booking member stats in calcom — aggregate per-member booking statistics for user, team, or organization insights. Returns the member-stats payload defined by the upstream GetBookingMemberStatsOutput schema. Requires a JSON request body matching the BookingInsightsInput schema.

cal_com_destination_calendars_bulk_update

Update destination calendars in Cal.com. Returns the updated destination calendar object; the response field set follows Cal.com's DestinationCalendarsOutputResponseDto — consult the Cal.com API reference for the field-level breakdown. Requires a JSON request body (DestinationCalendarsInputBodyDto).

cal_com_event_type_booking_fields_bulk_delete

Delete a custom booking field from a cal.com event type by its slug. Returns the remaining booking fields collection, including each field's slug and hidden state. Required: event_type_id, slug. Default fields cannot be deleted — hide them instead.

cal_com_event_type_booking_fields_bulk_delete_teams

Delete a custom booking field from a cal.com team event type by its slug. Returns the remaining booking fields collection, including each field's slug and hidden state. Required: team_id, event_type_id, slug. Default fields cannot be deleted — hide them instead.

cal_com_event_type_booking_fields_bulk_delete_version

Delete a custom booking field from a cal.com organization team event type by its slug. Returns the remaining booking fields collection, including each field's slug and hidden state. Required: org_id, team_id, event_type_id, slug. Default fields cannot be deleted — hide them instead.

cal_com_event_type_booking_fields_bulk_update

Replace all booking fields of a cal.com event type with the submitted list: omitted custom fields are deleted and omitted default fields are restored with their default settings, while workflow-added fields are read-only and ignored. Returns the resulting booking fields collection — each field includes slug, required, and hidden. Use the booking fields partial update to change specific fields.…

cal_com_event_type_booking_fields_bulk_update_teams

Replace all booking fields of a cal.com team event type with the submitted list: omitted custom fields are deleted and omitted default fields are restored with their default settings, while workflow-added fields are read-only and ignored. Returns the resulting booking fields collection — each field includes slug, required, and hidden. Required: team_id, event_type_id, and a booking fields array.

cal_com_event_type_booking_fields_bulk_update_version

Replace all booking fields on a cal.com organization team event type in one call. Returns the updated record with id, fields, and description. Required: org_id, team_id, event_type_id. Omitted custom fields are deleted, omitted default fields are restored to their defaults, and read-only workflow-added fields are ignored.

create_a_cal_com_event_type_booking_field

Add custom booking fields to a cal.com event type. Returns the created booking-field records including their slug and hidden settings. Required: event_type_id plus a booking-fields payload. Default and workflow-added fields cannot be added through this endpoint.

list_all_cal_com_event_type_booking_fields

List booking fields for a cal.com event type. Returns the record with id, fields, and description. Required: event_type_id. Includes default and custom fields plus any read-only workflow-added fields.

cal_com_event_type_booking_fields_partial_update

Update specific booking fields on a cal.com event type, matched by slug. Returns the updated record with id, fields, and description. Required: event_type_id and the fields to update; omitted properties keep their current values and workflow-added fields are read-only.

create_a_cal_com_event_type_booking_fields_booking_field

Create custom booking fields for a cal.com team event type. Returns the booking fields for that event type — default fields, custom fields, and any read-only workflow-added fields. Required: team_id, event_type_id. Default and workflow-added fields cannot be added through this endpoint.

list_all_cal_com_event_type_booking_fields_booking_fields

Get the booking fields for a cal.com team event type. Returns the booking fields — default fields, custom fields, and any read-only workflow-added fields. Required: team_id, event_type_id.

cal_com_event_type_booking_fields_booking_fields_partial_update

Update the booking fields of a cal.com team event type, matching fields by slug; omitted properties keep their current values. Returns the updated booking fields — default, custom, and read-only workflow-added fields. Required: team_id, event_type_id, slug. Workflow-added fields are read-only.

list_all_cal_com_event_type_crm_sync_errors

List CRM sync errors for an event type. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. By default, only active CRM sync errors are returned; pass `includeDismissed=true` to include dismissed errors. If accessed using an OAuth access token, the `EVENT_TYPE_READ` scope is required. (Cal.com API v2, GET /v2/event-types/{eventTypeId}/crm-sync-errors). Required: event_type_id, appSlug. Uses cal-api-version 2026-06-12.

get_single_cal_com_event_type_history_by_id

Get event type history. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. If accessed using an OAuth access token, the `EVENT_TYPE_READ` scope is required. Only the event type owner and applicable administrators can view its history. General event type read access does not include access to its history. (Cal.com API v2, GET /v2/event-types/{eventTypeId}/history). Uses cal-api-version 2026-06-12.

get_single_cal_com_event_type_scheduling_config_by_id

Get the scheduling configuration for a cal.com team event type by id. The response varies by the event type's scheduling type, and non-team event types are rejected. Returns: eventTypeId, schedulingType, hosts, assignAllTeamMembers, hostGroups, rescheduleWithSameRoundRobinHost, allowRRHostChoiceOnReschedule, isRRWeightsEnabled, maxLeadThreshold, includeNoShowInRRCalculation,…

cal_com_event_type_webhooks_bulk_delete

Delete all webhooks. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/event-types/{eventTypeId}/webhooks). Required: event_type_id.

cal_com_event_type_webhooks_bulk_delete_teams

Delete all webhooks for a team event type. If accessed using an OAuth access token, the `TEAM_EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks). Required: team_id, event_type_id.

cal_com_event_type_webhooks_bulk_update

Update a webhook. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/event-types/{eventTypeId}/webhooks/{webhookId}). Required: event_type_id, webhook_id.

delete_a_cal_com_event_type_webhook_by_id

Delete a webhook. If accessed using an OAuth access token, the `EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, DELETE /v2/event-types/{eventTypeId}/webhooks/{webhookId}). Required: event_type_id.

get_single_cal_com_event_type_webhook_by_id

Get a webhook. If accessed using an OAuth access token, the `EVENT_TYPE_READ` scope is required. (Cal.com API v2, GET /v2/event-types/{eventTypeId}/webhooks/{webhookId}). Required: event_type_id.

list_all_cal_com_event_type_webhooks

Get all webhooks. If accessed using an OAuth access token, the `EVENT_TYPE_READ` scope is required. (Cal.com API v2, GET /v2/event-types/{eventTypeId}/webhooks). Required: event_type_id.

update_a_cal_com_event_type_webhook_by_id

Update a webhook for a team event type. If accessed using an OAuth access token, the `TEAM_EVENT_TYPE_WRITE` scope is required. (Cal.com API v2, PATCH /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId}). Required: team_id, event_type_id.

delete_a_cal_com_event_type_webhooks_event_type_by_id

Delete a webhook subscription for a Cal.com team event type. Returns the deleted webhook object including its id, subscriberUrl, eventTriggers, payloadTemplate, and appId. Required: team_id, event_type_id, and id (the webhook id).

get_single_cal_com_event_type_webhooks_event_type_by_id

Get a single webhook subscription for a Cal.com team event type by id. Returns the webhook object including its id, subscriberUrl, eventTriggers, payloadTemplate, and appId. Required: team_id, event_type_id, and id (the webhook id).

list_all_cal_com_event_type_webhooks_event_types

List webhook subscriptions for a Cal.com team event type. Returns each webhook record including id, subscriberUrl, eventTriggers, payloadTemplate, and appId. Required: team_id and event_type_id.

cal_com_event_types_attach_webhook

Create a webhook for a Cal.com event type. Returns the created webhook object including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Required: event_type_id plus a webhook configuration body.

get_single_cal_com_event_by_id

Get a single cal.com Event (a fixed-date RSVP page served at cal.com/{slug} — not an event type or calendar event) by id. Returns: uuid, slug, title, description, startTime, endTime, timeZone, visibility, hidden, publishedAt, cancelledAt, locations, coverImageUrl, requiresApproval, waitlistEnabled, confirmedCount, id, attributes. Required: id.

list_all_cal_com_events

List cal.com Events the authenticated user hosts — Events they own plus Events with an accepted co-host invitation (including team-owned ones they co-host). Returns: uuid, slug, title, description, startTime, endTime, timeZone, visibility, hidden, publishedAt, cancelledAt, locations, coverImageUrl, requiresApproval, waitlistEnabled, confirmedCount, id, attributes.

cal_com_oauth_client_webhooks_bulk_delete

Delete all webhooks. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, DELETE /v2/oauth-clients/{clientId}/webhooks). Required: client_id.

cal_com_oauth_client_webhooks_bulk_update

Update a webhook. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, PATCH /v2/oauth-clients/{clientId}/webhooks/{webhookId}). Required: client_id, webhook_id.

delete_a_cal_com_oauth_client_webhook_by_id

Delete a webhook. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, DELETE /v2/oauth-clients/{clientId}/webhooks/{webhookId}). Required: client_id.

get_single_cal_com_oauth_client_webhook_by_id

Get a webhook. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, GET /v2/oauth-clients/{clientId}/webhooks/{webhookId}). Required: client_id.

list_all_cal_com_oauth_client_webhooks

Get all webhooks. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, GET /v2/oauth-clients/{clientId}/webhooks). Required: client_id.

cal_com_oauth_clients_attach_webhook

Create a webhook. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, POST /v2/oauth-clients/{clientId}/webhooks). Required: client_id.

create_a_cal_com_oauth_client

Create an OAuth client. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, POST /v2/oauth-clients).

delete_a_cal_com_oauth_client_by_id

Delete an OAuth client. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, DELETE /v2/oauth-clients/{clientId}).

get_single_cal_com_oauth_client_by_id

Get an OAuth client. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, GET /v2/oauth-clients/{clientId}).

list_all_cal_com_oauth_clients

Get all OAuth clients. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, GET /v2/oauth-clients).

update_a_cal_com_oauth_client_by_id

Update an OAuth client. These endpoints are deprecated and will be removed in the future. (Cal.com API v2, PATCH /v2/oauth-clients/{clientId}).

create_a_cal_com_routings_failed_bookings_by_field

Get failed booking counts grouped by routing form field in cal.com, for user, team, or organization insights. Requires a JSON request body following the RoutingInsightsBaseInput schema. Returns the 200 aggregation payload defined by the failed-bookings-by-field output schema.

create_a_cal_com_routings_form_field_option

Get routing form field options. Get routing form fields and options for user, team, or organization insights. (Cal.com API v2, POST /v2/insights/routings/form-field-options).

create_a_cal_com_routings_form_response_header

Get routing form response headers. Get routing form response headers for user, team, or organization insights. (Cal.com API v2, POST /v2/insights/routings/form-response-headers).

create_a_cal_com_routings_form_response

Get routing form responses. Get paginated routing form responses for user, team, or organization insights. (Cal.com API v2, POST /v2/insights/routings/form-responses).

create_a_cal_com_routings_forms_by_status

Get routing forms by status. Get routing form response counts by booking status for user, team, or organization insights. (Cal.com API v2, POST /v2/insights/routings/forms-by-status).

create_a_cal_com_routings_routed_to_per_period

Get routed-to booking counts by user and period for Cal.com user, team, or organization insights. Returns the routed-to-per-period aggregate whose field structure is defined by Cal.com's routed-to-per-period output schema (fields are not enumerated in the available documentation). Requires a JSON request body matching Cal.com's RoutedToPerPeriodInput schema.

cal_com_booking_limits_bulk_delete

Clear the authenticated cal.com user's global booking limits, removing all of them in one call. Returns an empty 204 response on success.

cal_com_booking_limits_bulk_update

Update the authenticated cal.com user's global booking limits. Partial update: fields present in the body are changed, omitted fields are left untouched, and setting a field to null removes that limit. Returns: attributes (the updated booking limit bounds; unset bounds are returned as null). Requires a request body.

get_single_cal_com_booking_limit_by_id

Get the authenticated cal.com user's global booking limits. Returns: perDay, perWeek, perMonth, perYear. Only available to organization members — non-org accounts receive a 403.

create_a_cal_com_event_type_create_phone_call

Create a phone call for a Cal.com team event type by submitting a CreatePhoneCallInput JSON body. Returns the created phone call object with fields defined by Cal.com's CreatePhoneCallOutput schema. Required: team_id, event_type_id.

create_a_cal_com_event_type_create_phone_calls_create_phone_call

Create a phone call for an organization team event type in calcom. Returns the created phone call record: id plus the remaining upstream-defined fields (attributes). Required: org_id, team_id, event_type_id.

create_a_cal_com_imessage_link_intent

Create an iMessage push linking intent in Cal.com under notification subscriptions. Returns the created link intent record: id, attributes (the attribute fields come from Cal.com's ChatPushLinkIntentResponseDto and are not enumerated in the source docs).

cal_com_notifications_agent_channels_bulk_update

Enable or disable a Cal.com agent notification channel. Returns: slack, telegram, imessage. Required: channel (one of slack, telegram, or imessage), plus a JSON body carrying the channel enable/disable settings.

list_all_cal_com_notifications_agent_channels

Get the Cal.com agent notification channel selection. Returns: slack, telegram, imessage.g. slack, telegram, imessage) are enabled. Takes no required parameters.

get_single_cal_com_oauth_2_client_by_id

Get a Cal.com OAuth2 client by id. Returns the OAuth2 client information for the given client ID, including its client_id, name, redirect_uris, is_trusted, and client_type. Required: id.

create_a_cal_com_oauth_2_token

Exchange an authorization code or refresh token for new Cal.com OAuth2 tokens via the RFC 6749-compliant token endpoint. Returns: access_token, refresh_token, token_type, expires_in, scope. Required: client_id and grant_type — with grant_type=authorization_code also supply code and redirect_uri (plus client_secret for confidential clients or code_verifier for public/PKCE clients); with…

create_a_cal_com_ooo

Create an out-of-office entry for the authenticated user in Cal.com. Returns the created entry including its id, start, end, notes, reason, and reasonId. Required: start, end.

delete_a_cal_com_ooo_by_id

Delete an out-of-office entry by id for the authenticated user in Cal.com. Returns the deleted entry including its id, start, end, notes, reason, and reasonId. Required: id.

get_single_cal_com_ooo_by_id

List all out-of-office entries for the authenticated user in Cal.com. Returns entries including id, start, end, notes, reason, and reasonId. Max 250 items per page (take defaults to 250); sort by start or end time in asc or desc order.

update_a_cal_com_ooo_by_id

Update an out-of-office entry by id for the authenticated user in Cal.com. Returns the updated entry including its id, start, end, notes, reason, and reasonId. Required: id.

create_a_cal_com_routing_form_calculate_slot

Calculate available booking slots for a Cal.com routing form by evaluating a routing form response against its routes without saving the response. Returns a schema-specific payload whose exact fields depend on the routed event type and the format query parameter. Required: routing_form_id, start, end. The routing form response body must be a non-empty map of field identifier to answer.

create_a_cal_com_slack_link_intent

Create a Slack push linking intent in Cal.com to begin linking a Slack channel for push notifications. Returns the created intent including its id and attributes; the field set is defined upstream by ChatPushLinkIntentResponseDto and is not enumerated in the docs. No request body required.

cal_com_subscriptions_app_pushes_bulk_delete

Remove an app push subscription in Cal.com. Returns the removal result object on 200. Required: a JSON request body matching the upstream RemoveAppPushSubscriptionInput schema (fields not enumerated in the discovered source).

create_a_cal_com_subscriptions_app_push

Register an app push subscription in Cal.com. Returns the created subscription object (upstream AppPushSubscriptionResponseDto; field names not enumerated in the available docs). Requires a JSON request body matching the RegisterAppPushSubscriptionInput schema.

cal_com_subscriptions_imessages_bulk_delete

Remove an iMessage push subscription in calcom. Returns a 200 removal-confirmation object (upstream RemoveImessageSubscriptionResponseDto; its field-level shape is not enumerated in the source). Requires a JSON request body identifying the subscription to remove (upstream RemoveChatSubscriptionInput).

cal_com_subscriptions_slacks_bulk_delete

Remove a Slack push subscription in Cal.com. Returns a 200 confirmation that the subscription was removed; the response body's fields are not enumerated in Cal.com's documentation. Requires a JSON request body identifying the subscription to remove.

cal_com_subscriptions_telegrams_bulk_delete

Delete a Telegram push notification subscription in Cal.com. Returns a 200 acknowledgement whose payload shape is not enumerated in the source documentation. Requires a JSON request body identifying the Telegram subscription to remove.

delete_a_cal_com_team_booking_limit_by_id

Clear your own booking-limit numbers for one team in calcom so the team default applies to you again; this does not lift the team's limit. Returns an empty 204 response on success. Required: id (team id).

get_single_cal_com_team_booking_limit_by_id

Get every team booking limit that applies to you as a round-robin host in calcom. Returns per-team limit records (id, attributes) covering the team's default, your own number where you set one, and what is enforced. Teams you host for that set no limit are omitted.

update_a_cal_com_team_booking_limit_by_id

Set your own numbers for one team's booking limit in calcom. Omitted intervals keep their stored values, a null interval reverts to the team default, and values are capped at your overall limit for the same interval. Returns the updated record (id, attributes). Only accepted for teams you are a round-robin host of. Required: id (team id).

cal_com_team_event_types_attach_webhook

Attach a webhook to a team event type in Cal.com. Returns the created webhook with: id, subscriberUrl, triggerEvent, payloadTemplate, time, and timeUnit. Required: team_id, event_type_id, subscriberUrl, and triggerEvent.

cal_com_team_event_types_bulk_delete

Delete an organization team event type in Cal.com. Returns the deleted event type's id and title. Required: org_id, team_id, and event_type_id.

cal_com_team_event_types_bulk_update

Update an organization team event type in Cal.com. Returns the updated event type with: id, title, and slug. Required: org_id, team_id, and event_type_id. Omit bookingFields to keep the existing booking fields; if provided, the array replaces them and any omitted default fields are restored with their default settings.

create_a_cal_com_team_event_type

Create an event type for an organization team in Cal.com. Returns: id, title, slug. Required: org_id, team_id, title, and slug. If bookingFields is omitted, the event type is created with its default booking fields and at least one contact field—email or attendeePhoneNumber—must remain visible and required.

delete_a_cal_com_team_event_type_by_id

Delete an existing event type in Cal.com by its id, or by its unique URL if it is not hosted on cal-hosted platform (deletes the cached copy only). Returns the deleted event type with: id, title, slug, length, hidden, position, metadata. Required: team_id and event_type_id.

get_single_cal_com_team_event_type_by_id

Get a Cal.com team event type by id. Returns: id, lengthInMinutes, lengthInMinutesOptions, title, slug, description, locations, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, metadata, price, currency, lockTimeZoneToggleOnBookingPage, seatsPerTimeSlot, forwardParamsSuccessRedirect, successRedirectUrl, isInstantEvent, seatsShowAvailabilityCount,…

list_all_cal_com_team_event_types

List Cal.com team event types for a team. Returns each event type's id, title, slug, and teamId. Hidden event types are returned only to team administrators or owners. Required: team_id.

update_a_cal_com_team_event_type_by_id

Update a Cal.com team event type by id. Returns the updated event type's id, title, slug, and teamId. Omit bookingFields to keep existing booking fields; if provided, the array replaces them. Required: team_id, id.

create_a_cal_com_team_event_types_event_type

Create a team event type within a Cal.com organization team. Returns the created event type including id, title, slug, and teamId. Required: org_id, team_id, title, slug. If bookingFields is omitted, the event type is created with its default booking fields, and at least one contact field (email or attendeePhoneNumber) must remain visible and required.

get_single_cal_com_team_event_types_event_type_by_id

Get a single event type of a Cal.com organization team by id. Returns: id, lengthInMinutes, lengthInMinutesOptions, title, slug, description, locations, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, metadata, price, currency, lockTimeZoneToggleOnBookingPage, seatsPerTimeSlot, forwardParamsSuccessRedirect, successRedirectUrl, isInstantEvent,…

list_all_cal_com_team_event_types_event_types

List event types of a Cal.com organization team. Returns each event type with id, slug, title, hidden, hosts, and bookingFields. Required: org_id, team_id.

list_all_cal_com_teams_event_types

List all team event types across the teams of a cal.com organization. Returns each event type with id, title, slug, teamId, and a hidden flag. Required: org_id. Max 250 items per page (take defaults to 250).

create_a_cal_com_telegram_link_intent

Create a Telegram push linking intent in Cal.com, starting the flow that links a Telegram chat for push notification subscriptions. Returns the created intent record including its id and an attributes object whose fields are defined by the upstream ChatPushLinkIntentResponseDto schema. No request body is required.

create_a_cal_com_verification_code_request

Request a Cal.com email verification code. Asks Cal.com to send a verification code to the email so it can be confirmed as a verified resource. Returns the API's success confirmation payload; the upstream docs do not publish this response's field-level shape. Required: org_id, team_id.

create_a_cal_com_verification_code_requests_request

Request a phone number verification code in Cal.com. Sends a verification code to the phone number supplied in the JSON request body. Returns the phone verification-code request confirmation object. Requires a JSON request body specifying the phone number to verify.

create_a_cal_com_verification_code_verify

Verify an email for an org team in calcom by submitting the verification code sent to it. Returns the verified email resource with its id. Requires org_id, team_id, and a JSON request body.

create_a_cal_com_verification_code_verifies_verify

Verify a phone number in Cal.com by submitting the verification code sent to it (request one via the phone verification-code request endpoint). Returns the verified phone record including its id. Requires the verification code received on the phone number.

get_single_cal_com_verified_resources_email_by_id

Get verified email by id. If accessed using an OAuth access token, the `VERIFIED_RESOURCES_READ` scope is required. (Cal.com API v2, GET /v2/verified-resources/emails/{id}).

list_all_cal_com_verified_resources_emails

Get list of verified emails. If accessed using an OAuth access token, the `VERIFIED_RESOURCES_READ` scope is required. (Cal.com API v2, GET /v2/verified-resources/emails).

get_verified_resources_emails_verified_resource_by_id

Get a verified email of a Cal.com team by id. Returns the verified email record with id, email, created_at, and updated_at. Required: team_id, id.

list_all_cal_com_verified_resources_emails_verified_resources

List verified emails of a Cal.com team. Returns verified email records with id, email, created_at, and updated_at. Required: team_id.

get_single_cal_com_verified_resources_phone_by_id

Get a single verified phone number in Cal.com by id. Returns: id, phoneNumber, userId, isVerified, isDirty. Required: id.

list_all_cal_com_verified_resources_phones

List verified phone numbers in Cal.com. Returns: id, phoneNumber, userId, isVerified, isDirty. Max 250 per page.

get_verified_resources_phones_verified_resource_by_id

Get a verified phone number of a Cal.com team by id. Returns: id, phoneNumber, userId, teamId. Required: team_id, id.

list_all_cal_com_verified_resources_phones_verified_resources

List verified phone numbers of a Cal.com team. Returns verified phone number records with their id and schema-specific attributes. Required: team_id. Max 250 per page.

get_single_cal_com_schedules_default_by_id

Get the default schedule of the authenticated user in Cal.com. Returns: id, ownerId, name, timeZone, availability, isDefault, overrides.

create_a_cal_com_selected_calendar

Add a selected calendar in cal.com so the chosen connected calendar is used for availability. Returns: integration. Requires a JSON request body per the upstream SelectedCalendarsInputDto.

cal_com_selected_calendars_bulk_delete

Delete a selected calendar in cal.com by identifying it with its calendar integration and credentials. Returns: integration. Required: integration, externalId, credentialId.

list_all_cal_com_slots

List available time slots for a Cal.com event type over a date range, by eventTypeId, by event type slug with username or teamSlug, or by usernames for dynamic events. Returns a map of dates to slot objects with start (and end when format=range; attendeesCount and bookingUid for seated slots). Required: start, end. Managed event types: use child event type ids.

create_a_cal_com_slots_reservation

Reserve a slot in cal.com so others can't book it for a period of time; the hold defaults to 5 minutes unless a custom duration is set. Requires the 2024-09-04 reserve-slot JSON body. Returns the reservation's uid.

get_single_cal_com_slots_reservation_by_id

Get a single reserved slot in cal.com by id. Returns the reserved slot's uid, the identifier to pass to update or delete. Required: id.

update_a_cal_com_slots_reservation_by_id

Update a reserved slot in cal.com by id, e.g. to change how long the slot is held — a custom reservation duration requires an authenticated caller. Requires the reserve-slot JSON body. Returns the reservation's uid. Required: id.

delete_a_cal_com_slots_reservation_by_id

Delete a reserved slot in cal.com by id. Returns: status. Required: id.

list_all_cal_com_timezones

List the cities Cal.com knows timezones for, returning each entry as a display city name plus the IANA timezone identifier to store and send back. Returns: city, timezone, country, region, pop. Optional: search (max 100 chars, matches city/timezone names or a complete IANA identifier) and limit (1–250, relevance-ordered).

list_all_cal_com_webhooks

List all Cal.com webhooks for the authenticated user. Returns each webhook record including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Max 250 per page.

create_a_cal_com_webhook

Create a Cal.com webhook subscription that fires at the given listener URL when its trigger events occur. Returns the created webhook including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Required: subscriberUrl, eventTriggers. The subscriber URL must be HTTPS on Cal.com SaaS; HTTP, private/internal IPs and localhost are rejected.

get_single_cal_com_webhook_by_id

Get a single Cal.com webhook by id. Returns the webhook record including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Required: id.

update_a_cal_com_webhook_by_id

Update a Cal.com webhook by id, changing its listener URL, trigger events, secret, or custom payload template. Returns the updated webhook including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Required: id.

delete_a_cal_com_webhook_by_id

Delete a Cal.com webhook by id so it no longer fires at its subscriber URL. Returns the deleted webhook including its id, subscriberUrl, eventTriggers, appId, and payloadTemplate. Required: id.

list_all_cal_com_workflows

List the event-type workflows owned by the authenticated Cal.com user. Returns: id, name, userId, teamId, createdAt, updatedAt, type, activation, trigger, steps, activeOn. Routing form workflows are not returned. Max 250 per page.

create_a_cal_com_workflow

Create an event-type workflow owned by the authenticated Cal.com user. Returns: id, name, userId, teamId, createdAt, updatedAt, type, activation, trigger, steps, activeOn. A JSON request body is required; see the cal.com docs page for the accepted fields.

get_single_cal_com_workflow_by_id

Get an event-type workflow owned by the authenticated Cal.com user by id. Returns: id, name, userId, teamId, createdAt, updatedAt, type, activation, trigger, steps, activeOn. Required: id. Routing form workflows are not addressable through this endpoint.

update_a_cal_com_workflow_by_id

Update a Cal.com event-type workflow by id. Returns the updated workflow's id and its version-specific fields (attributes). Required: id.

delete_a_cal_com_workflow_by_id

Delete an event-type workflow in calcom by id. Returns an empty 204 response on success. Required: id. Not available to third-party OAuth access tokens.

list_all_cal_com_org_webhooks

List all webhooks configured for a Cal.com organization (GET /v2/organizations/{orgId}/webhooks). Returns each webhook's id, subscriberUrl, eventTriggers, appId, time, timeUnit, and payloadTemplate. Required: org_id. Maximum 250 items per request.

create_a_cal_com_org_webhook

Create a webhook for a Cal.com organization. Returns an empty 204 response on success. Required: org_id.

get_single_cal_com_org_webhook_by_id

Get a Cal.com organization webhook by id. Returns the webhook with id, subscriberUrl, eventTriggers, appId, payloadTemplate, and secret. Required: org_id, webhook_id. The webhook id is passed as id.

update_a_cal_com_org_webhook_by_id

Update a Cal.com organization webhook, changing its subscriberUrl, eventTriggers, secret, or payloadTemplate. Returns the updated webhook with id, subscriberUrl, and eventTriggers. Required: org_id, webhook_id. The webhook id is passed as id.

delete_a_cal_com_org_webhook_by_id

Delete a Cal.com organization webhook by id. Returns the deleted webhook with id, subscriberUrl, and eventTriggers. Required: org_id, webhook_id. The webhook id is passed as id.

Why Truto

Why use Truto’s MCP server for Cal.com

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

For your product

Ship Cal.com tools in your product

Give the AI in your product access to each customer’s own Cal.com account, with one MCP server per connected account.

Rather talk it through? Book a demo

Elaichi

For your own team

Use Cal.com in ChatGPT or Claude yourself

Connect your company’s Cal.com once, then ask in the AI you already use, with exactly your own access.

From the team behind Truto · 14-day free trial

Unified APIs

Unified APIs for Cal.com

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified Calendar API

Availability

Represents the availability of a person in a time period.

View Docs

Calendars

Represents a calendar of a user. Can have multiple events associated with it.

View Docs

Event Types

View Docs

Events

Events are the time-bound tasks that are associated with a calendar.

View Docs

How It Works

From zero to integrated

Go live with Cal.com in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Cal.com account

Use Truto’s frontend SDK to connect your customer’s Cal.com account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Cal.com

Truto’s Proxy API is a 1-to-1 mapping of the Cal.com API. You call us, we call Cal.com, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Cal.com’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Cal.com on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does the Cal.com integration use?

Cal.com supports API key-based authentication. Your end users provide their Cal.com API key, and Truto securely stores and manages it so your app never has to handle credentials directly.

Which Cal.com resources can I read and write through Truto?

You get full CRUD on Schedules, Event Types, Teams, and Bookings (create and list). You can also list Calendars connected to a Cal.com account. These map to Truto's Unified Calendar API covering Availability, Calendars, Event Types, and Events.

Can I create bookings on behalf of my end users' attendees?

Yes. The create_a_calcom_booking tool lets you specify the eventTypeId, start time, and attendee details, so your app can book meetings programmatically without the attendee visiting a Cal.com page.

Does Truto handle pagination when listing bookings or event types?

Yes. Truto abstracts away Cal.com's pagination logic. When you call list endpoints like list_all_calcom_bookings or list_all_calcom_event_types, Truto manages cursor or page-based pagination automatically and returns consistent responses.

Can I manage availability overrides like vacation days or blocked hours?

Yes. Cal.com schedules include date-specific overrides alongside regular weekly availability. You can read and write these overrides using the schedule CRUD tools (create, update, get, delete) to block dates or modify hours for specific days.

How does the Unified Calendar API map to Cal.com-specific objects?

Truto's Unified Calendar API maps Availability to Cal.com Schedules, Calendars to connected Cal.com Calendars, Event Types directly to Cal.com Event Types, and Events to Cal.com Bookings. This lets you write integration code once and support additional scheduling tools later.

Cal.com

Get Cal.com integrated into your app

Our team understands what it takes to make a Cal.com integration successful. A short, crisp 30 minute call with folks who understand the problem.