# Cal — MCP server on mcp.ai > Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process By: mcp.ai · official Page: https://mcp.ai/cal ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_cal?ms=1781542320000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/cal/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/cal/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/cal/skill.md Postman collection (v2.1): https://mcp.ai/cal/postman.json ## Tools - cal_add_member_to_team_using_org_and_team_id(role?: string, orgId: integer, teamId: integer, userId: integer, accepted?: boolean, disableImpersonation?: boolean) — Adds a new member to a specified team within an organization by creating a team membership. - cal_add_organization_attribute_option(slug: string, orgId: integer, value: string, attributeId: string) — Adds a new option to an organization's attribute, requiring a display `value` and a `slug` unique for that attribute. - cal_cal_delete_oauth_client_webhook(clientId: string, webhookId: string) — Permanently deletes a specific webhook subscription of an oauth client in the cal application, stopping its notifications. - cal_cancel_booking_via_uid(bookingUid: string) — Cancels an existing and active cal.com booking using its unique identifier (uid). - cal_check_calendar_version2(calendar: string) — Retrieves free/busy availability for a specified calendar to aid scheduling without revealing event details; requires an existing, accessible calendar, noting that data granularity can vary. - cal_check_gcal_synchronization_status() — Call this read-only action to verify the connection and synchronization status of a user's google calendar integration with cal. - cal_check_ics_feed_calendar_endpoint() — Checks an ics feed url (expected as a query parameter) to verify its validity, accessibility, and icalendar data integrity. - cal_check_stripe_status() — Verifies if stripe is correctly connected to the cal scheduling system and functional for processing payments, reporting only on the integration's status. - cal_check_team_stripe_integration_status(teamId: string) — Retrieves the stripe integration status and related information for a team, primarily to verify account connection, subscription details, or payment setup; this is a read-only operation that does not - cal_confirm_booking_by_uid(bookingUid: string) — Confirms an existing booking by `bookinguid` if the booking exists and is in a state allowing confirmation (e.g., not already cancelled or confirmed); this finalizes the booking, does not modify its d - cal_connect_to_calendar(calendar: string) — Initiates or checks the external connection status for a specified calendar, possibly returning a redirect url for user authorization to complete integration, without altering calendar data. - cal_create_membership_for_organization(role?: string, orgId: integer, userId: integer, accepted?: boolean, disableImpersonation?: boolean) — Creates a new membership or updates an existing one for a user within an organization; the user specified by userid must already exist in the system. - cal_create_oauth_client_user(name: string, email: string, locale?: string, clientId: string, timeZone?: string, avatarUrl?: string, weekStart?: string, timeFormat?: integer) — Creates a new managed user for an oauth client, setting profile and scheduling preferences; if `timezone` is not provided, a default schedule (mon-fri, 9am-5pm) is not created, requiring manual setup - cal_create_oauth_client_webhook_configuration(active: boolean, secret?: string, clientId: string, triggers: string, subscriberUrl: string, payloadTemplate?: string) — Creates a webhook for an existing oauth client to send real-time cal.com event notifications (e.g., `booking created`, `meeting ended`) to the `subscriberurl`, enabling integration with external syste - cal_create_or_update_team_profile(bio?: string, name: string, slug?: string, theme?: string, appLogo?: string, logoUrl?: string, metadata?: string, timeZone?: string, bannerUrl?: string, isPrivate?: boolean, weekStart?: string, brandColor?: string, timeFormat?: integer, appIconLogo?: string, calVideoLogo?: string, hideBranding?: boolean, darkBrandColor?: string, autoAcceptCreator?: boolean, hideBookATeamMember?: boolean) — Creates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details. - cal_create_organization_attributes(name: string, slug: string, type: string, orgId: integer, enabled?: boolean, options: object[]) — Creates a new custom attribute for an existing organization, used to enhance data collection for event bookings or user profiles. - cal_create_organization_webhook_by_org_id(orgId: integer, active: boolean, secret?: string, triggers: string, subscriberUrl: string, payloadTemplate?: string) — Creates a webhook for a specified, existing organization, sending notifications for selected trigger events to a designated, publicly accessible subscriber url that accepts post requests. - cal_create_phone_call_event(orgId: integer, teamId: integer, calApiKey: string, guestName?: string, guestEmail?: string, eventTypeId: integer, beginMessage?: string, guestCompany?: string, numberToCall: string, templateType?: string, generalPrompt?: string, schedulerName?: string, yourPhoneNumber: string) — Schedules a phone call event in cal.com using existing eventtype, organization, and team ids; this action only registers the event details and does not initiate the actual phone call. - cal_create_phone_call_for_event_type(teamId: integer, calApiKey: string, guestName?: string, guestEmail?: string, eventTypeId: integer, beginMessage?: string, guestCompany?: string, numberToCall: string, templateType?: string, generalPrompt?: string, schedulerName?: string, yourPhoneNumber: string) — Creates a phone call template associated with an existing event type and team, for defining reusable call configurations like numbers and scripts; note this does not initiate an actual call. - cal_create_team_event_type(slug: string, hosts: object[], seats?: object, title: string, teamId: integer, locations?: object[], customName?: string, recurrence?: object, scheduleId?: integer, description?: string, offsetStart?: integer, slotInterval?: integer, bookingFields?: object[], bookingWindow?: object, disableGuests?: boolean, lengthInMinutes: integer, afterEventBuffer?: integer, beforeEventBuffer?: integer, hideCalendarNotes?: boolean, bookingLimitsCount?: object, confirmationPolicy?: object, successRedirectUrl?: string, color__darkThemeHex?: string, assignAllTeamMembers?: boolean, color__lightThemeHex?: string, minimumBookingNotice?: integer, bookingLimitsDuration?: object, lengthInMinutesOptions: string[], hideCalendarEventDetails?: boolean, onlyShowFirstAvailableSlot?: boolean, useDestinationCalendarEmail?: boolean, destinationCalendar__externalId?: string, lockTimeZoneToggleOnBookingPage?: boolean, requiresBookerEmailVerification?: boolean, destinationCalendar__integration?: string) — Creates a new event type for a specified team in cal.com; ensure `teamid`, any provided `scheduleid`, `hosts.userid`, and `destinationcalendar` details are valid and accessible. - cal_create_team_event_types_with_custom_options(slug: string, hosts: object[], orgId: integer, seats?: object, title: string, teamId: integer, locations?: object[], customName?: string, recurrence?: object, scheduleId?: integer, description?: string, offsetStart?: integer, slotInterval?: integer, bookingFields?: object[], bookingWindow?: object, disableGuests?: boolean, lengthInMinutes: integer, afterEventBuffer?: integer, beforeEventBuffer?: integer, hideCalendarNotes?: boolean, bookingLimitsCount?: object, confirmationPolicy?: object, successRedirectUrl?: string, color__darkThemeHex?: string, assignAllTeamMembers?: boolean, color__lightThemeHex?: string, minimumBookingNotice?: integer, bookingLimitsDuration?: object, lengthInMinutesOptions: string[], hideCalendarEventDetails?: boolean, onlyShowFirstAvailableSlot?: boolean, useDestinationCalendarEmail?: boolean, destinationCalendar__externalId?: string, lockTimeZoneToggleOnBookingPage?: boolean, requiresBookerEmailVerification?: boolean, destinationCalendar__integration?: string) — Creates a highly customizable cal.com team event type with extensive scheduling, booking, and host assignment options; `lengthinminutes` (as string) must be included in `lengthinminutesoptions`, desti - cal_create_team_in_organization(bio?: string, name: string, slug?: string, orgId: integer, theme?: string, appLogo?: string, logoUrl?: string, metadata?: string, timeZone?: string, bannerUrl?: string, isPrivate?: boolean, weekStart?: string, brandColor?: string, timeFormat?: integer, appIconLogo?: string, calVideoLogo?: string, hideBranding?: boolean, darkBrandColor?: string, autoAcceptCreator?: boolean, hideBookATeamMember?: boolean) — Creates a new team with customizable attributes within an existing and accessible cal.com organization specified by orgid. - cal_create_team_membership_with_role(role?: string, teamId: integer, userId: integer, accepted?: boolean, disableImpersonation?: boolean) — Adds a user to a team with a specified role, acceptance status, and impersonation settings; ensure `teamid` and `userid` refer to existing, valid entities. - cal_create_user_availability_schedule(name: string, timeZone: string, isDefault: boolean, overrides?: object[], availability?: object[]) — Creates a cal.com user availability schedule, defining its name, timezone, weekly recurring availability, and specific date overrides; if `isdefault` is true, this schedule replaces any existing defau - cal_create_user_schedule_in_organization(name: string, orgId: integer, userId: integer, timeZone: string, isDefault: boolean, overrides?: object[], availability?: object[]) — Creates a new schedule defining a user's availability with weekly slots and date-specific overrides in an organization; setting 'isdefault' to true may replace an existing default schedule for the use - cal_create_webhook_for_event_type(active: boolean, secret?: string, triggers: string, eventTypeId: integer, subscriberUrl: string, payloadTemplate?: string) — Creates a webhook for an existing `eventtypeid` in cal.com, sending notifications for specified `triggers` to a `subscriberurl` that handles post requests. - cal_decline_booking_with_reason(reason?: string, bookingUid: string) — Declines a pending booking using its bookinguid, optionally with a reason; this action is irreversible and applies only to bookings awaiting confirmation. - cal_delete_conference_app_connection(app: string) — Disconnects the specified conferencing application (e.g., 'zoom', 'google meet') for the cal.com account, immediately terminating any ongoing call or meeting; use with caution. - cal_delete_event_type_by_id(eventTypeId: integer) — Permanently deletes an existing event type by its id, which invalidates its scheduling links; the operation is irreversible, and while existing bookings are unaffected, no new bookings can be made for - cal_delete_event_type_in_team(teamId: integer, eventTypeId: integer) — Permanently removes an event type's configuration from a team's scheduling options (e.g., for cleanup); this action is irreversible and requires the event type to be associated with the team. - cal_delete_membership_in_team(orgId: integer, teamId: integer, membershipId: integer) — Use to permanently remove a user's membership from a specific team within an organization, which revokes their team-associated access but does not remove them from the organization. - cal_delete_oauth_client_user(userId: integer, clientId: string) — Irreversibly revokes a specific user's association with a given oauth client, without deleting the user's cal account. - cal_delete_org_webhook(orgId: integer, webhookId: string) — Permanently deletes an organization's webhook, which stops all its notifications; this action is irreversible and the webhook cannot be recovered. - cal_delete_organization_attribute(orgId: integer, attributeId: string) — Permanently deletes an existing attribute (specified by `attributeid`) from an existing organization (specified by `orgid`); this action is irreversible and may affect features dependent on the attrib - cal_delete_organization_attribute_option(orgId: integer, optionId: string, attributeId: string) — Permanently deletes a specified option from an organization's attribute, typically to remove an unnecessary configuration choice. - cal_delete_organization_membership(orgId: integer, membershipId: integer) — Irreversibly deletes a user's membership from an organization, removing all associated access and permissions; the response confirms deletion without returning details of the deleted membership. - cal_delete_schedule_by_id(scheduleId: integer) — Permanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule. - cal_delete_selected_calendars(externalId: string, integration: string, credentialId: string) — Removes a specified, currently selected calendar from the user's active list within the application, without deleting it from the external provider. - cal_delete_selected_slot(uid: string) — Deletes a previously selected time slot from the cal schedule using its `uid`; the slot must exist and this action is irreversible. - cal_delete_team_by_id(teamId: integer) — Permanently and irreversibly deletes an existing team and all its associated data from the cal system, using the team's unique `teamid`. - cal_delete_team_from_organization(orgId: integer, teamId: integer) — Permanently and irreversibly deletes a specific team (and all its associated data, members, and linked projects/events) from an organization, when the team is no longer needed or during organizational - cal_delete_team_memberships_by_id(teamId: integer, membershipId: integer) — Irreversibly removes a user's team membership in the cal application, revoking access to that specific team; the user's overall cal account remains active. - cal_delete_user_attribute_option(orgId: integer, userId: integer, attributeOptionId: string) — Removes a custom attribute option (e.g., skill, role) currently assigned to a user within an organization; this operation is irreversible. - cal_delete_user_from_organization(orgId: integer, userId: integer) — Permanently removes a user from a specific organization (user's system-wide account is unaffected), revoking their access rights therein; this action is irreversible via api and expects the user to be - cal_delete_user_schedule(orgId: integer, userId: integer, scheduleId: integer) — Permanently deletes a specific user's schedule, provided the organization, user, and schedule (identified by `orgid`, `userid`, and `scheduleid`) exist. - cal_delete_webhook_by_id(webhookId: string) — Permanently deletes an existing webhook by its `webhookid`, stopping future notifications; this action is irreversible. - cal_delete_webhook_for_event_type(webhookId: string, eventTypeId: integer) — Permanently deletes a specific webhook for an event type, halting its real-time notifications; this operation is irreversible and leaves the event type and other webhooks untouched. - cal_delete_webhooks_for_event_type(eventTypeId: integer) — Call this to irreversibly delete all webhooks for a specific `eventtypeid` if the event type exists; details of deleted webhooks are not returned. - cal_disconnect_calendar_using_credential_id(id: integer, calendar: string) — Disconnects a calendar integration by its provider name and credential id, irreversibly revoking cal's access; external calendar data remains unaffected. - cal_fetch_all_bookings(skip?: integer, take?: integer, status?: string[], teamId?: string, sortEnd?: string, teamsIds?: string, beforeEnd?: string, sortStart?: string, afterStart?: string, eventTypeId?: string, sortCreated?: string, attendeeName?: string, eventTypeIds?: string, attendeeEmail?: string) — Fetches a list of bookings, optionally filtered by status, attendee, date range, or by event/team ids (which must belong to/include the authenticated user respectively), with support for pagination an - cal_fetch_event_type_details(orgId: integer, teamId: integer, eventTypeId: integer) — Fetches all configuration settings and characteristics for a single event type (identified by orgid, teamid, and eventtypeid), which must exist and be accessible; this read-only action cannot list, cr - cal_fetch_organization_attribute_by_id(orgId: integer, attributeId: string) — Retrieves a specific attribute of an organization, useful for fetching a single data point instead of the entire organization record. - cal_fetch_provider_access_token(clientId: string) — Fetches an oauth access token for the specified `clientid` to authenticate api calls; this action only retrieves the token, not managing scheduling or calendar events. - cal_fetch_schedule_by_id(scheduleId: integer) — Fetches comprehensive details for a specific, existing schedule using its `scheduleid`. - cal_fetch_user_schedule_by_org_id(orgId: integer, userId: integer, scheduleId: integer) — Fetches a specific user's schedule, potentially including events and availability, using `orgid`, `userid`, and `scheduleid`. - cal_fetch_webhook_by_event_type_id(webhookId: string, eventTypeId: integer) — Retrieves details for a single, specific webhook using its `webhookid` and associated `eventtypeid`. - cal_force_refresh_user_oauth_client(userId: integer, clientId: string) — Forces an immediate refresh of oauth tokens for a specified user and client, bypassing the normal expiration cycle, typically when existing tokens are suspected to be invalid or fresh credentials are - cal_get_all_timezones() — Retrieves all supported time zone identifiers (e.g., 'america/new york', 'europe/london') and their associated metadata, excluding specific dst changes or precise utc offset details. - cal_get_available_slots_info(endTime: string, orgSlug?: string, duration?: integer, timeZone?: string, startTime: string, slotFormat?: string, eventTypeId: integer, usernameList?: string[], eventTypeSlug?: string, rescheduleUid?: string) — Retrieves available time slots for scheduling by considering existing bookings and availability, based on criteria like a specified time range and event type. - cal_get_conference_oauth_authorization_url(app: string, returnTo: string, onErrorReturnTo: string) — Generates an oauth 2.0 authorization url for a supported conferencing `app` to initiate or refresh its integration with cal.com. - cal_get_default_schedule_details() — Retrieves the cal system's global default schedule configuration, not custom or user-specific ones. - cal_get_event_type_by_team_id(teamId: integer, eventTypeId: integer) — Retrieves a specific event type by its id, requiring that the event type is associated with the given team id. - cal_get_google_calendar_oauth_authentication_url() — Generates the initial google calendar oauth 2.0 authorization url for user redirection to begin the authentication and authorization process. - cal_get_oauth_clients_user(limit?: integer, clientId: string) — Retrieves users associated with a specific oauth client (identified by a valid `clientid`) for auditing access or managing permissions. - cal_get_organization_id() — Retrieves all organization ids associated with the currently authenticated user. - cal_get_organization_schedules(skip?: integer, take?: integer, orgId: integer) — Retrieves a list of schedules (e.g., events, appointments) for an organization, providing basic schedule information, not detailed individual event data. - cal_get_organization_teams_event_types(skip?: integer, take?: integer, orgId: integer) — Retrieves event types, including names, durations, and custom settings for team scheduling, for all teams within an existing organization specified by `orgid`. - cal_get_organization_user_schedules(orgId: integer, userId: integer) — Fetches all schedule information for a specific user within an organization; handle potential pagination for extensive schedules. - cal_get_schedule_for_user_in_team(orgId: integer, teamId: integer, userId: integer) — Fetches all scheduled events or appointments for a specified user within their team and organization. - cal_get_stripe_connect_info() — Retrieves stripe connect account details (id, charges/payouts status, verification, settings) for the user's linked cal.com account; response may be empty or indicate no integration if no account is l - cal_get_team_details_by_org_id_and_team_id(orgId: integer, teamId: integer) — Retrieves comprehensive details (e.g., members, roles, metadata) for a specific team using its `teamid` within an organization specified by `orgid`. - cal_get_team_information_by_team_id(teamId: integer) — Fetches comprehensive details for an existing team using its unique id; returned fields may vary by team configuration and user permissions. - cal_get_teams_list() — Retrieves all teams the user belongs to, including their names and members. - cal_get_webhook_by_id(webhookId: string) — Retrieves details for an existing and accessible webhook by its id; this is a read-only operation. - cal_handle_conferencing_oauth_callback_for_app(app: string, code: string, state: string) — Processes an oauth 2.0 callback for a conferencing `app`, exchanging the `code` and `state` for access credentials; ensure an oauth flow was previously initiated. - cal_list_event_types(orgId?: integer, orgSlug?: string, username?: string, eventSlug?: string, usernames?: string) — Retrieves cal event types, filterable by `username` (required if `eventslug` is provided), multiple `usernames`, or organization details (`orgslug` or `orgid`). - cal_list_organization_memberships(skip?: integer, take?: integer, orgId: integer) — Retrieves all memberships for a given organization, including user details, roles, status, and membership dates. - cal_list_team_event_types_by_org_and_team_id(orgId: integer, teamId: integer, eventSlug?: string) — Retrieves all event types for a specific team within an organization, optionally filtering by a specific event slug. - cal_mark_booking_absent_for_uid(host?: boolean, attendees?: object[], bookingUid: string) — Marks the host and/or specified attendees as absent for an existing booking, typically used after a scheduled event to record no-shows. - cal_modify_org_attribute_by_id(name?: string, slug?: string, type?: string, orgId: integer, enabled?: boolean, attributeId: string) — Partially updates an organization attribute using `orgid` and `attributeid`, allowing modification of its name, slug, type, or enabled status; changing the 'type' may affect existing data. - cal_modify_organization_membership_by_id(role?: string, orgId: integer, accepted?: boolean, membershipId: integer, disableImpersonation?: boolean) — Updates an organization membership's status (accepted), role, or impersonation settings, identified by `orgid` and `membershipid` in the path; requires at least one of these fields in the request to a - cal_patch_organization_attribute_option(slug?: string, orgId: integer, value?: string, optionId: string, attributeId: string) — Partially updates a specific option for an organization's attribute, modifying its 'value' and/or 'slug'; at least one of 'value' or 'slug' must be provided. - cal_patch_organization_user_details(orgId: integer, userId: integer) — Partially updates details for a user that exists within the specified organization. - cal_patch_team_details_by_id(bio?: string, name?: string, slug?: string, theme?: string, teamId: integer, appLogo?: string, logoUrl?: string, metadata?: string, timeZone?: string, bannerUrl?: string, isPrivate?: boolean, weekStart?: string, brandColor?: string, timeFormat?: integer, appIconLogo?: string, calVideoLogo?: string, hideBranding?: boolean, bookingLimits?: string, darkBrandColor?: string, hideBookATeamMember?: boolean, includeManagedEventsInLimits?: boolean) — Updates specified details for an existing team identified by `teamid`; unspecified fields remain unchanged. - cal_patch_webhook_event_type(active?: boolean, secret?: string, triggers?: string, webhookId: string, eventTypeId: integer, subscriberUrl?: string, payloadTemplate?: string) — Updates configuration (e.g., payload template, active status, url, triggers, secret) for an existing webhook tied to a specific event type. - cal_post_calendar_credentials(calendar: string) — Use to submit/update authentication credentials (passed in the request body) for an existing calendar, enabling cal to connect with external calendar services for synchronization. - cal_post_conferencing_app_connect(app: string) — Connects or reconnects cal.com with a specified conferencing application to enable future virtual meeting scheduling, but does not itself create or schedule meetings. - cal_post_new_booking_request(start: string, guests?: string[], attendee: object, location?: object, metadata?: object, eventTypeId: integer, lengthInMinutes?: integer, bookingFieldsResponses?: object) — Creates a new booking for an active event type, scheduling it for a specified start time (preferably in the future) with primary attendee details and optional customizations. - cal_post_org_attribute_option_by_user(orgId: integer, value?: string, userId: integer, attributeId: string, attributeOptionId?: string) — Assigns an existing attribute option (using `attributeoptionid`) or creates a new one (using `value`) for a user, linking it to a specified `attributeid` which must already exist within the organizati - cal_post_selected_calendars(externalId: string, integration: string, credentialId: integer) — Links a new external calendar or updates an existing link to one, enabling synchronization with the cal application by specifying the `integration` provider, the calendar's `externalid`, and the `cred - cal_post_user_to_organization(email: string, orgId: integer, theme?: string, locale?: string, weekday?: string, appTheme?: string, timeZone?: string, username?: string, avatarUrl?: string, autoAccept?: boolean, brandColor?: string, timeFormat?: integer, hideBranding?: boolean, darkBrandColor?: string, organizationRole?: string, defaultScheduleId?: integer) — Adds a new user to an existing organization (identified by `orgid` in path), requiring user's `email` and allowing extensive optional profile customization. - cal_post_webhook_event(active: boolean, secret?: string, triggers: string, subscriberUrl: string, payloadTemplate?: string) — Creates a new cal.com webhook subscription to send real-time notifications for specified calendar events to a publicly accessible subscriber url. - cal_reassign_booking_to_another_user(reason?: string, userId: integer, bookingUid: string) — Reassigns an existing, active booking to a specified, authorized user; does not notify participants of this change. - cal_reassign_booking_with_uid(bookingUid: string) — Reassigns the specified booking to a new team member, who is determined by the system rather than being specified in the request. - cal_refresh_oauth_token_for_client_id(clientId: string, refreshToken: string) — Refreshes an oauth access token for a specified `clientid` and managed user using their `refreshtoken`, enabling continued api access when the current token is near or past expiry. - cal_reschedule_booking_by_uid(bookingUid: string) — Reschedules an existing booking (identified by `bookinguid`) to a new time, provided the new slot's availability is confirmed beforehand; all other rescheduling parameters (e.g., new date, time) must - cal_reserve_slot_for_event(bookingUid?: string, eventTypeId: integer, slotUtcEndDate: string, slotUtcStartDate: string) — Temporarily reserves an available time slot for an existing and bookable event type, useful for high-demand slots to prevent double-bookings while the user completes the booking. - cal_retrieve_attribute_options_for_org(orgId: integer, attributeId: string) — Retrieves all available options for a specific attribute within a designated organization, requiring valid and associated `orgid` and `attributeid`. - cal_retrieve_booking_details_by_uid(bookingUid: string) — Fetches comprehensive details for an existing booking, identified by its `bookinguid`. - cal_retrieve_calendar_busy_times(dateTo?: string, dateFrom?: string, externalId: string, credentialId: integer, loggedInUsersTz: string) — To find busy calendar slots for scheduling/conflict detection, call this with a valid `credentialid`, an `externalid` accessible by it, and a recognized iana `loggedinuserstz`; returns only busy inter - cal_retrieve_calendar_list() — Retrieves a list of all calendar summaries (no event details) associated with the authenticated user's account. - cal_retrieve_current_team_for_organization(skip?: integer, take?: integer, orgId: integer) — Retrieves details of the team(s) for the currently authenticated user within the specified organization `orgid`. - cal_retrieve_default_conferencing_settings() — Retrieves an account's or organization's read-only default conferencing settings in cal.com (e.g., video platform, meeting duration) to inform event creation or ensure consistency. - cal_retrieve_event_type_by_id(eventTypeId: string) — Retrieves comprehensive details for a specific, existing cal.com event type using its unique id; this is a read-only action and does not return associated events or bookings. - cal_retrieve_membership_from_organization(orgId: integer, membershipId: integer) — Retrieves detailed information about a specific membership within a particular organization. - cal_retrieve_my_information() — Retrieves the authenticated user's core profile information (e.g., name, email, timezone); does not retrieve related data like calendar events or schedules. - cal_retrieve_oauth_client_user_by_id(userId: integer, clientId: string) — Retrieves detailed information for an existing user specifically associated with an existing oauth client. - cal_retrieve_oauth_client_webhook_by_id(clientId: string, webhookId: string) — Retrieves a specific webhook using its `webhookid` and the `clientid` of its associated oauth client. - cal_retrieve_organization_attributes(skip?: integer, take?: integer, orgId: integer) — Retrieves detailed attributes (e.g., configurations, settings, metadata) for an organization, identified by its `orgid`, which must correspond to an existing organization. - cal_retrieve_organization_attributes_options(orgId: integer, userId: integer) — Fetches all available attribute options for a specific user within a given organization, provided the organization and user exist and the user is part of the organization. - cal_retrieve_organization_webhook_by_id(orgId: integer, webhookId: string) — Retrieves detailed information, including configuration and status, for a specific webhook by its id (`webhookid`) within a given organization (`orgid`). - cal_retrieve_organization_webhooks_by_org_id(skip?: integer, take?: integer, orgId: integer) — Retrieves a list of webhooks for an organization specified by `orgid`, supporting pagination; this is a read-only operation. - cal_retrieve_provider_details(clientId: string) — Retrieves detailed information for an existing provider in the cal scheduling system using their unique client id. - cal_retrieve_schedules_list() — Retrieves a comprehensive list of all schedules associated with the authenticated user's cal.com account or organization. - cal_retrieve_team_details_in_organization(skip?: integer, take?: integer, orgId: integer) — Retrieves a paginated list of teams and their details for a specific organization id; individual team member details or schedules are not included. - cal_retrieve_team_event_types(teamId: integer, eventSlug?: string) — Retrieves event types for a team within the cal scheduling system; this action does not provide details on scheduled instances or member availability. - cal_retrieve_team_membership_by_id(orgId: integer, teamId: integer, membershipId: integer) — Retrieves detailed information, including role and status, for a specific team membership using its id, for a given organization and team. - cal_retrieve_team_membership_details(teamId: integer, membershipId: integer) — Retrieves detailed attributes for a specific team membership by its id and the team id, such as member information, role, and status; does not list all team members. - cal_retrieve_team_memberships(skip?: integer, take?: integer, teamId: integer) — Retrieves a list of memberships, detailing member roles and statuses, for an existing team specified by `teamid`, with support for pagination. - cal_retrieve_team_memberships_for_organization(skip?: integer, take?: integer, orgId: integer, teamId: integer) — Retrieves all user memberships, including their roles and states, for a specific team within an organization. - cal_retrieve_users_in_organization(skip?: integer, take?: integer, orgId: integer, emails?: string[]) — Retrieves users associated with a specific organization id, excluding individual scheduling or calendar data; the `orgid` must be a valid identifier for an existing organization. - cal_retrieve_v2_conferencing_info() — Retrieves an authenticated cal user's or organization's video conferencing configurations, capabilities, and installed apps, useful for understanding options before scheduling or verifying setups; pro - cal_retrieve_webhook_details_for_oauth_client(skip?: integer, take?: integer, clientId: string) — Retrieves a list of webhooks for a specific oauth client, supporting pagination. - cal_retrieve_webhooks_for_event_type(skip?: integer, take?: integer, eventTypeId: integer) — Retrieves a paginated list of webhooks (including urls, subscribed events, and status) for a specified, existing event type id, useful for auditing configurations or troubleshooting. - cal_retrieve_webhooks_list(skip?: integer, take?: integer) — Retrieves a paginated list of webhooks from the user's cal scheduling system account, which are used for real-time notifications on events like new bookings, cancellations, or updates. - cal_save_calendar_entry(code: string, state: string, calendar: string) — Saves or updates a calendar's settings using a get request, typically for data already on the server or simple updates via query parameters. - cal_save_calendar_ics_feeds(urls: string[], readOnly?: boolean) — Imports and saves one or more publicly accessible external icalendar (ics) feed urls into the cal.com calendar system. - cal_save_oauth_credentials_via_gcal_api(code: string, state: string) — Completes the google calendar oauth 2.0 flow by exchanging the `code` and `state` (received from google's redirect after user consent) for access and refresh tokens. - cal_save_stripe_details(code: string, state: string) — Completes the stripe oauth flow by saving stripe details; call this when a user is redirected back from stripe with an authorization `code` and `state`. - cal_set_default_conferencing_app(app: string) — Sets the specified, valid, and configured conferencing application as the default for new meetings for the authenticated user. - cal_update_destination_calendar_integration(externalId: string, integration: string) — Updates the destination calendar for syncing events, using `integration` and `externalid` (typically from `/calendars` endpoint). - cal_update_oauth_client_user_settings(name?: string, email?: string, locale?: string, userId: integer, clientId: string, timeZone?: string, avatarUrl?: string, weekStart?: string, timeFormat?: integer, defaultScheduleId?: integer) — Updates specified profile and scheduling preference fields for a user associated with an oauth client; `defaultscheduleid`, if provided, must be an existing, valid schedule for the user. - cal_update_oauth_client_webhook(active?: boolean, secret?: string, clientId: string, triggers?: string, webhookId: string, subscriberUrl?: string, payloadTemplate?: string) — Updates specified properties of an existing webhook for an oauth client; omitted fields remain unchanged. - cal_update_schedule_by_id(name?: string, timeZone?: string, isDefault?: boolean, overrides?: object[], scheduleId: string, availability?: object[]) — Updates an existing schedule by its id, allowing partial modification of properties; providing `availability` or `overrides` replaces them entirely. - cal_update_team_information_by_id(bio?: string, name?: string, slug?: string, orgId: integer, theme?: string, teamId: integer, appLogo?: string, logoUrl?: string, metadata?: string, timeZone?: string, bannerUrl?: string, isPrivate?: boolean, weekStart?: string, brandColor?: string, timeFormat?: integer, appIconLogo?: string, calVideoLogo?: string, hideBranding?: boolean, bookingLimits?: string, darkBrandColor?: string, hideBookATeamMember?: boolean, includeManagedEventsInLimits?: boolean) — Updates an existing team's information by its id within a specified organization; the `slug`, if provided, must be unique within the organization. - cal_update_team_membership_by_id(role?: string, teamId: integer, accepted?: boolean, membershipId: integer, disableImpersonation?: boolean) — Updates specified properties (e.g., acceptance status, role, impersonation settings) of an existing team membership, identified by `teamid` and `membershipid`, supporting partial updates where only pr - cal_update_team_membership_properties(role?: string, orgId: integer, teamId: integer, accepted?: boolean, membershipId: integer, disableImpersonation?: boolean) — Updates attributes like acceptance status, role, or impersonation settings for an existing team membership; only provided fields are changed, and this action cannot create or delete memberships. - cal_update_user_profile_details(name?: string, email?: string, locale?: string, timeZone?: string, avatarUrl?: string, weekStart?: string, timeFormat?: integer, defaultScheduleId?: integer) — Updates the profile information and preferences for the authenticated user, affecting only the fields provided in the request. - cal_update_user_schedule_in_organization(name?: string, orgId: integer, userId: integer, timeZone?: string, isDefault?: boolean, overrides?: object[], scheduleId: integer, availability?: object[]) — Modifies an existing schedule for a specified user within an organization by updating only the provided fields; the organization, user, and schedule must already exist. - cal_update_webhook_by_id(active?: boolean, secret?: string, triggers?: string, webhookId: string, subscriberUrl?: string, payloadTemplate?: string) — Updates an existing cal.com webhook by its `webhookid`, allowing partial modification of its attributes; only explicitly provided fields will be changed. - cal_update_webhook_for_organization(orgId: integer, active?: boolean, secret?: string, triggers?: string, webhookId: string, subscriberUrl?: string, payloadTemplate?: string) — Use this action to modify settings of an already created webhook for an organization, such as its target url, active status, or the events that trigger it. ## Links Docs: https://mcp.ai/docs/mcps/cal Website: https://mcp.ai/mcps/cal