Add attendee
Tool to create a new attendee for an existing booking in Cal.com. Use when you need to add an additional participant to a scheduled event.
Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process
Tool to create a new attendee for an existing booking in Cal.com. Use when you need to add an additional participant to a scheduled event.
Adds a new member to a specified team within an organization by creating a team membership.
Adds a new option to an organization's SINGLE_SELECT or MULTI_SELECT attribute. Use this action to extend the available choices for an existing attribute. For example, adding a new department option like "Marketing" to a "Department" attribute. Prerequisites: - The organization must exist and the user must have admin access - The attribute must already exist and be of type SINGLE_SELECT or MULTI_SELECT Common use cases: - Adding new department options to a department selector - Expanding location choices for a location attribute - Creating new priority levels for a priority field Note: While it's recommended to use unique slugs for clarity, the API may allow duplicate slugs.
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 `credentialId`.
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 organization.
Cancels an existing and active Cal.com booking using its unique identifier (UID).
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.
Call this read-only action to verify the connection and synchronization status of a user's Google Calendar integration with Cal.
Checks an ICS feed URL (expected as a query parameter) to verify its validity, accessibility, and iCalendar data integrity.
Verifies if Stripe is correctly connected to the Cal scheduling system and functional for processing payments, reporting only on the integration's status.
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 modify Stripe settings.
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 details, and should typically be performed once.
Connects or reconnects Cal.com with a specified conferencing application to enable future virtual meeting scheduling, but does not itself create or schedule meetings.
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.
Creates a new booking for an event type at a specified start time. Use this action to schedule a meeting with a Cal.com user. Prerequisites: 1. Get a valid event type ID from list_event_types 2. Find an available time slot using get_available_slots_info 3. Provide attendee name and email in the 'responses' object 4. Specify timezone and language preferences The booking will be created with status 'ACCEPTED' if no confirmation is required, or 'PENDING' if the event type requires host confirmation.
Creates a new membership for a user within a Cal.com organization. The caller must have admin/owner access to the organization, and the target user must already exist in the system. Use CAL_RETRIEVE_USERS_IN_ORGANIZATION to get valid user IDs.
Creates a new managed user for a Cal.com Platform OAuth client. This is a Platform API endpoint that requires OAuth client credentials (clientId and x-cal-secret-key). The endpoint is deprecated as of December 2025 but remains functional for existing Platform customers. Key behaviors: - If `timeZone` is provided: A default working schedule (Mon-Fri, 9AM-5PM) is automatically created - If `timeZone` is omitted: No default schedule is created; you must manually create one via the `/schedules` endpoint before the user can receive bookings Returns access and refresh tokens for the created managed user that should be stored securely. Access tokens expire in 60 minutes; refresh tokens expire in 1 year.
Creates a webhook configuration for an OAuth client to receive real-time event notifications from Cal.com. This is a Platform API endpoint that requires OAuth client credentials (clientId and x-cal-secret-key). Use this to set up automated workflows by subscribing to events like BOOKING_CREATED, BOOKING_CANCELLED, MEETING_ENDED, FORM_SUBMITTED, and more. The webhook will POST event data to your specified subscriberUrl. Key features: - Subscribe to multiple event triggers in a single webhook - Optionally customize the payload using a template - Secure webhooks with a secret for signature verification (X-Cal-Signature-256 header) - Control webhook activation status (active/inactive) Note: This endpoint is part of the deprecated Platform offering but remains functional for existing customers.
Creates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details.
Creates a new custom attribute for an existing organization, used to enhance data collection for event bookings or user profiles.
Tool to create a new workflow for routing forms within an organization team. Use when you need to set up automated actions (like sending emails or SMS) triggered by routing form submissions. Supports notification workflows with customizable triggers, steps, and activation settings.
Creates a webhook for an organization that sends HTTP POST notifications to a specified URL when triggered by events (e.g., booking created, cancelled, meeting started). Returns the webhook configuration including its unique ID, which can be used to update or delete the webhook later.
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.
Configures Cal.ai phone call automation for a team event type, enabling AI-powered outbound calls for appointment reminders or custom conversations. Requires team membership - first use CAL_GET_TEAMS_LIST to get a valid teamId, then CAL_GET_EVENT_TYPE_BY_TEAM_ID or CAL_RETRIEVE_TEAM_EVENT_TYPES to get an eventTypeId belonging to that team. Note: This creates the call configuration but does not immediately initiate a call. Cal.ai charges $0.29/minute for AI calls.
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.
Creates a highly customizable Cal.com team event type with extensive scheduling, booking, and host assignment options; `schedulingType` is required, `lengthInMinutes` must be included in `lengthInMinutesOptions`, destination calendar details (from `/api/v2/calendars`) must be valid if provided, and host User IDs must be valid team members.
Creates a new team with customizable attributes within an existing and accessible Cal.com organization specified by orgId.
Creates a shareable invite link for a Cal.com team that allows new members to join. Returns both the raw token and a complete invitation URL.
Adds a user to a team with a specified role, acceptance status, and impersonation settings; ensure `teamId` and `userId` refer to existing, valid entities.
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 default and applies to event types not linked to a specific schedule.
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 user.
Creates a webhook for an existing `eventTypeId` in Cal.com, sending notifications for specified `triggers` to a `subscriberUrl` that handles POST requests.
Creates a new Cal.com webhook subscription to send real-time notifications for specified calendar events (like bookings, meetings, forms) to a publicly accessible subscriber URL. Supports custom payload templates and webhook signature verification via HMAC-SHA256.
Declines a pending booking using its bookingUid, optionally with a reason; this action is irreversible and applies only to bookings awaiting confirmation.
Permanently deletes all webhooks associated with a specific team event type. Use when you need to remove all webhook configurations for a team's event type.
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.
Tool to remove an existing destination calendar by its unique ID. Use when you need to delete a destination calendar configuration.
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 this event type.
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.
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.
Permanently removes a managed user's association with an OAuth client without deleting their Cal.com account. This is a Cal.com Platform API endpoint for developers who manage users through OAuth clients. Prerequisites: - A registered OAuth client application (provides clientId) - The OAuth client secret key (x_cal_secret_key) - A valid managed user ID that was created under this OAuth client The deleted user's information is returned in the response for confirmation. Note: This endpoint is marked as deprecated in Cal.com docs but remains functional for existing Platform customers.
Permanently deletes a specific webhook for an OAuth client in Cal.com Platform API. This endpoint is part of the Cal.com Platform API and requires valid OAuth client credentials. When a webhook is deleted, it will stop receiving notifications for all configured event triggers. **Prerequisites:** - A Platform-enabled Cal.com organization (requires `isPlatform: true`) - Valid OAuth client credentials (clientId and x_cal_secret_key) - An existing webhook created for the OAuth client **Typical Use Case:** Remove webhook subscriptions that are no longer needed, helping to manage and clean up your OAuth client's notification endpoints. **Note:** This endpoint is marked as deprecated in Cal.com documentation and may be removed in future versions. Consider using alternative webhook management endpoints when available.
Permanently deletes an organization-level webhook by its ID. This action removes the specified webhook from the organization, stopping all future notifications to its subscriber URL. The deletion is irreversible - the webhook configuration cannot be recovered after deletion. Requirements: - User must be authenticated and have admin permissions in the organization - The webhook must exist within the specified organization - Use 'retrieve_organization_webhooks_by_org_id' to list webhooks before deletion
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 attribute.
Permanently deletes a specified option from an organization's attribute. Use this action to remove an option value from attributes of type SINGLE_SELECT or MULTI_SELECT. This is useful for cleaning up unused or deprecated configuration choices. Note: This action is destructive and cannot be undone. The option will be permanently removed. Requires organization admin access.
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.
Permanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule.
Removes a specified, currently selected calendar from the user's active list within the application, without deleting it from the external provider.
Deletes a previously selected time slot from the Cal schedule using its `uid`; the slot must exist and this action is irreversible.
Permanently and irreversibly deletes an existing team and all its associated data from the Cal system, using the team's unique `teamId`.
Permanently removes a team event type from an organization's scheduling configuration. Use when cleaning up unused event types or consolidating team scheduling options.
Permanently and irreversibly deletes a specific team from a Cal.com organization. WARNING: This action cannot be undone and will remove all associated team data including memberships, event types, and bookings. Requires ORG_ADMIN role in the organization.
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.
Unassigns a specific attribute option from a user within an organization. Use this action to remove an attribute option assignment (e.g., skill, role, department) from a specific user. This does NOT delete the attribute option itself from the organization - it only removes the association between the user and that option. The attribute option must currently be assigned to the user. To find assigned attribute options for a user, use the 'Get all attribute options for a user' endpoint first. Requires organization admin access. The operation is reversible by re-assigning the attribute option to the user using the 'Assign attribute option to user' endpoint.
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 a current member.
Permanently deletes a specific user's schedule, provided the organization, user, and schedule (identified by `orgId`, `userId`, and `scheduleId`) exist.
Permanently deletes an existing webhook by its `webhookId`, stopping future notifications; this action is irreversible.
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.
Call this to irreversibly delete all webhooks for a specific `eventTypeId` if the event type exists; details of deleted webhooks are not returned.
Disconnects a calendar integration by its provider name and credential ID, irreversibly revoking Cal's access; external calendar data remains unaffected.
Tool to edit an existing attendee in a Cal.com booking. Use when you need to update attendee details such as name, email, or timezone.
Tool to edit an existing availability by ID on Cal.com. Use when you need to update the days, start time, end time, or schedule association of an existing availability.
Tool to edit an existing booking by its ID. Use when you need to update booking details such as title, description, status, or time.
Tool to edit an existing Cal.com event type by ID. Use when you need to update event type settings like title, description, duration, locations, or booking configurations.
Tool to edit a selected calendar by its composite ID in Cal.com. Use when you need to update an existing calendar integration.
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 and sorting.
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, create, or modify event types.
Retrieves a specific attribute of an organization, useful for fetching a single data point instead of the entire organization record.
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.
Fetches comprehensive details for a specific, existing schedule using its `scheduleId`.
Retrieves a specific user's schedule within an organization, returning availability windows, timezone settings, and date-specific overrides. Requires organization-level access permissions.
Retrieves details for a single, specific webhook using its `webhookId` and associated `eventTypeId`.
Forces an immediate refresh of OAuth tokens for a Platform managed user. This is a Cal.com Platform API endpoint (deprecated as of December 2025 but still functional for existing customers). Use this endpoint when you've lost a managed user's access or refresh tokens and need to obtain new ones. Prerequisites: - A registered OAuth client application with Cal.com (provides clientId and x_cal_secret_key) - The managed user must exist and be associated with your OAuth client - Valid OAuth client credentials (clientId and secret key) Token Validity: - Access tokens are valid for 60 minutes - Refresh tokens are valid for 1 year Important: Store the returned tokens securely in your database (e.g., as calAccessToken and calRefreshToken fields).
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.
Retrieves available time slots for scheduling by considering existing bookings and availability, based on criteria like a specified time range and event type.
Tool to find a specific booking reference by its ID. Use when you need to retrieve details about a single booking reference that links a booking to an external platform or calendar.
Retrieves external references for a specific booking within an organization's team. Use when you need to get calendar or video platform integration details for a booking.
Generates an OAuth 2.0 authorization URL for a supported conferencing `app` to initiate or refresh its integration with Cal.com.
Retrieves the Cal system's global default schedule configuration, not custom or user-specific ones.
Tool to retrieve all destination calendars configured for the authenticated user. Use when you need to find where new bookings will be created.
Retrieves a specific event type by its ID, requiring that the event type is associated with the given team ID.
Retrieves all private booking links for a specific event type. Private links allow sharing event booking URLs with restricted access, either time-limited or usage-limited.
Generates the initial Google Calendar OAuth 2.0 authorization URL for user redirection to begin the authentication and authorization process.
Retrieves all managed users associated with a Platform OAuth client. This endpoint is part of Cal.com's Platform API for managing users created through OAuth client credentials. Requires a valid Platform OAuth client ID and secret key, which are obtained when creating an OAuth client at https://app.cal.com/settings/platform/oauth-clients. Use this to: - List all users managed under your OAuth client - Audit user access and permissions - Retrieve user profile details (email, timezone, locale, avatar, etc.) Authentication: Requires both Bearer token (from auth metadata) and x-cal-secret-key header.
Retrieves all assigned attribute options for a specific attribute within an organization. This action returns the list of attribute options that have been assigned to users, along with which users have been assigned each option. For example, if you have a "Department" attribute, this will show which department options exist and which users are assigned to each department. Use cases: - View which users are assigned to specific attribute options - Monitor attribute option assignments across teams - Audit user attribute assignments for reporting - Filter results by specific option IDs or team IDs Prerequisites: - The organization must exist (use get_organization_id to retrieve your orgId) - The attribute must exist with options assigned to users
Tool to retrieve all assigned attribute options for a specific attribute by its slug within an organization. Use when you need to see which attribute options have been assigned to users, filtered by the attribute's slug identifier.
Retrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint.
Retrieves availability schedules for an organization. Returns schedules that define when users are available for bookings, including working hours, time zones, and date-specific overrides. These are not individual events or appointments, but rather the availability templates that determine when bookings can be made.
Retrieves workflows configured for a specific team within an organization. Returns workflow configurations including triggers, steps, and activation settings. Use when you need to list or inspect workflow automations for a team.
Retrieves event types, including names, durations, and custom settings for team scheduling, for all teams within an existing organization specified by `orgId`.
Retrieves all availability schedules configured for a specific user within an organization. Returns detailed schedule information including time slots, timezones, and overrides. Does not include booked events or appointments.
Get all private links for a team event type. Use this to retrieve both time-based (with expiration) and usage-based (with usage limits) private links for scheduling.
Retrieves all availability schedules for a specific user within a team and organization. Returns schedule configurations including working hours, time zones, weekly availability patterns, default schedule designation, and date-specific overrides. Use this to understand when a team member is available for bookings. Requires valid userId (from team memberships), orgId (from organization list), and teamId (from teams list).
Tool to retrieve a selected calendar by its compound ID (userId_integration_externalId). Use when you need to fetch details of a specific calendar that has been selected for synchronization.
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 linked.
Tool to get Stripe Connect authorization URL for a team within an organization. Use when you need to obtain a URL that allows team members to connect their Stripe account for payment processing on Cal.com.
Retrieves all bookings for a specified team, optionally filtered by status, attendee details, date ranges, or event type IDs, with support for pagination and sorting.
Retrieves the default conferencing application configured for a specific team within an organization. Use this to check which video platform (e.g., Zoom, Google Meet) is set as the team's default for scheduling meetings.
Retrieves comprehensive details for a specific team within an organization, including team metadata, configuration settings, branding options, and timezone/week preferences. Use this to get team information like name, slug, bio, timezone, branding colors, and visibility settings.
Retrieves details for a specific webhook configured on a team event type. Use when you need to inspect webhook configuration, verify settings, or troubleshoot webhook deliveries for team-managed event types.
Retrieves all webhooks configured for a specific team event type. Use this to audit webhook configurations or troubleshoot webhook delivery issues.
Retrieves detailed information about a specific Cal.com team by its ID. Returns team configuration including name, slug, branding (logo, colors, theme), timezone settings, and privacy options. Requires the authenticated user to be a member of the team. Use 'get_teams_list' to find available team IDs.
Retrieves routing forms for a specific team within an organization. Routing forms are used to collect information from potential bookers and route them to appropriate event types or team members based on their responses. Use this to fetch routing form configurations, fields, and routing logic for a team.
Retrieves availability schedules for all members of a specific team within an organization. Returns schedules that define when team members are available for bookings, including working hours, time zones, and date-specific overrides.
Retrieves all teams the user belongs to, including their names and members.
Retrieves a paginated list of verified phone numbers for a specific organization team. Use when you need to get phone numbers that have been verified and associated with a team.
Retrieves details for an existing and accessible webhook by its ID; this is a read-only operation.
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.
Tool to retrieve all attendees from Cal.com. Use when you need to get a complete list of all attendees across all bookings.
Fetches one page of booking references in Cal.com. The Cal.com v2 API does not expose `/booking-references` for Bearer-token auth, so this action paginates the v2 `/bookings` endpoint and extracts each booking's `references` array. ONE Cal.com API call is made per invocation; pagination is caller-driven via the `cursor` parameter (Cal's keyset-by-booking-ID cursor) and the `next_cursor` field in the response.
Retrieves Cal event types, filterable by `username` (required if `eventSlug` is provided), multiple `usernames`, or organization details (`orgSlug` or `orgId`).
Retrieves all memberships for a given organization, including user details, roles, status, and membership dates.
Retrieves all event types for a specific team within an organization, optionally filtering by a specific event slug.
Marks the host and/or specified attendees as absent for an existing booking, typically used after a scheduled event to record no-shows.
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.
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 apply changes.
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.
Partially updates details for a user that exists within the specified organization.
Updates specified details for an existing team identified by `teamId`; unspecified fields remain unchanged.
Updates configuration (e.g., payload template, active status, URL, triggers, secret) for an existing webhook tied to a specific event type.
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.
Adds a new user to an existing organization (identified by `orgId` in path), requiring user's `email` and allowing extensive optional profile customization.
Reassigns an existing booking to a specified user. Requires cal-api-version 2024-08-13. The booking owner must be authorized to perform the reassignment.
Reassigns the specified booking to a new team member, who is determined by the system rather than being specified in the request.
Refreshes an OAuth access token for a specified `clientId` and managed user using their `refreshToken`. This is a Cal.com Platform feature for developers building applications that manage users. Prerequisites: - A registered OAuth client application with Cal.com (provides clientId) - The OAuth client secret key (x_cal_secret_key) - A valid refresh token obtained when creating a managed user The endpoint implements refresh token rotation - both access and refresh tokens are returned. Access tokens expire after 60 minutes; refresh tokens expire after 1 year. Note: This endpoint is marked as deprecated in Cal.com docs and may be replaced in future versions.
Request an email verification code for a team's verified resources. Use this action when you need to verify an email address for a team. The API will send a verification code to the specified email address. After receiving the code, you'll need to use it with a separate verification endpoint to complete the email verification process. This is typically used to verify email addresses that will be used as verified resources within a team.
Reschedules an existing booking (identified by `bookingUid`) to a new time. Requires the booking UID and the new start time in ISO 8601 format. Optionally, you can provide a rescheduling reason and the email of the person rescheduling.
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.
Retrieves all available options for a specific attribute within an organization. This action returns the list of selectable options for SINGLE_SELECT or MULTI_SELECT type attributes. For example, if you have a "Department" attribute, this will return options like "Engineering", "Marketing", "Sales". Note: TEXT and NUMBER type attributes do not have options and will return an empty list. Use cases: - Retrieve available departments, locations, or other categorical options - Display attribute options in a user interface for selection - Validate that a specific option exists before assigning it to a user Prerequisites: - The organization must exist (use get_organization_id to retrieve your orgId) - The attribute must exist (use retrieve_organization_attributes to get attributeId) - Only SINGLE_SELECT and MULTI_SELECT attributes will have options
Fetches comprehensive details for an existing booking, identified by its `bookingUid`.
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 intervals, not event details or free slots. Use credentialId/externalId for single calendar queries.
Retrieves a list of all calendar summaries (no event details) associated with the authenticated user's account.
Retrieves details of the team(s) for the currently authenticated user within the specified organization `orgId`.
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.
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.
Retrieves detailed information about a specific membership within a particular organization.
Retrieves the authenticated user's core profile information (e.g., name, email, timezone); does not retrieve related data like calendar events or schedules.
Retrieves detailed profile information for a specific managed user associated with an OAuth client. This endpoint is part of Cal.com's Platform API for OAuth client management. It requires: - A valid OAuth client ID (clientId) obtained from the Cal.com Platform dashboard - A valid managed user ID (userId) that was created via the create managed user endpoint - OAuth client secret key (x_cal_secret_key) for authentication Returns the user's profile including email, name, timezone, schedule settings, and custom metadata. Note: This endpoint requires Platform API access which is available to registered OAuth clients.
Retrieves detailed configuration for a specific webhook by ID from a Platform OAuth client. This Platform API endpoint requires OAuth client credentials (clientId and x-cal-secret-key) to access webhook settings including subscriber URL, active status, event triggers, payload template, and verification secret. Prerequisites: Platform OAuth client created at https://app.cal.com/settings/platform/oauth-clients with both client ID and secret key. Note: Platform offering deprecated Dec 2025, available only to existing enterprise customers. Use cases: Verify webhook config after creation, check active status for troubleshooting, retrieve secret for signature verification, audit settings.
Retrieves detailed attributes (e.g., configurations, settings, metadata) for an organization, identified by its `orgId`, which must correspond to an existing organization.
Retrieves all attribute options assigned to a specific user within an organization. Attribute options are customizable organizational metadata (like department, role, location, or team) that organizations define and assign to users for flexible categorization and management.
Retrieves detailed information, including configuration and status, for a specific webhook by its ID (`webhookId`) within a given organization (`orgId`).
Retrieves all webhooks configured for a specific organization, returning an array of webhook objects with their configuration details (ID, triggers, subscriber URL, active status, etc.). Supports pagination via `take` and `skip` parameters. This is a read-only operation that does not modify any webhooks.
Verifies and retrieves details for an OAuth client (provider) in Cal.com's Platform API. This endpoint is part of Cal.com's Platform API for managing OAuth clients. It verifies the OAuth client credentials (clientId and x-cal-secret-key) and returns provider details including the client ID, associated organization ID, and provider name. Use this to: - Verify that OAuth client credentials are valid - Retrieve the organization ID associated with an OAuth client - Get the registered name of the OAuth client/provider Authentication: Requires both the OAuth client ID (path parameter) and x-cal-secret-key (header). These credentials are obtained from https://app.cal.com/settings/platform/oauth-clients.
Retrieve all availability schedules for the authenticated Cal.com user. This action returns a list of schedules that define when a user is available for bookings. Each schedule includes availability time blocks, timezone, and whether it's the default schedule. Use this to: - List all configured schedules for a user - Find the default schedule (isDefault=true) - Get schedule IDs for use with other actions like updating or deleting schedules Returns an empty list if no schedules are configured.
Retrieves a paginated list of teams and their details for a specific organization ID; individual team member details or schedules are not included.
Retrieves event types for a team within the Cal scheduling system; this action does not provide details on scheduled instances or member availability.
Retrieves detailed information for a specific team membership by its ID within an organization's team. Returns membership details including the user's role (MEMBER, OWNER, or ADMIN), acceptance status, impersonation settings, and user profile information (email, name, username, avatar, bio). Requires organization-level access permissions.
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.
Retrieves all memberships for a team, including member details, roles (MEMBER/OWNER/ADMIN), and invitation acceptance status. Supports pagination via 'take' and 'skip' parameters. Use this action to list team members and their roles. The authenticated user must be a member of the team to access its memberships.
Retrieves all user memberships for a specific team within an organization, including each member's role (OWNER, ADMIN, MEMBER), acceptance status, impersonation settings, and detailed user information (email, username, name, avatar, bio). Supports pagination via 'take' and 'skip' parameters.
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.
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; provider availability may vary by subscription or settings.
Retrieves all webhook configurations for a specific OAuth client with optional pagination. This endpoint is part of Cal.com's Platform API for managing webhooks associated with OAuth clients. Use this to: - List all webhooks configured for an OAuth client - Audit webhook configurations and their active status - Review subscribed event triggers for each webhook - Retrieve webhook URLs and payload templates The response includes webhook details such as: - Webhook ID and creation timestamp - Target subscriber URL for notifications - Active/inactive status - List of subscribed event triggers (BOOKING_CREATED, BOOKING_CANCELLED, etc.) - Custom payload templates (if configured) Pagination is supported via `take` (limit) and `skip` (offset) parameters.
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.
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.
Saves or updates a calendar's settings using a GET request, typically for data already on the server or simple updates via query parameters.
Imports and saves one or more publicly accessible external iCalendar (ICS) feed URLs into the Cal.com calendar system.
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.
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`.
Sets the specified, valid, and configured conferencing application as the default for new meetings for the authenticated user.
Updates the destination calendar for syncing events, using `integration` and `externalId` (typically from `/calendars` endpoint).
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.
Updates specified properties of an existing webhook for an OAuth client; omitted fields remain unchanged.
Updates a private link for a team event type within an organization. Use to modify maxUsageCount for usage-based links or expiresAt for time-based links.
Updates an existing schedule by its ID, allowing partial modification of properties; providing `availability` or `overrides` replaces them entirely.
Tool to update a team event type in Cal.com. Use when modifying settings for a team's event type such as duration, description, scheduling, locations, or any other event configuration.
Updates a webhook for a team event type. Use when you need to modify webhook configuration like active status, subscriber URL, triggers, or payload template.
Updates an existing team's information by its ID within a specified organization; the `slug`, if provided, must be unique within the organization.
Updates properties of an existing team membership. Supports partial updates - only provided fields are modified while others remain unchanged. Requires appropriate team permissions (admin or owner role). Use 'Get teams list' to find teamId and 'Retrieve team memberships' to find membershipId.
Updates attributes like acceptance status, role, or impersonation settings for an existing team membership within an organization. Only provided fields are changed (partial update). Requires organization admin or owner privileges. Use list memberships endpoint to get valid membershipId values.
Updates the profile information and preferences for the authenticated user, affecting only the fields provided in the request.
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.
Updates an existing Cal.com webhook by its `webhookId`, allowing partial modification of its attributes; only explicitly provided fields will be changed.
Updates an existing webhook for an organization. Use this to modify webhook settings such as the subscriber URL, activation status, event triggers, or verification secret. Requires admin access to the organization. Only fields provided in the request will be updated; omitted fields retain their current values.