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 usUse Cases
Why integrate with Cal.com
Common scenarios for SaaS companies building Cal.com integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
get_single_cal_com_event_type_history_by_id
Get event type history.
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.
cal_com_oauth_client_webhooks_bulk_update
Update a webhook.
delete_a_cal_com_oauth_client_webhook_by_id
Delete a webhook.
get_single_cal_com_oauth_client_webhook_by_id
Get a webhook.
list_all_cal_com_oauth_client_webhooks
Get all webhooks.
cal_com_oauth_clients_attach_webhook
Create a webhook.
create_a_cal_com_oauth_client
Create an OAuth client.
delete_a_cal_com_oauth_client_by_id
Delete an OAuth client.
get_single_cal_com_oauth_client_by_id
Get an OAuth client.
list_all_cal_com_oauth_clients
Get all OAuth clients.
update_a_cal_com_oauth_client_by_id
Update an OAuth client.
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.
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.
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.
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.
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.
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.
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
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
How It Works
From zero to integrated
Go live with Cal.com in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.
From the Blog
Cal.com integration guides
Deep dives, architecture guides, and practical tutorials for building Cal.com integrations.
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.