# Cal

Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process

- **Category:** scheduling & booking
- **Auth:** API_KEY, OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 175
- **Triggers:** 0
- **Slug:** `CAL`
- **Version:** 20260312_00

## Tools

### Add attendee

**Slug:** `CAL_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Full name of the attendee. |
| `email` | string | Yes | Email address of the attendee. Must be a valid email format. |
| `timeZone` | string | Yes | IANA timezone for the attendee (e.g., 'America/New_York', 'Europe/London'). |
| `bookingId` | integer | Yes | The unique identifier of the booking to add the attendee to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add member to team

**Slug:** `CAL_ADD_MEMBER_TO_TEAM_USING_ORG_AND_TEAM_ID`

Adds a new member to a specified team within an organization by creating a team membership.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | Specifies the user's role within the team (e.g., 'MEMBER', 'OWNER', 'ADMIN'). |
| `orgId` | integer | Yes | The unique identifier of the organization to which the team belongs. |
| `teamId` | integer | Yes | The unique identifier of the team to which the member will be added. |
| `userId` | integer | Yes | The unique identifier of the user to be added to the team. |
| `accepted` | boolean | No | Indicates whether the membership invitation is accepted; `True` for active member, `False` for pending status. |
| `disableImpersonation` | boolean | No | If `True`, this user cannot be impersonated by administrators or those with impersonation privileges. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add organization attribute option

**Slug:** `CAL_ADD_ORGANIZATION_ATTRIBUTE_OPTION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | A URL-friendly programmatic identifier for the new option. Typically lowercase with hyphens (e.g., 'engineering', 'sales-dept'). Used for programmatic access and filtering. While recommended to be unique, the API may allow duplicate slugs. |
| `orgId` | integer | Yes | The unique numeric identifier of the organization. Obtain this from the user's profile (organizationId field) or from organization membership data. |
| `value` | string | Yes | The human-readable display name for the new option (e.g., 'Engineering', 'Sales Team'). This is what users will see when selecting from the attribute options. |
| `attributeId` | string | Yes | The unique identifier of the attribute to which the new option will be added. Obtain this from the 'retrieve_organization_attributes' action or when creating an attribute. Only attributes of type SINGLE_SELECT or MULTI_SELECT can have options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel booking via uid

**Slug:** `CAL_CANCEL_BOOKING_VIA_UID`

Cancels an existing and active Cal.com booking using its unique identifier (UID).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `seatUid` | string | No | For seated bookings only: the UID of the specific seat to cancel when cancelling as an attendee. |
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking to be cancelled. This UID is generated by Cal.com when a booking is created. |
| `cancellationReason` | string | No | Optional reason for cancelling the booking. Recommended for clear communication with the attendee. |
| `cancelSubsequentBookings` | boolean | No | For recurring bookings only: if true, cancels the booking with the given bookingUid and all subsequent recurrences. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check calendar availability

**Slug:** `CAL_CHECK_CALENDAR_VERSION2`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendar` | string | Yes | The calendar type to check availability for. Must be one of the supported calendar providers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check gcal synchronization status

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check ics feed calendar endpoint

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check Stripe status

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check team stripe integration status

**Slug:** `CAL_CHECK_TEAM_STRIPE_INTEGRATION_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | Yes | The unique identifier of the team whose Stripe integration status needs to be checked. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Confirm booking by uid

**Slug:** `CAL_CONFIRM_BOOKING_BY_UID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking that needs to be confirmed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Connect to calendar

**Slug:** `CAL_CONNECT_TO_CALENDAR`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendar` | string | Yes | The calendar type to connect to. Valid values: apple, google, office365 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create membership for organization

**Slug:** `CAL_CREATE_MEMBERSHIP_FOR_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | The role to assign to the user within the organization. MEMBER has basic access, ADMIN can manage members and settings, OWNER has full control. |
| `orgId` | integer | Yes | The unique identifier of the organization to add the membership to. The caller must have admin or owner permissions in this organization. |
| `userId` | integer | Yes | The unique identifier of the user to add to the organization. The user must already exist in the Cal.com system. |
| `accepted` | boolean | No | Whether the membership should be automatically accepted. If False, the user will receive an invitation to join. If True, they are added directly. |
| `disableImpersonation` | boolean | No | If True, prevents organization admins and owners from impersonating this user. Useful for security-sensitive accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create oauth client user

**Slug:** `CAL_CREATE_OAUTH_CLIENT_USER`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Full name of the new managed user, used in communications and the Cal.com interface. |
| `email` | string | Yes | Email address for the new managed user. |
| `locale` | string ("ar" | "ca" | "de" | "es" | "eu" | "he" | "id" | "ja" | "lv" | "pl" | "ro" | "sr" | "th" | "vi" | "az" | "cs" | "el" | "es-419" | "fi" | "hr" | "it" | "km" | "nl" | "pt" | "ru" | "sv" | "tr" | "zh-CN" | "bg" | "da" | "en" | "et" | "fr" | "hu" | "iw" | "ko" | "no" | "pt-BR" | "sk" | "ta" | "uk" | "zh-TW") | No | User's preferred language and regional settings as a locale code (e.g., 'en', 'es'). |
| `clientId` | string | Yes | Unique identifier of the OAuth client. This often needs to match the `clientId` in the API path. |
| `timeZone` | string | No | IANA timezone (e.g., 'America/New_York') for the user's default schedule (Mon-Fri, 9AM-5PM). For behavior when omitted, see action description; 'Europe/London' may serve as a fallback. |
| `avatarUrl` | string | No | Publicly accessible URL for the user's avatar image to be used as their profile picture. |
| `weekStart` | string ("Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday") | No | Day on which the user's week starts (e.g., 'Monday', 'Sunday'). |
| `timeFormat` | integer | No | User's preferred time display format: 12 for 12-hour, 24 for 24-hour. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create OAuth client webhook configuration

**Slug:** `CAL_CREATE_OAUTH_CLIENT_WEBHOOK_CONFIGURATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Whether the webhook should be active upon creation. Set to true to start receiving notifications immediately, or false to create in an inactive state for later activation. Default recommendation: true for production webhooks, false for testing/development. |
| `secret` | string | No | An optional secret key used to sign the webhook payloads. This allows your `subscriberUrl` to verify that incoming requests are genuinely from Cal.com. If provided, Cal.com will include an `X-Cal-Signature-256` header in webhook requests. |
| `clientId` | string | Yes | The unique identifier of the OAuth client for which to create the webhook. This is obtained when you create an OAuth client via the Cal.com Platform settings (https://app.cal.com/settings/platform/oauth-clients) or the POST /v2/oauth-clients API endpoint. |
| `triggers` | array | Yes | A list of event types that will trigger this webhook. You can subscribe to multiple event triggers. Choose from the available event triggers such as BOOKING_CREATED, BOOKING_CANCELLED, MEETING_ENDED, etc. |
| `subscriberUrl` | string | Yes | The HTTPS URL to which webhook notifications will be POSTed. This endpoint must be capable of receiving and processing these notifications. |
| `payloadTemplate` | string | No | Optional JSON template for the webhook payload. This allows customization of the data sent to the `subscriberUrl`. Refer to Cal.com documentation (cal.com/docs/core-features/webhooks) for details on template syntax and available variables. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key required for Platform authentication. This key is obtained when registering an OAuth client application with Cal.com. It is used to sign and verify requests to OAuth client webhook endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create organization attributes

**Slug:** `CAL_CREATE_ORGANIZATION_ATTRIBUTES`

Creates a new custom attribute for an existing organization, used to enhance data collection for event bookings or user profiles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The human-readable display name for the organization attribute. |
| `slug` | string | Yes | A unique, URL-friendly identifier for the organization attribute, typically a lowercase version of the name with spaces or special characters replaced by hyphens or underscores. This slug must be unique within the organization. |
| `type` | string ("TEXT" | "NUMBER" | "SINGLE_SELECT" | "MULTI_SELECT") | Yes | The data type of the organization attribute, determining its behavior and storage. |
| `orgId` | integer | Yes | The unique identifier of the organization for which this attribute is being created. This ID is used in the API request path. |
| `enabled` | boolean | No | Indicates whether the organization attribute is active and usable upon creation. Set to `true` to enable, `false` to disable. If not specified, the system's default behavior for new attributes (e.g., enabled) will apply. |
| `options` | array | Yes | A list of options for the attribute. This field is always required. For `SINGLE_SELECT` or `MULTI_SELECT` types, this list must contain at least one option definition. For `TEXT` or `NUMBER` types, an empty list `[]` should be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create organization team form workflow

**Slug:** `CAL_CREATE_ORGANIZATION_TEAM_FORM_WORKFLOW`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the workflow to identify it in the system. |
| `orgId` | integer | Yes | The unique identifier of the organization. You must have access to this organization. |
| `steps` | array | Yes | List of steps to execute as part of the workflow. Allowed actions are: email_attendee, email_address, sms_attendee, sms_number. |
| `teamId` | integer | Yes | The unique identifier of the team within the organization. |
| `trigger` | object | Yes | Trigger configuration that determines when the workflow executes. |
| `activation` | object | Yes | Activation settings that determine which routing forms this workflow applies to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create organization webhook by org ID

**Slug:** `CAL_CREATE_ORGANIZATION_WEBHOOK_BY_ORG_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Unique identifier for the organization to associate with this webhook. |
| `active` | boolean | Yes | If `true`, webhook is active upon creation and sends notifications; `false` creates it disabled. |
| `secret` | string | No | Secret used to generate an HMAC SHA256 signature for payloads. If provided, Cal.com sends this signature in the `X-Cal-Signature-256` header, allowing `subscriberUrl` to verify request origin. |
| `triggers` | array | Yes | List of events that trigger this webhook to send a notification to `subscriberUrl`. At least one trigger must be provided. |
| `subscriberUrl` | string | Yes | Publicly accessible URL to receive HTTP POST requests for triggered events; this endpoint must process the webhook payloads. |
| `payloadTemplate` | string | No | Optional JSON template for customizing the webhook payload sent to `subscriberUrl`. Supports template variables like {{triggerEvent}}, {{bookingId}}, {{type}}, {{title}}, {{organizer.name}}, {{attendees.0.name}}, etc. If omitted, Cal.com sends a default payload with all event data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or update team profile

**Slug:** `CAL_CREATE_OR_UPDATE_TEAM_PROFILE`

Creates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | A short biography or description of the team. |
| `name` | string | Yes | The name of the team. |
| `slug` | string | No | Unique, URL-friendly identifier for the team. If not provided, may be generated from the name. Used for team page access. |
| `theme` | string | No | Visual theme for the team's booking page (e.g., 'light', 'dark', 'system'). |
| `appLogo` | string | No | Logo URL for the team within the Cal.com application interface. Must be a valid URL or omitted; empty strings are not allowed. |
| `logoUrl` | string | No | URL of the team's primary logo. Must be a valid URL or omitted; empty strings are not allowed. |
| `metadata` | object | No | Custom key-value data associated with the team profile. |
| `timeZone` | string | No | Default timezone for the team, used for initial schedule setup (e.g., Mon-Fri, 9AM-5PM). |
| `bannerUrl` | string | No | URL of the team's banner image for their booking page. Must be a valid URL or omitted; empty strings are not allowed. |
| `isPrivate` | boolean | No | If true, the team profile is private and not publicly discoverable without permissions. |
| `weekStart` | string | No | Day the week starts for calendar displays (e.g., 'Sunday', 'Monday'). |
| `brandColor` | string | No | Primary brand color for team pages (hex format, e.g., '#FF5733'). |
| `timeFormat` | string | No | Preferred time display format: 12 for 12-hour (e.g., 2:30 PM) or 24 for 24-hour (e.g., 14:30). |
| `appIconLogo` | string | No | Icon version URL of the team's logo (e.g., for favicons). Must be a valid URL or omitted; empty strings are not allowed. |
| `calVideoLogo` | string | No | Logo URL for display during the team's Cal.com video calls. Must be a valid URL or omitted; empty strings are not allowed. |
| `hideBranding` | boolean | No | If true, Cal.com's own branding is hidden on the team's public pages. |
| `darkBrandColor` | string | No | Brand color for dark mode (hex format); complements 'brandColor'. |
| `autoAcceptCreator` | boolean | No | If true, the team creator is automatically added and accepted as an admin member. |
| `hideBookATeamMember` | boolean | No | If true, hides the option to book a specific team member, encouraging collective bookings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create phone call event

**Slug:** `CAL_CREATE_PHONE_CALL_EVENT`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Unique identifier for an existing organization. |
| `teamId` | integer | Yes | Unique identifier for an existing team. |
| `calApiKey` | string | Yes | API key for Cal.com integration. |
| `guestName` | string | No | Name of the guest participating in the call. |
| `guestEmail` | string | No | Email address of the guest; can be used for notifications or record-keeping. |
| `eventTypeId` | integer | Yes | Unique identifier for an existing event type. |
| `beginMessage` | string | No | Initial message played or displayed when the call begins; useful for providing context or instructions. |
| `guestCompany` | string | No | Company affiliation of the guest, if applicable. |
| `numberToCall` | string | Yes | Recipient's phone number in E.164 format (e.g., +13105552368), which will be dialed. |
| `templateType` | string ("CHECK_IN_APPOINTMENT" | "CUSTOM_TEMPLATE") | No | Template for the phone call event; determines the initial setup and prompts for the call. |
| `generalPrompt` | string | No | General prompt or script to guide the conversation; can set the agenda or provide talking points. |
| `schedulerName` | string | No | Name of the person or entity scheduling the call. |
| `yourPhoneNumber` | string | Yes | Your phone number in E.164 format (e.g., +12125552368), used as the caller ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create phone call for event type

**Slug:** `CAL_CREATE_PHONE_CALL_FOR_EVENT_TYPE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | ID of the team that owns the event type. The authenticated user must be a member of this team. Get this from CAL_GET_TEAMS_LIST. |
| `enabled` | boolean | No | Whether the phone call configuration is active. Set to true to enable AI calls for this event type. |
| `calApiKey` | string | Yes | Cal.com API key for the AI phone call integration. This key authorizes the Cal.ai service to make calls on your behalf. |
| `guestName` | string | No | Name of the person being called. The AI will address them by this name during the conversation. |
| `guestEmail` | string | No | Email address of the call recipient. Used for sending follow-up notifications or confirmations. |
| `eventTypeId` | integer | Yes | ID of the team event type to associate the phone call with. Must be an event type belonging to the specified team. Get this from CAL_GET_EVENT_TYPE_BY_TEAM_ID or CAL_RETRIEVE_TEAM_EVENT_TYPES. |
| `beginMessage` | string | No | Opening message the AI speaks when the call connects. Use this to set the context and purpose of the call. |
| `guestCompany` | string | No | Company or organization the guest is affiliated with. Provides context for the AI conversation. |
| `numberToCall` | string | Yes | Recipient's phone number in E.164 format. This is the number the AI will dial to initiate the call. |
| `templateType` | string ("CHECK_IN_APPOINTMENT" | "CUSTOM_TEMPLATE") | No | Call template type: CHECK_IN_APPOINTMENT uses a predefined appointment reminder script, CUSTOM_TEMPLATE allows fully customized conversation flow. |
| `generalPrompt` | string | No | Instructions that guide the AI's conversation behavior throughout the call. Define the tone, objectives, and topics to cover. |
| `schedulerName` | string | No | Name of the person or organization scheduling the call. The AI will use this to introduce itself. |
| `yourPhoneNumber` | string | Yes | Caller's phone number in E.164 format. This is the number that will appear as the caller ID when the AI makes outbound calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team event type

**Slug:** `CAL_CREATE_TEAM_EVENT_TYPE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | A URL-friendly identifier for the event type, typically derived from the title. |
| `hosts` | array | No | List of specific hosts for this event. Each host needs `userId`. For round-robin, `mandatory` and `priority` can be set. Either provide `hosts` OR set `assignAllTeamMembers=true`, not both. |
| `seats` | object | No | Seat-based availability for multiple attendees per slot. Ex: `{'perSlot': 10, 'attendeeNoun': 'participant', 'showAttendees': True}`. |
| `title` | string | Yes | The title of the event type that will be displayed to bookers. |
| `teamId` | integer | Yes | The unique identifier of the team for which this event type is being created. |
| `locations` | array | No | Event locations (e.g., physical, integration links). Defaults to Cal.com video link. Each object specifies type, e.g., {'type': 'integrations:google:meet'} or {'type': 'physical', 'address': '123 Main St'}. |
| `customName` | string | No | Customizable name for the created calendar event. Supports variables like {Event type title}, {Organiser}, {Scheduler}, etc. |
| `recurrence` | object | No | Recurrence rules for the event. Ex: `{'frequency': 'weekly', 'interval': 1, 'count': 10}`. |
| `scheduleId` | integer | No | Overrides team's default schedule with this schedule ID. |
| `description` | string | No | Detailed event type description for bookers. |
| `offsetStart` | integer | No | Offsets start times of available slots by specified minutes. E.g., 15 min offset shifts 9:00 AM to 9:15 AM. |
| `slotInterval` | integer | No | Duration in minutes for each available time slot (e.g., 30 min intervals for a 60 min event if `lengthInMinutes` is 60). Defaults to `lengthInMinutes` if not specified. |
| `bookingFields` | array | No | Custom fields for the booking form (name and email are default). Each object defines a field, e.g., {'name': 'company_name', 'type': 'text', 'label': 'Company Name', 'required': True}. |
| `bookingWindow` | object | No | Future booking window. Ex: `{'start': 0, 'end': 30, 'unit': 'days'}`. |
| `disableGuests` | boolean | No | If true, booker cannot add additional guests via email. |
| `schedulingType` | string ("collective" | "roundRobin" | "managed") | Yes | How bookings are distributed among hosts. 'collective': all hosts must attend. 'roundRobin': distribute bookings across hosts based on availability/priority. 'managed': platform-specific managed scheduling. |
| `lengthInMinutes` | integer | Yes | The default duration of the event in minutes. |
| `afterEventBuffer` | integer | No | Buffer time (minutes) after events (marked unavailable). |
| `beforeEventBuffer` | integer | No | Buffer time (minutes) before events (marked unavailable). |
| `hideCalendarNotes` | boolean | No | If true, hide calendar notes (description, location, etc.) from created event. |
| `bookingLimitsCount` | object | No | Limits on booking frequency. Ex: `{'count': 10, 'period': 'day'}`. |
| `confirmationPolicy` | object | No | Booking confirmation policy. Ex: `{'type': 'MANUAL', 'message': 'Your booking requires manual approval.'}`. |
| `successRedirectUrl` | string | No | Redirect URL after successful booking. Defaults to Cal.com page. |
| `color__darkThemeHex` | string | No | Hex color for dark theme display (e.g., '#4A90E2'). |
| `assignAllTeamMembers` | boolean | No | If true, assigns all current and future team members as hosts automatically. Use this instead of `hosts` when all team members should handle this event type. |
| `color__lightThemeHex` | string | No | Hex color for light theme display (e.g., '#FFD700'). |
| `minimumBookingNotice` | integer | No | Minimum minutes notice required for booking. |
| `bookingLimitsDuration` | object | No | Limits on total booking duration per period. Ex: `{'duration': 120, 'period': 'week'}`. |
| `lengthInMinutesOptions` | array | No | Optional alternative event durations (in minutes) that bookers can choose from. If provided, must include `lengthInMinutes` value. |
| `hideCalendarEventDetails` | boolean | No | If true, hide event details (attendees, description) from non-organizer attendees. |
| `onlyShowFirstAvailableSlot` | boolean | No | If true, show only the earliest available slot per day. |
| `useDestinationCalendarEmail` | boolean | No | If true, use destination calendar's email for event invites/updates. |
| `destinationCalendar__externalId` | string | No | External ID for destination calendar. See `/api/v2/calendars`. |
| `lockTimeZoneToggleOnBookingPage` | boolean | No | If true, lock timezone toggle on booking page. |
| `requiresBookerEmailVerification` | boolean | No | If true, bookers must verify email before confirmation. |
| `destinationCalendar__integration` | string | No | Integration type for destination calendar (e.g., 'google_calendar'). See `/api/v2/calendars`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team event types with custom options

**Slug:** `CAL_CREATE_TEAM_EVENT_TYPES_WITH_CUSTOM_OPTIONS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | A URL-friendly identifier for the event type. Usually a hyphenated version of the title. |
| `hosts` | array | Yes | List of hosts. Each specifies user ID and optionally mandatory status/priority (for round-robin). At least one host required. |
| `orgId` | integer | Yes | The unique identifier for the organization. |
| `seats` | object | No | Defines seat-based availability, allowing multiple attendees per slot. Example: `{"enabled": true, "per_slot": 10, "show_remaining_seats": true, "attendee_questions": [{"name": "department", "label": "Department", "type": "text", "required": false}]}`. |
| `title` | string | Yes | The title of the event type. |
| `teamId` | integer | Yes | The unique identifier for the team. |
| `locations` | array | No | A list of physical or virtual locations for the event. If not provided, a Cal.com video link will be used by default. Example: `[{"type": "cal_video"}, {"type": "address", "address": "123 Main St, Anytown, USA"}]` |
| `customName` | string | No | Customizable name for the calendar event entry. Supports variables like {Event type title}, {Organiser}, etc. Refer to Cal.com documentation for the full list. |
| `recurrence` | object | No | Defines the recurrence pattern for recurring events. Example: `{"frequency": "weekly", "interval": 1, "count": 10}` (weekly for 10 occurrences) or `{"frequency": "daily", "until": "2024-12-31T23:59:59Z"}`. |
| `scheduleId` | integer | No | The ID of a specific schedule to use for this event type, overriding the team's or user's default schedule. |
| `description` | string | No | A detailed description of the event type. Can include HTML for formatting. |
| `offsetStart` | integer | No | Offset (minutes) to shift display of available slots. For example, an offset of 15 means a 9:00 AM slot shows as 9:15 AM. |
| `slotInterval` | integer | No | Duration in minutes of each bookable time slot. For example, if `lengthInMinutes` is 60 and `slotInterval` is 30, slots like 9:00, 9:30, 10:00 will be shown for the 60-minute event. Defaults to `lengthInMinutes` if not specified. |
| `bookingFields` | array | No | A list of custom fields for the booking form. By default, the form includes name and email fields. Example: `[{"name": "company_size", "label": "Company Size", "type": "select", "options": ["1-10", "11-50"], "required": false}]` |
| `bookingWindow` | object | No | Defines how far in the future this event can be booked. Example: `{"type": "rolling_days", "days": 30}` (up to 30 days in advance) or `{"type": "date_range", "startDate": "2024-01-01T00:00:00Z", "endDate": "2024-03-31T23:59:59Z"}`. |
| `disableGuests` | boolean | No | If true, the person booking this event cannot add guests via their email addresses. |
| `schedulingType` | string ("COLLECTIVE" | "ROUND_ROBIN" | "MANAGED") | Yes | How bookings are distributed among hosts. 'COLLECTIVE': all hosts must attend. 'ROUND_ROBIN': distribute bookings across hosts based on availability/priority. 'MANAGED': platform-specific managed scheduling. |
| `lengthInMinutes` | integer | Yes | The default duration of the event in minutes. |
| `afterEventBuffer` | integer | No | Buffer time in minutes to add after each event. This time will be blocked out in the calendar. |
| `beforeEventBuffer` | integer | No | Buffer time in minutes to add before each event. This time will be blocked out in the calendar. |
| `hideCalendarNotes` | boolean | No | If true, any notes added to the calendar event by the organizer will be hidden from the booker. |
| `bookingLimitsCount` | object | No | Defines limits on how many times this event can be booked per period. Example: `{"period": "day", "count": 1}` (one per day) or `{"period": "rolling_days_period", "count": 2, "days": 7}` (2 per rolling 7 days). |
| `confirmationPolicy` | object | No | Specifies the manual confirmation policy for bookings. Example: `{"type": "manual_confirmation", "threshold_period": "24h", "threshold_bookings": 10}` or `{"type": "automatic_confirmation"}`. |
| `successRedirectUrl` | string | No | A valid URL to which the booker will be redirected after a successful booking. |
| `color__darkThemeHex` | string | No | Hexadecimal color code for the event type when displayed in a dark theme (e.g., '#FF6347' for tomato red). |
| `assignAllTeamMembers` | boolean | No | If true, all current and future members of the team will automatically be assigned as hosts to this event type. If set, the `hosts` list can be empty or will be supplemented. |
| `color__lightThemeHex` | string | No | Hexadecimal color code for the event type when displayed in a light theme (e.g., '#FF0000' for red). |
| `minimumBookingNotice` | integer | No | The minimum number of minutes before the event's start time that a booking can be made. |
| `bookingLimitsDuration` | object | No | Defines limits on total booked duration (minutes) for this event type per period. Example: `{"period": "week", "duration": 120}` (120 minutes per week). |
| `lengthInMinutesOptions` | array | Yes | Alternative event durations (in minutes) that bookers can choose from. The value of `lengthInMinutes` must be included in this list. |
| `hideCalendarEventDetails` | boolean | No | If true, sensitive details of the calendar event (like attendee list or full description) might be hidden or summarized for bookers. |
| `onlyShowFirstAvailableSlot` | boolean | No | If true, only the earliest available slot per day will be displayed to bookers for this event type. |
| `useDestinationCalendarEmail` | boolean | No | If true, the email address associated with the destination calendar will be used for sending event notifications, overriding the user's primary email if different. |
| `destinationCalendar__externalId` | string | No | External ID of the specific calendar for new bookings. Obtain from `/api/v2/calendars`. |
| `lockTimeZoneToggleOnBookingPage` | boolean | No | If true, the booker will not be able to change the timezone on the booking page; it will be locked to the event type's timezone. |
| `requiresBookerEmailVerification` | boolean | No | If true, bookers will be required to verify their email address before the booking is confirmed. |
| `destinationCalendar__integration` | string | No | Integration type of the calendar for new bookings (e.g., 'google_calendar'). Obtain from `/api/v2/calendars`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team in organization

**Slug:** `CAL_CREATE_TEAM_IN_ORGANIZATION`

Creates a new team with customizable attributes within an existing and accessible Cal.com organization specified by orgId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | Short description or biography for the team. |
| `name` | string | Yes | Name of the team to be created. |
| `slug` | string | No | Unique, URL-friendly identifier for the team (e.g., 'marketing-team'). Auto-generated from name if not provided. |
| `orgId` | integer | Yes | ID of the organization where the team will be created. |
| `theme` | string | No | Visual theme for the team's booking page (e.g., 'light', 'dark', 'system', or custom). |
| `appLogo` | string | No | URL for the logo displayed within the Cal.com application interface for this team. |
| `logoUrl` | string | No | URL of the team's logo image, displayed on its booking page and profile. |
| `metadata` | string | No | JSON string for custom key-value pairs to store additional team information. NOTE: This parameter may not be supported by the API and can cause 400 errors. The API documentation indicates this should be an object with up to 50 keys. Recommended to leave as default (None). |
| `timeZone` | string | No | IANA time zone identifier (e.g., 'America/New_York') for the team's default schedule. Defaults to 'Europe/London'. |
| `bannerUrl` | string | No | URL of the team's banner image, displayed at the top of its booking page. |
| `isPrivate` | boolean | No | If true, the team is private, not publicly discoverable, and access is restricted. |
| `weekStart` | string | No | First day of the week for calendar displays (e.g., 'Sunday', 'Monday'). Defaults to 'Sunday'. |
| `brandColor` | string | No | Primary brand color for the team (CSS-valid string, e.g., '#FF5733' or 'blue'). |
| `timeFormat` | integer | No | Preferred time format: 12 for 12-hour (e.g., 1:00 PM), 24 for 24-hour (e.g., 13:00). NOTE: This parameter may not be supported by the API and can cause 400 errors. Recommended to leave as default (None). |
| `appIconLogo` | string | No | URL for a smaller icon version of the team's logo for contexts like list views or notifications. |
| `calVideoLogo` | string | No | URL for the team's video logo, displayed during Cal Video sessions. |
| `hideBranding` | boolean | No | If true, hides Cal.com's default branding on the team's booking pages for a white-labeled experience. |
| `darkBrandColor` | string | No | Brand color for dark theme on the team's booking page (CSS-valid string). |
| `autoAcceptCreator` | boolean | No | If true, the team creator is automatically accepted as a member. Defaults to true. WARNING: Setting this to false may cause 400 errors. Platform customers should not set this to false. |
| `hideBookATeamMember` | boolean | No | If true, hides the option to book a specific team member from the team's main booking page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team invite link

**Slug:** `CAL_CREATE_TEAM_INVITE_LINK`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | Unique identifier of the team to create an invite link for. The authenticated user must have permission to manage this team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create team membership with role

**Slug:** `CAL_CREATE_TEAM_MEMBERSHIP_WITH_ROLE`

Adds a user to a team with a specified role, acceptance status, and impersonation settings; ensure `teamId` and `userId` refer to existing, valid entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | The role to assign to the user within the team. |
| `teamId` | integer | Yes | The unique identifier of the team to which the user will be added. |
| `userId` | integer | Yes | The unique identifier of the user to be added to the team. |
| `accepted` | boolean | No | Indicates if the membership invitation is pre-accepted. If `true`, the user is added directly to the team without needing to accept an invitation. |
| `disableImpersonation` | boolean | No | If `true`, prevents administrators from impersonating this user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user availability schedule

**Slug:** `CAL_CREATE_USER_AVAILABILITY_SCHEDULE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the availability schedule (e.g., 'Working Hours', 'Holiday Schedule'). |
| `timeZone` | string | Yes | IANA timezone identifier (e.g., 'America/New_York'). Essential for correct event availability calculation. |
| `isDefault` | boolean | Yes | Sets this as the user's default schedule if true, replacing any existing default. The default schedule is used for event types not linked to a specific one. Each user must have exactly one default schedule. |
| `overrides` | array | No | List of override objects for specific date exceptions (e.g., holidays). Overrides take precedence over weekly availability. |
| `availability` | array | No | List of availability objects defining active days and time slots. If omitted, a default (Mon-Fri, 09:00-17:00 in schedule's timeZone) is applied. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create user schedule in organization

**Slug:** `CAL_CREATE_USER_SCHEDULE_IN_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the schedule. |
| `orgId` | integer | Yes | Unique identifier of the organization. |
| `userId` | integer | Yes | Unique identifier of the user for whom the schedule is created. |
| `timeZone` | string | Yes | IANA timezone identifier for the schedule (e.g., 'America/New_York'); used to calculate event times. |
| `isDefault` | boolean | Yes | Specifies if this is the user's default schedule. Only one schedule can be default; used for event types not tied to a specific schedule. |
| `overrides` | array | No | List of overrides to change availability for specific dates (e.g., holidays, special events). |
| `availability` | array | No | List of availability objects defining the user's regular weekly schedule. If omitted, system may assume a default (e.g., Mon-Fri, 09:00-17:00). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create webhook for event type

**Slug:** `CAL_CREATE_WEBHOOK_FOR_EVENT_TYPE`

Creates a webhook for an existing `eventTypeId` in Cal.com, sending notifications for specified `triggers` to a `subscriberUrl` that handles POST requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Indicates if the webhook is active. |
| `secret` | string | No | Secret key to sign the webhook payload, allowing verification of Cal.com origin. |
| `triggers` | array | Yes | List of events that trigger the webhook. At least one trigger must be provided. |
| `eventTypeId` | integer | Yes | Unique identifier for the event type. |
| `subscriberUrl` | string | Yes | URL to receive webhook payloads for trigger events; must handle POST requests. |
| `payloadTemplate` | string | No | String template for the payload sent to `subscriberUrl`, allowing variables like {{type}}. Refer to cal.com/docs/core-features/webhooks for more details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Decline booking with reason

**Slug:** `CAL_DECLINE_BOOKING_WITH_REASON`

Declines a pending booking using its bookingUid, optionally with a reason; this action is irreversible and applies only to bookings awaiting confirmation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | Reason provided by the host for declining the booking; recommended for clear communication with the attendee. |
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking to be declined. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete all team event type webhooks

**Slug:** `CAL_DELETE_ALL_TEAM_EVENT_TYPE_WEBHOOKS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique numeric identifier of the team that owns the event type. |
| `eventTypeId` | integer | Yes | The unique numeric identifier of the event type whose webhooks should be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete conference app connection

**Slug:** `CAL_DELETE_CONFERENCE_APP_CONNECTION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app` | string | Yes | Identifier for the conferencing application to be disconnected. This is typically the unique name or slug of the app integration in Cal.com. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete destination calendar by id

**Slug:** `CAL_DELETE_DESTINATION_CALENDAR_BY_ID`

Tool to remove an existing destination calendar by its unique ID. Use when you need to delete a destination calendar configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the destination calendar to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete event type by id

**Slug:** `CAL_DELETE_EVENT_TYPE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventTypeId` | integer | Yes | The unique numerical identifier of the event type to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete event type in team

**Slug:** `CAL_DELETE_EVENT_TYPE_IN_TEAM`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier for the team from which the event type will be deleted. |
| `eventTypeId` | integer | Yes | The unique identifier for the event type that is to be deleted from the specified team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete membership in team

**Slug:** `CAL_DELETE_MEMBERSHIP_IN_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier for the organization in which the team resides. Obtain from 'retrieve_team_details_in_organization' or organization-related actions. |
| `teamId` | integer | Yes | The unique identifier for the team from which the membership will be deleted. Obtain from 'retrieve_team_details_in_organization' or team listing actions. |
| `membershipId` | integer | Yes | The unique identifier for the membership entry to be deleted. Obtain from 'retrieve_team_memberships_for_organization' or membership creation responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete OAuth Client Managed User

**Slug:** `CAL_DELETE_OAUTH_CLIENT_USER`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | integer | Yes | The unique numerical identifier of the managed user to delete. This is returned when creating a managed user via the create OAuth client user endpoint. |
| `clientId` | string | Yes | The unique identifier of the OAuth client application. This is obtained when registering an OAuth client via the Cal.com Platform dashboard at https://app.cal.com/settings/platform. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key for authentication. This is obtained when registering an OAuth client application with Cal.com Platform. Required for all managed user operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete oauth client webhook

**Slug:** `CAL_DELETE_OAUTH_CLIENT_WEBHOOK`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clientId` | string | Yes | Unique identifier of the OAuth client. This is the clientId returned when creating an OAuth client through the Platform dashboard (https://app.cal.com/settings/platform) or via the OAuth client creation API endpoint. |
| `webhookId` | string | Yes | Unique identifier of the webhook to be deleted. This ID can be obtained by listing webhooks for the OAuth client using the retrieve webhook details endpoint. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key required for Platform authentication. This is obtained when registering an OAuth client application with Cal.com via the Platform dashboard or the OAuth client creation endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete organization attribute

**Slug:** `CAL_DELETE_ORGANIZATION_ATTRIBUTE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the organization. Must be an organization that the authenticated user has access to. |
| `attributeId` | string | Yes | The unique string identifier (ID) of the attribute to delete. This can be obtained from the 'Get all attributes' or 'Create attribute' endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete organization attribute option

**Slug:** `CAL_DELETE_ORGANIZATION_ATTRIBUTE_OPTION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the organization. Must be an organization the authenticated user has admin access to. |
| `optionId` | string | Yes | The unique identifier of the option to delete. Can be obtained from the list attribute options endpoint. This action is irreversible. |
| `attributeId` | string | Yes | The unique identifier of the attribute within the organization. Can be obtained from the list/retrieve organization attributes endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete organization membership

**Slug:** `CAL_DELETE_ORGANIZATION_MEMBERSHIP`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization from which the membership will be removed. |
| `membershipId` | integer | Yes | The unique identifier of the membership to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete org webhook

**Slug:** `CAL_DELETE_ORG_WEBHOOK`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization that owns the webhook. The authenticated user must have admin or appropriate permissions within this organization. |
| `webhookId` | string | Yes | The unique identifier of the webhook to be deleted. This is a UUID string returned when the webhook was created or listed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete schedule by id

**Slug:** `CAL_DELETE_SCHEDULE_BY_ID`

Permanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scheduleId` | integer | Yes | The unique identifier of the schedule to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete selected calendars

**Slug:** `CAL_DELETE_SELECTED_CALENDARS`

Removes a specified, currently selected calendar from the user's active list within the application, without deleting it from the external provider.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `externalId` | string | Yes | The unique identifier of the calendar as recognized by the external integration provider (e.g., a Google Calendar ID or an Outlook Calendar primary key). |
| `integration` | string | Yes | Identifier for the calendar integration provider, specifying the type of the external calendar system. |
| `credentialId` | string | Yes | The unique identifier for the set of credentials used to authenticate and access the specified calendar integration for this user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete selected slot

**Slug:** `CAL_DELETE_SELECTED_SLOT`

Deletes a previously selected time slot from the Cal schedule using its `uid`; the slot must exist and this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier (UID) of the time slot to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team by id

**Slug:** `CAL_DELETE_TEAM_BY_ID`

Permanently and irreversibly deletes an existing team and all its associated data from the Cal system, using the team's unique `teamId`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier of the team to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team event type in organization

**Slug:** `CAL_DELETE_TEAM_EVENT_TYPE_IN_ORGANIZATION`

Permanently removes a team event type from an organization's scheduling configuration. Use when cleaning up unused event types or consolidating team scheduling options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization containing the team whose event type will be deleted. |
| `teamId` | integer | Yes | The unique identifier of the team from which the event type will be deleted. |
| `eventTypeId` | integer | Yes | The unique identifier of the event type to be deleted from the specified team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team from organization

**Slug:** `CAL_DELETE_TEAM_FROM_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the Cal.com organization containing the team. Obtain this from organization-related endpoints or the user's profile organizationId field. |
| `teamId` | integer | Yes | The unique numeric identifier of the team to be permanently deleted. Obtain this by listing teams in the organization via GET /v2/organizations/{orgId}/teams. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete team memberships by id

**Slug:** `CAL_DELETE_TEAM_MEMBERSHIPS_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier of the team from which the membership will be removed. |
| `membershipId` | integer | Yes | The unique identifier of the specific team membership record to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user attribute option

**Slug:** `CAL_DELETE_USER_ATTRIBUTE_OPTION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the organization. Must be an organization the authenticated user has admin access to. |
| `userId` | integer | Yes | The unique numeric identifier of the user from whom the attribute option will be unassigned. Must be a member of the specified organization. |
| `attributeOptionId` | string | Yes | The unique identifier of the attribute option to unassign from the user. Can be obtained from the 'Get all attribute options for a user' endpoint. This is the option ID (e.g., 'clp1234abcd'), not the attribute ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user from organization

**Slug:** `CAL_DELETE_USER_FROM_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization from which the user will be removed. |
| `userId` | integer | Yes | The unique identifier of the user to be removed from the organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user schedule

**Slug:** `CAL_DELETE_USER_SCHEDULE`

Permanently deletes a specific user's schedule, provided the organization, user, and schedule (identified by `orgId`, `userId`, and `scheduleId`) exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Specifies the organization to which the user and schedule belong. |
| `userId` | integer | Yes | Specifies the user whose schedule is to be deleted. |
| `scheduleId` | integer | Yes | Specifies the schedule to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook by id

**Slug:** `CAL_DELETE_WEBHOOK_BY_ID`

Permanently deletes an existing webhook by its `webhookId`, stopping future notifications; this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | The unique identifier of the webhook to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook for event type

**Slug:** `CAL_DELETE_WEBHOOK_FOR_EVENT_TYPE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | The unique identifier of the webhook configuration to be deleted. |
| `eventTypeId` | integer | Yes | The unique identifier of the event type from which the webhook will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhooks for event type

**Slug:** `CAL_DELETE_WEBHOOKS_FOR_EVENT_TYPE`

Call this to irreversibly delete all webhooks for a specific `eventTypeId` if the event type exists; details of deleted webhooks are not returned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventTypeId` | integer | Yes | The unique identifier of the event type for which all associated webhooks will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Disconnect calendar using credential id

**Slug:** `CAL_DISCONNECT_CALENDAR_USING_CREDENTIAL_ID`

Disconnects a calendar integration by its provider name and credential ID, irreversibly revoking Cal's access; external calendar data remains unaffected.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique numeric credential ID for the calendar integration to be disconnected, usually obtained from an endpoint listing connected calendars. |
| `calendar` | string | Yes | Identifier for the calendar to be disconnected, typically the provider name (e.g., 'google', 'outlook') or a service-specific calendar name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit attendee by ID

**Slug:** `CAL_EDIT_ATTENDEE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the attendee to edit. |
| `name` | string | No | The attendee's name. |
| `email` | string | No | The attendee's email address. |
| `timeZone` | string | No | The attendee's timezone in IANA Time Zone Database format. |
| `bookingId` | integer | Yes | The booking ID associated with the attendee. This field is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit availability by ID

**Slug:** `CAL_EDIT_AVAILABILITY_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the availability to edit |
| `days` | array | No | Array of integers depicting weekdays (0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday). Only values 0-6 are valid. |
| `endTime` | string | No | End time of the availability in ISO 8601 datetime format (e.g., '1970-01-01T16:00:00.000Z'). The date portion is ignored; only the time is used. |
| `startTime` | string | No | Start time of the availability in ISO 8601 datetime format (e.g., '1970-01-01T10:00:00.000Z'). The date portion is ignored; only the time is used. |
| `scheduleId` | integer | No | ID of schedule this availability is associated with |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit booking by ID

**Slug:** `CAL_EDIT_BOOKING_BY_ID`

Tool to edit an existing booking by its ID. Use when you need to update booking details such as title, description, status, or time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the booking to edit |
| `end` | string | No | End time of the event in ISO 8601 date-time format |
| `start` | string | No | Start time of the event in ISO 8601 date-time format |
| `title` | string | No | Booking event title |
| `status` | string ("ACCEPTED" | "PENDING" | "CANCELLED" | "REJECTED") | No | Status values for a booking. |
| `description` | string | No | Description of the meeting |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit event type by ID

**Slug:** `CAL_EDIT_EVENT_TYPE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the eventType to edit |
| `slug` | string | No | Unique slug for the event type |
| `hosts` | array | No | List of hosts for team event types |
| `price` | integer | No | Price of the event type booking |
| `title` | string | No | Title of the event type |
| `hidden` | boolean | No | If the event type should be hidden from your public booking page |
| `length` | integer | No | Duration of the event type in minutes |
| `teamId` | integer | No | Team ID if the event type should belong to a team |
| `currency` | string | No | Currency acronym. Eg- usd, eur, gbp, etc. |
| `metadata` | object | No | Metadata relating to event type. Pass {} if empty. Key-value pairs for custom metadata. |
| `position` | integer | No | The position of the event type on the public booking page |
| `locations` | array | No | A list of all available locations for the event type. Each location is a dictionary with type and location-specific fields. |
| `periodDays` | integer | No | Number of bookable days (Required if periodType is rolling) |
| `periodType` | string ("UNLIMITED" | "ROLLING" | "RANGE") | No | Period type for bookable event range. |
| `scheduleId` | integer | No | The ID of the schedule for this event type |
| `description` | string | No | Description of the event type |
| `slotInterval` | integer | No | The intervals of available bookable slots in minutes |
| `disableGuests` | boolean | No | If the event type should disable adding guests to the booking |
| `periodEndDate` | string | No | End date of bookable period (Required if periodType is 'range') |
| `recurringEvent` | object | No | Recurring event configuration. |
| `schedulingType` | string ("ROUND_ROBIN" | "COLLECTIVE") | No | Scheduling type for team events. |
| `periodStartDate` | string | No | Start date of bookable period (Required if periodType is 'range') |
| `afterEventBuffer` | integer | No | Number of minutes of buffer time after a Cal Event |
| `seatsPerTimeSlot` | integer | No | The number of seats for each time slot |
| `beforeEventBuffer` | integer | No | Number of minutes of buffer time before a Cal Event |
| `hideCalendarNotes` | boolean | No | If the calendar notes should be hidden from the booking |
| `seatsShowAttendees` | boolean | No | Share Attendee information in seats |
| `successRedirectUrl` | string | No | A valid URL where the booker will redirect to, once the booking is completed successfully |
| `minimumBookingNotice` | integer | No | Minimum time in minutes before the event is bookable |
| `requiresConfirmation` | boolean | No | If the event type should require your confirmation before completing the booking |
| `periodCountCalendarDays` | boolean | No | If calendar days should be counted for period days |
| `seatsShowAvailabilityCount` | boolean | No | Show the number of available seats |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit selected calendar by ID

**Slug:** `CAL_EDIT_SELECTED_CALENDAR_BY_ID`

Tool to edit a selected calendar by its composite ID in Cal.com. Use when you need to update an existing calendar integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | User ID of the selected calendar to edit. Obtain this from the user's profile or authentication context. |
| `external_id` | string | Yes | External calendar identifier from the integration provider (e.g., email address for Google Calendar). This identifies which calendar to edit. |
| `integration` | string | Yes | Integration provider of the calendar (e.g., 'google_calendar', 'office365_calendar'). This identifies which calendar to edit. |
| `new_external_id` | string | No | New external calendar identifier. Updates the calendar's external ID. |
| `new_integration` | string | No | New integration provider to set for this calendar. Updates the calendar's integration type. |
| `new_credential_id` | integer | No | New credential ID to associate with this calendar. Updates the authentication credential reference. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch all bookings

**Slug:** `CAL_FETCH_ALL_BOOKINGS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of bookings to skip from the beginning of results (for pagination). |
| `take` | integer | No | Maximum number of bookings to return (for pagination). |
| `status` | array | No | Filter bookings by status. Provide a list of status values (e.g., `["upcoming", "past"]`). |
| `teamId` | integer | No | Filter bookings by a single team ID (numeric) of which the user is a member. |
| `sortEnd` | string ("asc" | "desc") | No | Sort results by booking end time. |
| `teamsIds` | string | No | Filter bookings by one or more team IDs (comma-separated numeric IDs) of which the user is a member. |
| `beforeEnd` | string | No | Filter bookings ending before this ISO 8601 date or date-time string. |
| `sortStart` | string ("asc" | "desc") | No | Sort results by booking start time. |
| `afterStart` | string | No | Filter bookings starting after this ISO 8601 date or date-time string. |
| `eventTypeId` | integer | No | Filter bookings by a single event type ID (numeric) belonging to the user. |
| `sortCreated` | string ("asc" | "desc") | No | Sort results by booking creation time. |
| `attendeeName` | string | No | Filter bookings by the name of an attendee. |
| `eventTypeIds` | string | No | Filter bookings by one or more event type IDs (comma-separated numeric IDs) belonging to the user. |
| `attendeeEmail` | string | No | Filter bookings by the exact email address of an attendee. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch event type details

**Slug:** `CAL_FETCH_EVENT_TYPE_DETAILS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization to which the event type belongs. |
| `teamId` | integer | Yes | The unique identifier of the team, within the specified organization, to which the event type belongs. |
| `eventTypeId` | integer | Yes | The unique identifier of the specific event type for which details are to be fetched. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch organization attribute by id

**Slug:** `CAL_FETCH_ORGANIZATION_ATTRIBUTE_BY_ID`

Retrieves a specific attribute of an organization, useful for fetching a single data point instead of the entire organization record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numerical identifier of the organization. |
| `attributeId` | string | Yes | The UUID of the custom attribute to retrieve. This is a unique identifier for an organization attribute that was previously created (e.g., Department, Skills, Office Location). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch provider access token

**Slug:** `CAL_FETCH_PROVIDER_ACCESS_TOKEN`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clientId` | string | Yes | The unique identifier of the OAuth client application registered with Cal.com Platform. This is used to verify that the current access token (in the Authorization header) is valid for this specific OAuth client. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch schedule by id

**Slug:** `CAL_FETCH_SCHEDULE_BY_ID`

Fetches comprehensive details for a specific, existing schedule using its `scheduleId`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scheduleId` | integer | Yes | Unique identifier of the schedule to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch user schedule by org id

**Slug:** `CAL_FETCH_USER_SCHEDULE_BY_ORG_ID`

Retrieves a specific user's schedule within an organization, returning availability windows, timezone settings, and date-specific overrides. Requires organization-level access permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization. The authenticated user must have access to this organization. |
| `userId` | integer | Yes | The unique identifier of the user whose schedule is being retrieved. Must be a member of the specified organization. |
| `scheduleId` | integer | Yes | The unique identifier of the specific schedule to retrieve. Can be obtained from the user's schedules list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch webhook by event type id

**Slug:** `CAL_FETCH_WEBHOOK_BY_EVENT_TYPE_ID`

Retrieves details for a single, specific webhook using its `webhookId` and associated `eventTypeId`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | Unique identifier for the webhook. |
| `eventTypeId` | integer | Yes | Unique identifier for the event type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Force refresh user oauth client

**Slug:** `CAL_FORCE_REFRESH_USER_OAUTH_CLIENT`

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).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | integer | Yes | Unique numerical identifier of the managed user. This is the user ID returned when creating a managed user via the OAuth client. |
| `clientId` | string | Yes | Unique string identifier of the OAuth client application. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get all timezones

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get available slots info

**Slug:** `CAL_GET_AVAILABLE_SLOTS_INFO`

Retrieves available time slots for scheduling by considering existing bookings and availability, based on criteria like a specified time range and event type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endTime` | string | Yes | End date and time in UTC (ISO 8601 format) until which to fetch available slots. Must be after `startTime`. |
| `orgSlug` | string | No | The slug identifying the organization to which the event type or users belong. This can be used to scope the availability search within a specific organization. |
| `duration` | integer | No | The desired duration of the time slots in minutes. This is typically used for dynamic events where the slot length is not fixed by the event type. |
| `timeZone` | string | No | The IANA time zone identifier (e.g., 'America/New_York', 'Europe/Berlin', 'UTC') in which the available slots should be calculated and returned. If omitted, a default timezone may apply. |
| `startTime` | string | Yes | Start date and time in UTC (ISO 8601 format) from which to fetch available slots. Must be before `endTime`. |
| `slotFormat` | string ("range" | "time") | No | Determines the format of the returned slot times. Use "range" to get start and end times for each slot; use "time" to get only the start times. |
| `eventTypeId` | integer | Yes | Unique numeric identifier for the event type. |
| `usernameList` | array | No | Required for dynamic or collective event types to specify the users whose availability should be considered. |
| `eventTypeSlug` | string | No | The URL-friendly string identifier (slug) of the event type. Can be used as an alternative to `eventTypeId`. |
| `rescheduleUid` | string | No | The unique identifier of an existing booking that is being rescheduled. Providing this helps find slots suitable for the reschedule context. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get booking reference by id

**Slug:** `CAL_GET_BOOKING_REFERENCE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the booking reference to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get booking references

**Slug:** `CAL_GET_BOOKING_REFERENCES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("google_calendar" | "office365_calendar" | "daily_video" | "google_video" | "office365_video" | "zoom_video") | No | Type of booking reference to filter by. |
| `orgId` | integer | Yes | The ID of the organization that owns the booking. |
| `teamId` | integer | Yes | The ID of the team within the organization that owns the booking. |
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking to retrieve references for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get conference OAuth authorization url

**Slug:** `CAL_GET_CONFERENCE_OAUTH_AUTHORIZATION_URL`

Generates an OAuth 2.0 authorization URL for a supported conferencing `app` to initiate or refresh its integration with Cal.com.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app` | string | Yes | The identifier of the conferencing application (e.g., 'zoom', 'google_meet'). This is used as a path parameter. |
| `returnTo` | string | Yes | The URL to which the user will be redirected after successful OAuth authorization. |
| `onErrorReturnTo` | string | Yes | The URL to which the user will be redirected if an error occurs during the OAuth authorization process. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get default schedule details

**Slug:** `CAL_GET_DEFAULT_SCHEDULE_DETAILS`

Retrieves the Cal system's global default schedule configuration, not custom or user-specific ones.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get destination calendars

**Slug:** `CAL_GET_DESTINATION_CALENDARS`

Tool to retrieve all destination calendars configured for the authenticated user. Use when you need to find where new bookings will be created.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event type by team id

**Slug:** `CAL_GET_EVENT_TYPE_BY_TEAM_ID`

Retrieves a specific event type by its ID, requiring that the event type is associated with the given team ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier for the team. |
| `eventTypeId` | integer | Yes | The unique identifier for the event type. Must be an event type associated with the provided `teamId`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get event type private links

**Slug:** `CAL_GET_EVENT_TYPE_PRIVATE_LINKS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventTypeId` | integer | Yes | The unique identifier of the event type for which private links are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get google calendar oauth authentication url

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get oauth clients user

**Slug:** `CAL_GET_OAUTH_CLIENTS_USER`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of user records to return. If not specified, a default limit may be applied by the server. |
| `clientId` | string | Yes | The unique identifier of the OAuth client for which to retrieve associated users. |
| `x_cal_secret_key` | string | No | The OAuth client secret key for authentication. Required for Platform OAuth client endpoints. Obtained when creating an OAuth client at https://app.cal.com/settings/platform/oauth-clients. Should be stored securely as an environment variable in production. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization attribute assigned options

**Slug:** `CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONS`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of responses to skip from the beginning (for pagination). |
| `take` | integer | No | Maximum number of responses to return (for pagination). |
| `orgId` | integer | Yes | The unique identifier of the organization. You can obtain this from the 'get_organization_id' action. |
| `teamIds` | string | No | Filter by team IDs. Multiple team IDs must be separated by a comma (e.g., '100,200'). |
| `attributeId` | string | Yes | The unique UUID identifier of the attribute whose assigned options you want to retrieve. Obtain this from organization attributes actions. |
| `assignedOptionIds` | string | No | Filter by assigned attribute option IDs. Multiple IDs must be separated by a comma (e.g., 'id1,id2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization attribute assigned options by slug

**Slug:** `CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONS_BY_SLUG`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of responses to skip for pagination. Use with 'take' parameter to paginate through results. |
| `take` | integer | No | Number of responses to take (limit) for pagination. Use with 'skip' parameter to paginate through results. |
| `orgId` | integer | Yes | The unique identifier of the organization. You can obtain this from the 'get_organization_id' action. |
| `teamIds` | array | No | Filter by team IDs. Provide a list of team IDs to filter results to options assigned within these specific teams. |
| `attributeSlug` | string | Yes | The URL-friendly slug identifier of the attribute (e.g., 'department', 'role', 'location'). This is different from the attribute ID and is used for human-readable URLs. |
| `assignedOptionIds` | array | No | Filter by assigned attribute option IDs. Provide a list of UUID strings to filter results to only these specific option IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization ID

**Slug:** `CAL_GET_ORGANIZATION_ID`

Retrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization schedules

**Slug:** `CAL_GET_ORGANIZATION_SCHEDULES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of schedules to skip before returning results. Used for pagination to fetch subsequent pages. |
| `take` | integer | No | The maximum number of schedules to return per page. Used for pagination. If not specified, the API default limit applies. |
| `orgId` | integer | Yes | The unique identifier of the organization for which to retrieve schedules. Must be an organization the authenticated user belongs to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization teams event types

**Slug:** `CAL_GET_ORGANIZATION_TEAMS_EVENT_TYPES`

Retrieves event types, including names, durations, and custom settings for team scheduling, for all teams within an existing organization specified by `orgId`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of event types to skip before starting to return results from the list. Used for pagination. |
| `take` | integer | No | The maximum number of event types to return in a single response. Used for pagination. |
| `orgId` | integer | Yes | The unique identifier of the organization for which to retrieve team event types. The user must have access to this organization. |
| `sortCreatedAt` | string | No | Order results by creation date. Use 'asc' for oldest first or 'desc' for newest first. When not provided, no explicit ordering is applied. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization team workflows

**Slug:** `CAL_GET_ORGANIZATION_TEAM_WORKFLOWS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of workflows to skip before returning results. Used for pagination to fetch subsequent pages. Defaults to 0 if not specified. |
| `take` | integer | No | Maximum number of workflows to return per page. Used for pagination. Defaults to 250 if not specified. |
| `orgId` | integer | Yes | The unique numeric identifier of the organization. You must have access to this organization. |
| `teamId` | integer | Yes | The unique numeric identifier of the team within the organization for which to retrieve workflows. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization user schedules

**Slug:** `CAL_GET_ORGANIZATION_USER_SCHEDULES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier for the organization. |
| `userId` | integer | Yes | The unique identifier for the user whose schedules are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get private links for team event type

**Slug:** `CAL_GET_PRIVATE_LINKS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | integer | Yes | The unique identifier of the organization |
| `team_id` | integer | Yes | The unique identifier of the team |
| `event_type_id` | integer | Yes | The unique identifier of the event type |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get schedule for user in team

**Slug:** `CAL_GET_SCHEDULE_FOR_USER_IN_TEAM`

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).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Unique identifier for the organization. Obtain this from 'get_organization_id' action which returns organization IDs for the authenticated user. |
| `teamId` | integer | Yes | Unique identifier for the team within the organization. Obtain this from 'get_teams_list' action which returns all teams the user belongs to. |
| `userId` | integer | Yes | Unique identifier for the user whose schedules you want to retrieve. Obtain this from 'retrieve_team_memberships' action using a valid teamId. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get selected calendar by ID

**Slug:** `CAL_GET_SELECTED_CALENDAR_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | User ID of the selected calendar to retrieve |
| `external_id` | string | Yes | External ID of the calendar from the integration provider (e.g., email address for Google Calendar) |
| `integration` | string | Yes | Integration provider of the selected calendar (e.g., 'google_calendar', 'outlook_calendar') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get stripe connect info

**Slug:** `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 linked.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Stripe Connect URL for team

**Slug:** `CAL_GET_STRIPE_CONNECT_URL`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Organization identifier. The unique ID of the organization that owns the team. |
| `teamId` | integer | Yes | Team identifier. The unique ID of the team within the organization for which to generate the Stripe Connect URL. |
| `returnTo` | string | Yes | Redirect destination upon successful connection. The URL where users will be redirected after successfully connecting their Stripe account. |
| `onErrorReturnTo` | string | Yes | Redirect destination if connection fails. The URL where users will be redirected if the Stripe connection process encounters an error. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team bookings

**Slug:** `CAL_GET_TEAM_BOOKINGS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of bookings to skip from the beginning of results (for pagination). |
| `take` | integer | No | Maximum number of bookings to return (for pagination). |
| `status` | array | No | Filter bookings by status. Provide a list of status values to filter by multiple statuses. |
| `teamId` | integer | Yes | The unique numeric identifier of the team whose bookings you want to retrieve. |
| `sortEnd` | string ("asc" | "desc") | No | Sort order for end time. |
| `beforeEnd` | string | No | Filter bookings ending before this ISO 8601 date or date-time string. |
| `sortStart` | string ("asc" | "desc") | No | Sort order for start time. |
| `afterStart` | string | No | Filter bookings starting after this ISO 8601 date or date-time string. |
| `bookingUid` | string | No | Filter bookings by the unique booking UID. |
| `eventTypeId` | string | No | Filter bookings by a single event type ID belonging to the team. |
| `sortCreated` | string ("asc" | "desc") | No | Sort order for creation time. |
| `attendeeName` | string | No | Filter bookings by the name of an attendee. |
| `eventTypeIds` | string | No | Filter bookings by one or more event type IDs (comma-separated) belonging to the team. |
| `attendeeEmail` | string | No | Filter bookings by the exact email address of an attendee. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team default conferencing app

**Slug:** `CAL_GET_TEAM_DEFAULT_CONFERENCING_APP`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization to which the team belongs. |
| `teamId` | integer | Yes | The unique identifier of the team for which the default conferencing app is retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team details by organization ID and team ID

**Slug:** `CAL_GET_TEAM_DETAILS_BY_ORG_ID_AND_TEAM_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization to which the team belongs. |
| `teamId` | integer | Yes | The unique identifier of the team for which details are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team event type webhook

**Slug:** `CAL_GET_TEAM_EVENT_TYPE_WEBHOOK`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier of the team that owns the event type. This ID can be obtained from the teams list endpoint. |
| `webhookId` | string | Yes | The unique identifier (UUID format) of the webhook to retrieve. This ID is returned when creating a webhook or listing webhooks for an event type. |
| `eventTypeId` | integer | Yes | The unique identifier of the event type associated with the webhook. This ID can be obtained from the team event types endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team event type webhooks

**Slug:** `CAL_GET_TEAM_EVENT_TYPE_WEBHOOKS`

Retrieves all webhooks configured for a specific team event type. Use this to audit webhook configurations or troubleshoot webhook delivery issues.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of webhook records to skip for pagination. Default is 0. |
| `take` | integer | No | Maximum number of webhook records to return. Default is 250. |
| `teamId` | integer | Yes | The unique numerical identifier of the team. This ID can be obtained from the teams list endpoint. |
| `eventTypeId` | integer | Yes | The unique identifier of the event type for which webhooks are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team information by team ID

**Slug:** `CAL_GET_TEAM_INFORMATION_BY_TEAM_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique numeric identifier of the team. Obtain this from the 'get_teams_list' action or from team creation responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team routing forms

**Slug:** `CAL_GET_TEAM_ROUTING_FORMS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of routing forms to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified. |
| `take` | integer | No | Maximum number of routing forms to return per page. Used for pagination. If not specified, the API default limit applies. |
| `orgId` | integer | Yes | The unique identifier of the organization containing the team. Must be an organization the authenticated user has access to. |
| `teamId` | integer | Yes | The unique identifier of the team whose routing forms to retrieve. Must be a team within the specified organization. |
| `sortCreatedAt` | string ("asc" | "desc") | No | Enum for sort order values. |
| `sortUpdatedAt` | string ("asc" | "desc") | No | Enum for sort order values. |
| `afterCreatedAt` | string | No | Filter to include only routing forms created after this date. Should be in ISO 8601 date-time format. |
| `afterUpdatedAt` | string | No | Filter to include only routing forms updated after this date. Should be in ISO 8601 date-time format. |
| `beforeCreatedAt` | string | No | Filter to include only routing forms created before this date. Should be in ISO 8601 date-time format. |
| `beforeUpdatedAt` | string | No | Filter to include only routing forms updated before this date. Should be in ISO 8601 date-time format. |
| `routedToBookingUid` | string | No | Filter routing forms by responses routed to a specific booking. Provide the unique booking identifier (UID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get team schedules

**Slug:** `CAL_GET_TEAM_SCHEDULES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of schedules to skip before returning results. Used for pagination. Defaults to 0 if not specified. |
| `take` | integer | No | Maximum number of schedules to return. Used for pagination. Defaults to 250 if not specified. |
| `orgId` | integer | Yes | The unique identifier of the organization. Must be an organization the authenticated user belongs to. |
| `teamId` | integer | Yes | The unique identifier of the team within the organization. |
| `eventTypeId` | integer | No | Filter schedules by a specific event type ID. When provided, only schedules associated with this event type will be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get teams list

**Slug:** `CAL_GET_TEAMS_LIST`

Retrieves all teams the user belongs to, including their names and members.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get verified phone numbers

**Slug:** `CAL_GET_VERIFIED_PHONE_NUMBERS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of items to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified. |
| `take` | integer | No | Maximum number of items to return. Valid range: 1-250. Defaults to 250 if not specified. |
| `orgId` | integer | Yes | The unique numeric identifier of the organization. |
| `teamId` | integer | Yes | The unique numeric identifier of the team within the organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get webhook by id

**Slug:** `CAL_GET_WEBHOOK_BY_ID`

Retrieves details for an existing and accessible webhook by its ID; this is a read-only operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhookId` | string | Yes | The unique identifier of the webhook to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Handle conferencing oauth callback for app

**Slug:** `CAL_HANDLE_CONFERENCING_OAUTH_CALLBACK_FOR_APP`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app` | string | Yes | Unique identifier for the conferencing application (e.g., 'zoom', 'google_meet', 'msteams'); typically part of the callback URL path. |
| `code` | string | Yes | Authorization code from the conferencing application's OAuth provider. |
| `state` | string | Yes | OAuth state parameter for CSRF protection, which must match the state sent in the initial authorization request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List all attendees

**Slug:** `CAL_LIST_ATTENDEES`

Tool to retrieve all attendees from Cal.com. Use when you need to get a complete list of all attendees across all bookings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List booking references

**Slug:** `CAL_LIST_BOOKING_REFERENCES`

Tool to find all booking references in Cal.com. Use when you need to retrieve a list of all booking references that link bookings to external platforms or calendars.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List event types

**Slug:** `CAL_LIST_EVENT_TYPES`

Retrieves Cal event types, filterable by `username` (required if `eventSlug` is provided), multiple `usernames`, or organization details (`orgSlug` or `orgId`).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | No | The unique identifier (ID) of the user's organization. If provided, `orgSlug` is not required. Fetches event types associated with this organization. |
| `orgSlug` | string | No | The slug of the user's organization. If provided, `orgId` is not required. Fetches event types associated with this organization. |
| `username` | string | No | The username of the user whose event types are to be retrieved. If provided alone, fetches all event types for this user. |
| `eventSlug` | string | No | The slug of a specific event type to retrieve. If provided, `username` must also be supplied, as multiple users can have events with the same slug. |
| `usernames` | string | No | A comma-separated string of usernames to retrieve dynamic event types for multiple users simultaneously (e.g., 'alice,bob'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List organization memberships

**Slug:** `CAL_LIST_ORGANIZATION_MEMBERSHIPS`

Retrieves all memberships for a given organization, including user details, roles, status, and membership dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of initial membership records to skip. If not provided, no records are skipped. Useful for pagination. |
| `take` | integer | No | The maximum number of membership records to return. If not provided, a default limit may apply. Useful for pagination. |
| `orgId` | integer | Yes | The unique identifier of the organization for which to list memberships. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List team event types by org and team id

**Slug:** `CAL_LIST_TEAM_EVENT_TYPES_BY_ORG_AND_TEAM_ID`

Retrieves all event types for a specific team within an organization, optionally filtering by a specific event slug.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the organization to which the team belongs. You can find this ID from organization-related API responses or your Cal.com organization settings. |
| `teamId` | integer | Yes | The unique numeric identifier of the team whose event types are to be listed. You can find this ID from team-related API responses or your Cal.com team settings. |
| `eventSlug` | string | No | Optional slug of a specific team event type. If provided, filters results to only the event type matching this slug (e.g., '30-min-call'). Leave empty to retrieve all event types for the team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark booking absent for UID

**Slug:** `CAL_MARK_BOOKING_ABSENT_FOR_UID`

Marks the host and/or specified attendees as absent for an existing booking, typically used after a scheduled event to record no-shows.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | boolean | No | If true, marks the host as absent. If null or omitted, host attendance status is unchanged. |
| `attendees` | array | No | List of attendees to mark as absent. If null or omitted, no listed attendees are marked absent. |
| `bookingUid` | string | Yes | Unique identifier (UID) for the booking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify organization membership by id

**Slug:** `CAL_MODIFY_ORGANIZATION_MEMBERSHIP_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | New role for the member; if omitted, role is unchanged. |
| `orgId` | integer | Yes | Organization's unique identifier (from URL path). |
| `accepted` | boolean | No | Set true to accept membership, false to decline/revoke; if omitted, status is unchanged. |
| `membershipId` | integer | Yes | Membership's unique identifier to modify (from URL path). |
| `disableImpersonation` | boolean | No | Set true to disable impersonation, false to enable; if omitted, setting is unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify org attribute by id

**Slug:** `CAL_MODIFY_ORG_ATTRIBUTE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the attribute. |
| `slug` | string | No | The new URL-friendly slug for the attribute. |
| `type` | string ("TEXT" | "NUMBER" | "SINGLE_SELECT" | "MULTI_SELECT") | No | The new type for the attribute; changing the type may affect existing data associated with this attribute. |
| `orgId` | integer | Yes | The unique identifier for the organization. |
| `enabled` | boolean | No | Specifies whether the attribute should be enabled or disabled. |
| `attributeId` | string | Yes | The unique identifier for the attribute to be modified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch organization attribute option

**Slug:** `CAL_PATCH_ORGANIZATION_ATTRIBUTE_OPTION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | No | The new URL-friendly programmatic identifier for the attribute option. Typically lowercase with hyphens (e.g., 'engineering', 'sales-dept'). At least one of 'value' or 'slug' must be provided. |
| `orgId` | integer | Yes | The unique identifier of the organization. Obtain this from the user's profile (organizationId field) or from organization membership data. |
| `value` | string | No | The new human-readable display value for the attribute option (e.g., 'Engineering', 'Sales Team'). At least one of 'value' or 'slug' must be provided. |
| `optionId` | string | Yes | The unique identifier of the attribute option to be updated. Obtain this from the 'retrieve_attribute_options_for_org' action or when creating an option. |
| `attributeId` | string | Yes | The unique identifier of the attribute whose option is being updated. Obtain this from the 'retrieve_organization_attributes' action or when creating an attribute. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch organization user details

**Slug:** `CAL_PATCH_ORGANIZATION_USER_DETAILS`

Partially updates details for a user that exists within the specified organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | A short biography or description of the user. |
| `name` | string | No | The display name of the user. |
| `email` | string | No | The email address of the user to update. |
| `orgId` | integer | Yes | The unique identifier of the organization. |
| `theme` | string | No | The UI theme preference for the user (e.g., 'light', 'dark'). |
| `locale` | string | No | The locale/language preference for the user (e.g., 'en', 'fr', 'de'). |
| `userId` | integer | Yes | The unique identifier of the user whose details are to be updated. |
| `timeZone` | string | No | The timezone of the user (e.g., 'America/New_York', 'Europe/London'). |
| `avatarUrl` | string | No | The URL of the user's avatar image. |
| `weekStart` | string | No | The day the week starts for the user (e.g., 'Monday', 'Sunday'). |
| `brandColor` | string | No | The primary brand color in hex format (e.g., '#000000'). |
| `timeFormat` | integer | No | The time format preference (12 for 12-hour, 24 for 24-hour). |
| `hideBranding` | boolean | No | Whether to hide Cal.com branding for this user. |
| `darkBrandColor` | string | No | The brand color for dark mode in hex format (e.g., '#ffffff'). |
| `defaultScheduleId` | integer | No | The ID of the default schedule for this user. |
| `allowDynamicBooking` | boolean | No | Whether to allow dynamic booking for this user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch team details by ID

**Slug:** `CAL_PATCH_TEAM_DETAILS_BY_ID`

Updates specified details for an existing team identified by `teamId`; unspecified fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | Short biography or description for the team. |
| `name` | string | No | The new name for the team. |
| `slug` | string | No | Unique URL-friendly identifier for the team; auto-generated from team name if not provided. |
| `theme` | string | No | Color theme for team booking pages (e.g., 'light', 'dark', custom). |
| `teamId` | integer | Yes | The unique identifier of the team to be updated. |
| `appLogo` | string | No | URL for the logo in the Cal.com application for this team. |
| `logoUrl` | string | No | URL of the team's logo image. |
| `metadata` | object | No | Custom key-value metadata for the team (max 50 keys, keys ≤40 chars, values ≤500 chars). |
| `timeZone` | string | No | IANA time zone (e.g., 'America/New_York'); affects default schedule, defaults to 'Europe/London'. |
| `bannerUrl` | string | No | URL of the team's banner image for their booking page. |
| `isPrivate` | boolean | No | If true, team is private and not publicly discoverable. |
| `weekStart` | string | No | Start day of the week for team calendar views (e.g., 'Sunday'). |
| `brandColor` | string | No | Primary brand color for the team (CSS color format). |
| `timeFormat` | integer | No | Preferred time format: 12 for 12-hour, 24 for 24-hour. |
| `appIconLogo` | string | No | URL for the icon logo in the application, typically smaller than appLogo. |
| `calVideoLogo` | string | No | URL for the logo in Cal Video sessions for this team. |
| `hideBranding` | boolean | No | If true, hides Cal.com branding on team booking pages. |
| `bookingLimits` | object | No | Booking limits (e.g., max per day/week), conforming to Cal.com's schema. |
| `darkBrandColor` | string | No | Brand color for dark theme (CSS color format). |
| `hideBookATeamMember` | boolean | No | If true, hides booking specific team members, forcing team-level bookings (e.g., round-robin). |
| `includeManagedEventsInLimits` | boolean | No | If true, team-managed events (round-robin, collective) count towards booking limits. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch webhook event type

**Slug:** `CAL_PATCH_WEBHOOK_EVENT_TYPE`

Updates configuration (e.g., payload template, active status, URL, triggers, secret) for an existing webhook tied to a specific event type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Set `true` to activate or `false` to deactivate the webhook. |
| `secret` | string | No | Secret key to sign webhook payloads, verifying their origin. |
| `triggers` | string ("BOOKING_CREATED" | "BOOKING_PAYMENT_INITIATED" | "BOOKING_PAID" | "BOOKING_RESCHEDULED" | "BOOKING_REQUESTED" | "BOOKING_CANCELLED" | "BOOKING_REJECTED" | "BOOKING_NO_SHOW_UPDATED" | "FORM_SUBMITTED" | "MEETING_ENDED" | "MEETING_STARTED" | "RECORDING_READY" | "INSTANT_MEETING" | "RECORDING_TRANSCRIPTION_GENERATED" | "OOO_CREATED" | "AFTER_HOSTS_CAL_VIDEO_NO_SHOW" | "AFTER_GUESTS_CAL_VIDEO_NO_SHOW" | "FORM_SUBMITTED_NO_EVENT") | No | Specific event that triggers the webhook. |
| `webhookId` | string | Yes | Unique identifier of the webhook to be updated (path parameter). |
| `eventTypeId` | integer | Yes | Unique identifier of the event type for the webhook (path parameter). |
| `subscriberUrl` | string | No | URL where webhook notifications are sent. |
| `payloadTemplate` | string | No | Template for the payload sent to `subscriberUrl`. See Cal.com documentation (cal.com/docs/core-features/webhooks) for syntax and variables. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post calendar credentials

**Slug:** `CAL_POST_CALENDAR_CREDENTIALS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendar` | string | Yes | The calendar type for which credentials will be posted. Currently only 'apple' is supported for this endpoint. |
| `password` | string | Yes | The Apple account app-specific password for calendar access. |
| `username` | string | Yes | The Apple account username (typically an iCloud email address). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Connect conferencing app

**Slug:** `CAL_POST_CONFERENCING_APP_CONNECT`

Connects or reconnects Cal.com with a specified conferencing application to enable future virtual meeting scheduling, but does not itself create or schedule meetings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app` | string | Yes | Identifier of the conferencing application for establishing its connection with Cal.com. Note: Google Meet requires a Google Calendar connection first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a new booking

**Slug:** `CAL_POST_NEW_BOOKING_REQUEST`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `start` | string | Yes | Start date and time for the booking in ISO 8601 format in UTC (e.g., '2024-09-15T10:00:00Z'). Must be an available slot from get_available_slots_info. |
| `guests` | array | No | List of additional guest email addresses to invite to the event. |
| `instant` | boolean | No | Whether this is an instant booking that bypasses approval flows (team events only). |
| `routing` | object | No | Routing form response data with team member IDs for assignment. |
| `language` | string | Yes | ISO 639-1 language code for communications with the attendee (e.g., 'en' for English, 'es' for Spanish, 'fr' for French). |
| `location` | object | No | Location object matching one of the event type's configured locations (e.g., {'type': 'integrations:daily'} for Cal Video). |
| `metadata` | object | No | Custom key-value metadata for tracking or analytics. Defaults to empty object. Max 50 keys, 40 chars per key, 500 chars per value. |
| `teamSlug` | string | No | Team slug for event type identification when using eventTypeSlug. |
| `timeZone` | string | Yes | IANA timezone identifier for the attendee (e.g., 'America/New_York', 'Europe/London', 'Asia/Tokyo'). This determines how times are displayed to the attendee. |
| `username` | string | No | Username of the host for event type identification when using eventTypeSlug. |
| `responses` | object | Yes | Attendee details object. Required keys: 'name' (string, attendee's full name) and 'email' (string, valid email address). Optional: 'smsReminderNumber' for SMS reminders. |
| `eventTypeId` | integer | No | Unique numeric identifier of the event type to be booked. Either eventTypeId OR (eventTypeSlug + username) OR (eventTypeSlug + teamSlug) must be provided. |
| `eventTypeSlug` | string | No | Slug of the event type. When used, must be combined with either username or teamSlug. |
| `lengthInMinutes` | integer | No | Duration of the event in minutes. Only use this when the event type supports multiple selectable durations. Omit for fixed-duration event types. |
| `organizationSlug` | string | No | Optional organization slug when using eventTypeSlug with username or teamSlug. |
| `emailVerificationCode` | string | No | Email verification code if the event type requires email verification. |
| `bookingFieldsResponses` | object | No | Key/value responses to custom booking fields defined for the event type. Required if the event type has mandatory custom fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign or create attribute option for user

**Slug:** `CAL_POST_ORG_ATTRIBUTE_OPTION_BY_USER`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier for the organization. Must be an organization that the caller has access to. |
| `value` | string | No | Value for a new attribute option to be created under `attributeId` and then assigned to the user; use this if not assigning an existing option via `attributeOptionId`. |
| `userId` | integer | Yes | The unique identifier for the user within the organization to assign the attribute option to. |
| `attributeId` | string | Yes | The unique identifier of the attribute to which this option belongs or will be added and assigned. The attribute must already exist in the organization. |
| `attributeOptionId` | string | No | Identifier of an existing attribute option to be assigned to the user for `attributeId`. Use this when assigning a pre-existing option instead of creating a new one with `value`. Either `attributeOptionId` or `value` should be provided, not both. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add selected calendar

**Slug:** `CAL_POST_SELECTED_CALENDARS`

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`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `externalId` | string | Yes | Unique identifier of the specific calendar within the external service. |
| `integration` | string | Yes | Specifies the external calendar system to connect with. |
| `credentialId` | integer | Yes | Unique identifier for the stored credential authorizing Cal's access to the external calendar service. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post user to organization

**Slug:** `CAL_POST_USER_TO_ORGANIZATION`

Adds a new user to an existing organization (identified by `orgId` in path), requiring user's `email` and allowing extensive optional profile customization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user. |
| `orgId` | integer | Yes | Unique identifier of the organization. |
| `theme` | string | No | Preferred visual theme for the application. |
| `locale` | string | No | Preferred language and regional settings. |
| `weekday` | string | No | Preferred start day of the week for calendar views. Note: This parameter may cause API errors (500) and should be used with caution. The API sets a default weekStart value regardless. |
| `appTheme` | string | No | Preferred application-specific theme with granular styling options. Note: This parameter may cause validation errors (400) and should be used with caution. Consider using the 'theme' parameter instead. |
| `timeZone` | string | No | Preferred time zone (IANA Time Zone Database format). |
| `username` | string | No | Desired username. |
| `avatarUrl` | string | No | URL for the user's avatar image. |
| `autoAccept` | boolean | No | If true, user automatically accepts event invitations. |
| `brandColor` | string | No | Preferred brand color for the interface (HEX format). |
| `timeFormat` | integer | No | Preferred time display format: 12 for AM/PM, 24 for 24-hour. |
| `hideBranding` | boolean | No | Set to true to hide Cal.com branding. |
| `darkBrandColor` | string | No | Preferred brand color for dark mode interface (HEX format). |
| `organizationRole` | string ("MEMBER" | "ADMIN" | "OWNER") | No | Role of the user within the organization. |
| `defaultScheduleId` | integer | No | ID of the default schedule for the new user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create webhook subscription

**Slug:** `CAL_POST_WEBHOOK_EVENT`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Indicates if the webhook is active. If false, notifications will not be sent. |
| `secret` | string | No | Secret key for signing the webhook payload (HMAC-SHA256), enabling verification of notification authenticity. |
| `triggers` | array | Yes | The list of event types that will trigger this webhook notification. |
| `subscriberUrl` | string | Yes | The callback URL where webhook notifications (POST requests) will be sent. |
| `payloadTemplate` | string | No | JSON string template for the webhook payload, using placeholders like {{type}} for dynamic data. Refer to Cal.com webhook documentation for available placeholders. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reassign booking to another user

**Slug:** `CAL_REASSIGN_BOOKING_TO_ANOTHER_USER`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | An optional text explaining the reason for reassigning the booking. This can be useful for audit trails or internal communication. |
| `userId` | integer | Yes | The numerical ID of the user to whom the booking will be reassigned. |
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking that needs to be reassigned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reassign booking with uid

**Slug:** `CAL_REASSIGN_BOOKING_WITH_UID`

Reassigns the specified booking to a new team member, who is determined by the system rather than being specified in the request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bookingUid` | string | Yes | Unique identifier (UID) of the booking to be reassigned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refresh oauth token for client id

**Slug:** `CAL_REFRESH_OAUTH_TOKEN_FOR_CLIENT_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clientId` | string | Yes | The unique identifier of the OAuth client application whose token is being refreshed. |
| `refreshToken` | string | Yes | The refresh token for the managed user, used to obtain a new access token; must be valid and previously issued. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Request email verification code

**Slug:** `CAL_REQUEST_EMAIL_VERIFICATION_CODE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to verify. A verification code will be sent to this email address. |
| `teamId` | integer | Yes | The unique identifier of the team for which to request email verification. This must be a valid team ID that you have access to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reschedule booking by uid

**Slug:** `CAL_RESCHEDULE_BOOKING_BY_UID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `start` | string | Yes | The new start time for the booking in ISO 8601 format with timezone (e.g., '2024-08-13T10:00:00Z'). |
| `bookingUid` | string | Yes | The unique identifier (UID) of the booking that needs to be rescheduled. |
| `rescheduledBy` | string | No | Email of the person who is rescheduling the booking. If event type owner email is provided, rescheduled booking will be automatically confirmed. |
| `reschedulingReason` | string | No | The reason for rescheduling the booking. |
| `emailVerificationCode` | string | No | Required when event type has email verification enabled. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reserve slot for event

**Slug:** `CAL_RESERVE_SLOT_FOR_EVENT`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bookingUid` | string | No | Optional unique identifier, typically used for events with seats to associate the reservation with a specific booking or seat. This can be used to retrieve details of a seated event booking. |
| `eventTypeId` | integer | Yes | The unique identifier for the event type for which the time slot is being reserved. |
| `slotUtcEndDate` | string | Yes | The end date and time of the slot to be reserved, in UTC (ISO 8601 format). |
| `slotUtcStartDate` | string | Yes | The start date and time of the slot to be reserved, in UTC (ISO 8601 format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve attribute options for org

**Slug:** `CAL_RETRIEVE_ATTRIBUTE_OPTIONS_FOR_ORG`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numerical identifier of the organization. You can obtain this from the 'get_organization_id' action or from organization-related responses. |
| `attributeId` | string | Yes | The unique UUID identifier of the attribute whose options you want to retrieve. Only SINGLE_SELECT and MULTI_SELECT type attributes have options. Obtain this from the 'retrieve_organization_attributes' action. Attributes of type TEXT or NUMBER do not have options and will return an empty list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve booking details by uid

**Slug:** `CAL_RETRIEVE_BOOKING_DETAILS_BY_UID`

Fetches comprehensive details for an existing booking, identified by its `bookingUid`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bookingUid` | string | Yes | Unique identifier (UID) of the booking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve calendar busy times

**Slug:** `CAL_RETRIEVE_CALENDAR_BUSY_TIMES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dateTo` | string | No | The end date and time for querying busy times in ISO 8601 datetime format. If timezone is omitted, `loggedInUsersTz` is assumed. |
| `dateFrom` | string | No | The start date and time for querying busy times, preferably in ISO 8601 format (e.g., 'YYYY-MM-DDTHH:mm:ssZ' or 'YYYY-MM-DD'). If timezone is omitted, `loggedInUsersTz` is assumed. If not provided, the system may use a default start time (e.g., the current time). |
| `externalId` | string | Yes | The external identifier of the specific calendar to query. This should be the actual calendar ID from the provider, not the calendar type. |
| `credentialId` | integer | Yes | The numeric identifier for the credential associated with the calendar account to be queried. |
| `loggedInUsersTz` | string | Yes | The IANA timezone string of the logged-in user (e.g., 'America/New_York', 'Europe/London'). This is used to correctly interpret `dateFrom` and `dateTo` if they don't contain explicit timezone information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve calendar list

**Slug:** `CAL_RETRIEVE_CALENDAR_LIST`

Retrieves a list of all calendar summaries (no event details) associated with the authenticated user's account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve current team for organization

**Slug:** `CAL_RETRIEVE_CURRENT_TEAM_FOR_ORGANIZATION`

Retrieves details of the team(s) for the currently authenticated user within the specified organization `orgId`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of team entries to skip from the beginning of the list. Used for pagination to navigate through results. |
| `take` | integer | No | The maximum number of team entries to return. Used for pagination to limit the size of the response. |
| `orgId` | integer | Yes | The unique identifier of the organization for which the current user's team information is being requested. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve default conferencing settings

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve event type by id

**Slug:** `CAL_RETRIEVE_EVENT_TYPE_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventTypeId` | string | Yes | The unique identifier for the event type. This is typically a numerical value or a UUID string and can be found in the URL when viewing event type settings (e.g., `https://app.cal.com/event-types/<eventTypeId>`) or via other API endpoints that list event types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve membership from organization

**Slug:** `CAL_RETRIEVE_MEMBERSHIP_FROM_ORGANIZATION`

Retrieves detailed information about a specific membership within a particular organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization. Can be obtained from CAL_GET_ORGANIZATION_ID action. |
| `membershipId` | integer | Yes | The unique identifier of the membership within the organization. Can be obtained from CAL_LIST_ORGANIZATION_MEMBERSHIPS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve my information

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve OAuth client user by ID

**Slug:** `CAL_RETRIEVE_OAUTH_CLIENT_USER_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | integer | Yes | The unique numerical identifier of the managed user to retrieve. This ID is returned when creating a managed user via the create managed user endpoint. |
| `clientId` | string | Yes | The unique identifier of the OAuth client. This is obtained from the Cal.com Platform dashboard when registering an OAuth client application. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key for Platform API authentication. This is required for all OAuth client managed user endpoints. Obtain this from the Cal.com Platform dashboard at https://app.cal.com/settings/platform/oauth-clients when creating an OAuth client. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve oauth client webhook by id

**Slug:** `CAL_RETRIEVE_OAUTH_CLIENT_WEBHOOK_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clientId` | string | Yes | The unique identifier of the Platform OAuth client that owns the webhook. This ID is obtained when you create an OAuth client via Cal.com Platform settings (https://app.cal.com/settings/platform/oauth-clients) or the POST /v2/oauth-clients API endpoint. Example format: 'clxj8s9j3000108l37twm86xy' |
| `webhookId` | string | Yes | The unique identifier of the webhook to retrieve. Webhook IDs are returned when creating a webhook via POST /v2/oauth-clients/{clientId}/webhooks or can be obtained by listing all webhooks via GET /v2/oauth-clients/{clientId}/webhooks. |
| `x_cal_secret_key` | string | Yes | The Platform OAuth client secret key, REQUIRED for authenticating requests to this endpoint. This secret is provided when you create an OAuth client at https://app.cal.com/settings/platform/oauth-clients or via the POST /v2/oauth-clients endpoint. Store this securely as it acts as a password for your OAuth client. Include this as the 'x-cal-secret-key' header in your request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization attributes

**Slug:** `CAL_RETRIEVE_ORGANIZATION_ATTRIBUTES`

Retrieves detailed attributes (e.g., configurations, settings, metadata) for an organization, identified by its `orgId`, which must correspond to an existing organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of attributes to skip before starting to return items. Used for pagination. |
| `take` | integer | No | The maximum number of attributes to return. Used for pagination. |
| `orgId` | integer | Yes | The unique identifier of the organization for which attributes are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization attributes options

**Slug:** `CAL_RETRIEVE_ORGANIZATION_ATTRIBUTES_OPTIONS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization. You can get this from CAL_GET_ORGANIZATION_ID or CAL_RETRIEVE_USERS_IN_ORGANIZATION actions. |
| `userId` | integer | Yes | The unique identifier of the user within the organization. You can get valid user IDs from CAL_RETRIEVE_USERS_IN_ORGANIZATION action using the orgId. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization webhook by id

**Slug:** `CAL_RETRIEVE_ORGANIZATION_WEBHOOK_BY_ID`

Retrieves detailed information, including configuration and status, for a specific webhook by its ID (`webhookId`) within a given organization (`orgId`).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique numeric identifier of the organization to which the webhook belongs. |
| `webhookId` | string | Yes | The unique identifier (UUID) of the webhook to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization webhooks by org ID

**Slug:** `CAL_RETRIEVE_ORGANIZATION_WEBHOOKS_BY_ORG_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of webhooks to skip (for pagination). If omitted, 0 items are skipped (results start from the beginning). |
| `take` | integer | No | Maximum number of webhooks to return (for pagination). If omitted, a default number of items is returned. |
| `orgId` | integer | Yes | The unique identifier of the organization for which to retrieve webhooks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve provider details

**Slug:** `CAL_RETRIEVE_PROVIDER_DETAILS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clientId` | string | Yes | Unique identifier of the OAuth client (provider) to verify. This is the OAuth client ID obtained when creating an OAuth client at https://app.cal.com/settings/platform/oauth-clients. |
| `x_cal_secret_key` | string | Yes | The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com at https://app.cal.com/settings/platform/oauth-clients. Must be stored securely as an environment variable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve schedules list

**Slug:** `CAL_RETRIEVE_SCHEDULES_LIST`

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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team details in organization

**Slug:** `CAL_RETRIEVE_TEAM_DETAILS_IN_ORGANIZATION`

Retrieves a paginated list of teams and their details for a specific organization ID; individual team member details or schedules are not included.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of teams to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified. |
| `take` | integer | No | Maximum number of teams to return per page. Valid range: 1-250. Defaults to 250 if not specified. |
| `orgId` | integer | Yes | The unique numeric identifier of the organization whose teams you want to retrieve. You must have access to this organization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team event types

**Slug:** `CAL_RETRIEVE_TEAM_EVENT_TYPES`

Retrieves event types for a team within the Cal scheduling system; this action does not provide details on scheduled instances or member availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique numerical identifier of the team for which event types are to be retrieved. This ID can be obtained from the teams list endpoint. |
| `eventSlug` | string | No | The URL-friendly slug of a specific team event type. If provided, only the event type matching this slug will be returned. If omitted, all event types for the team are returned. |
| `hostsLimit` | integer | No | Maximum number of hosts to include in the response. Helps optimize performance for event types with many hosts. If not provided, all hosts will be fetched. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team membership by id

**Slug:** `CAL_RETRIEVE_TEAM_MEMBERSHIP_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization that contains the team. Must be an organization the authenticated user has access to. |
| `teamId` | integer | Yes | The unique identifier of the team within the organization. The team must exist within the specified organization. |
| `membershipId` | integer | Yes | The unique identifier of the membership record to retrieve. This ID is assigned when a user is added to a team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team membership details

**Slug:** `CAL_RETRIEVE_TEAM_MEMBERSHIP_DETAILS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | integer | Yes | The unique identifier of the team. Obtain this from the 'get_teams_list' action or from team creation responses. |
| `membershipId` | integer | Yes | The unique identifier of the membership record to retrieve. Obtain this from 'retrieve_team_memberships' or team membership creation responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team memberships

**Slug:** `CAL_RETRIEVE_TEAM_MEMBERSHIPS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of membership records to skip before returning results. Used with 'take' for pagination. |
| `take` | integer | No | Maximum number of membership records to return. Used for pagination. If not provided, returns all memberships. |
| `teamId` | integer | Yes | The unique identifier of the team whose memberships are to be retrieved. Obtain this from 'get_teams_list' action or from team creation responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve team memberships for organization

**Slug:** `CAL_RETRIEVE_TEAM_MEMBERSHIPS_FOR_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of team memberships to skip for pagination offset (e.g., 0 for first page, 50 for second page with take=50) |
| `take` | integer | No | Maximum number of team memberships to return per page for pagination (e.g., 10, 50, 100) |
| `orgId` | integer | Yes | The unique numeric identifier of the organization containing the team |
| `teamId` | integer | Yes | The unique numeric identifier of the team whose memberships to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve users in organization

**Slug:** `CAL_RETRIEVE_USERS_IN_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of user records to skip for pagination. |
| `take` | integer | No | Maximum number of user records to return for pagination. |
| `orgId` | integer | Yes | The unique identifier of the organization for which to retrieve users. |
| `emails` | array | No | Optional list of email addresses to filter users by; only users with matching emails are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve v2 conferencing info

**Slug:** `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; provider availability may vary by subscription or settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhook details for OAuth client

**Slug:** `CAL_RETRIEVE_WEBHOOK_DETAILS_FOR_OAUTH_CLIENT`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | The number of webhook details to skip. Used for pagination. |
| `take` | integer | No | The maximum number of webhook details to return. Used for pagination. |
| `clientId` | string | Yes | The unique identifier of the OAuth client for which to retrieve webhook details. |
| `x_cal_secret_key` | string | No | The OAuth client secret key for authentication. Required for Platform OAuth client endpoints. Obtained when creating an OAuth client at https://app.cal.com/settings/platform/oauth-clients. Should be stored securely as an environment variable in production. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhooks for event type

**Slug:** `CAL_RETRIEVE_WEBHOOKS_FOR_EVENT_TYPE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of webhook records to skip (for pagination). |
| `take` | integer | No | Maximum number of webhook records to return (for pagination). |
| `eventTypeId` | integer | Yes | The unique identifier of the event type for which webhooks are to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhooks list

**Slug:** `CAL_RETRIEVE_WEBHOOKS_LIST`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of webhook records to skip before collecting results, used with 'take' for pagination to retrieve subsequent data sets. |
| `take` | integer | No | Maximum number of webhook records to return (page size for pagination). If unspecified, a system-default limit may apply. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save calendar entry

**Slug:** `CAL_SAVE_CALENDAR_ENTRY`

Saves or updates a calendar's settings using a GET request, typically for data already on the server or simple updates via query parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | Authorization code or token required to validate and permit the save operation. |
| `state` | string | Yes | Client-provided opaque string to maintain state, e.g., for CSRF protection or relaying application-specific information. |
| `calendar` | string | Yes | The calendar type to save or update. Must be one of the supported calendar providers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save calendar ics feeds

**Slug:** `CAL_SAVE_CALENDAR_ICS_FEEDS`

Imports and saves one or more publicly accessible external iCalendar (ICS) feed URLs into the Cal.com calendar system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | Yes | A list of iCalendar (ICS) feed URLs to be imported and saved. |
| `readOnly` | boolean | No | Specifies if the imported calendar events are read-only (`True`) or writable (`False`) via the Cal API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save OAuth credentials via GCal API

**Slug:** `CAL_SAVE_OAUTH_CREDENTIALS_VIA_GCAL_API`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The authorization code received from the Google authorization server after the user has successfully authenticated and granted permissions. This code is exchanged for an access token and a refresh token. |
| `state` | string | Yes | An opaque value used by the client to maintain state between the request and callback. It's also used to prevent cross-site request forgery attacks. This value is typically generated by the application initiating the OAuth flow and is returned by the Google authorization server. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save stripe details

**Slug:** `CAL_SAVE_STRIPE_DETAILS`

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`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The authorization code returned by Stripe after the user successfully authorizes the Cal.com application. This code is exchanged for an access token to link the Stripe account. Obtain this value from the 'code' query parameter when Stripe redirects back to Cal.com after user authorization. |
| `state` | string | Yes | An opaque value used to maintain state between the initial authorization request to Stripe and the callback. It's crucial for preventing cross-site request forgery (CSRF) attacks. This value should match the one sent to Stripe during the authorization redirect. Obtain this value from the 'state' query parameter when Stripe redirects back to Cal.com after user authorization. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set default conferencing app

**Slug:** `CAL_SET_DEFAULT_CONFERENCING_APP`

Sets the specified, valid, and configured conferencing application as the default for new meetings for the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app` | string | Yes | Identifier of a valid and configured conferencing application (e.g., 'zoom', 'google-meet') to set as the default for new meetings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update destination calendar integration

**Slug:** `CAL_UPDATE_DESTINATION_CALENDAR_INTEGRATION`

Updates the destination calendar for syncing events, using `integration` and `externalId` (typically from `/calendars` endpoint).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `externalId` | string | Yes | The unique identifier for the calendar within the chosen service, typically obtained from the `/calendars` endpoint. |
| `integration` | string ("apple_calendar" | "google_calendar" | "office365_calendar") | Yes | The calendar service to integrate with, typically obtained from the `/calendars` endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update OAuth client user settings

**Slug:** `CAL_UPDATE_OAUTH_CLIENT_USER_SETTINGS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | User's biography or description text for their profile. |
| `name` | string | No | New full name for the user; if provided, updates the current one. |
| `email` | string | No | New email address for the user; if provided, updates the current one. |
| `locale` | string ("ar" | "ca" | "de" | "es" | "eu" | "he" | "id" | "ja" | "lv" | "pl" | "ro" | "sr" | "th" | "vi" | "az" | "cs" | "el" | "es-419" | "fi" | "hr" | "it" | "km" | "nl" | "pt" | "ru" | "sv" | "tr" | "zh-CN" | "bg" | "da" | "en" | "et" | "fr" | "hu" | "iw" | "ko" | "no" | "pt-BR" | "sk" | "ta" | "uk" | "zh-TW") | No | Preferred language and regional setting (e.g., 'en', 'es-419'). |
| `userId` | integer | Yes | Identifier for the user. |
| `clientId` | string | Yes | Identifier for the OAuth client. |
| `metadata` | object | No | Key-value metadata for storing custom user data. |
| `timeZone` | string | No | Preferred IANA Time Zone Database name (e.g., 'America/New_York'). |
| `avatarUrl` | string | No | URL of the user's new avatar; if provided, updates the current one. |
| `weekStart` | string ("Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday") | No | First day of the user's week. |
| `timeFormat` | integer | No | Preferred time format: 12 (for 12-hour clock) or 24 (for 24-hour clock). |
| `x_cal_secret_key` | string | No | The OAuth client secret key for authentication. Required for Platform API to manage users. Obtained from Cal.com platform dashboard when registering an OAuth client. |
| `defaultScheduleId` | integer | No | ID of the user's default schedule, applied when no event-specific schedule is chosen. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update oauth client webhook

**Slug:** `CAL_UPDATE_OAUTH_CLIENT_WEBHOOK`

Updates specified properties of an existing webhook for an OAuth client; omitted fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Specifies whether the webhook is active. Set to `true` to enable notifications, or `false` to disable them. If omitted, the current active status is unchanged. |
| `secret` | string | No | A secret key for verifying webhook payload authenticity. Cal.com will use this to sign payloads, and the signature will be included in the `X-Cal-Signature-256` HTTP header. Provide an empty string to remove an existing secret. If omitted, the existing secret is unchanged. |
| `clientId` | string | Yes | The unique identifier of the OAuth client to which the webhook belongs. |
| `triggers` | array | No | The list of event types that will trigger this webhook. Replaces the existing triggers if provided. If omitted, the current trigger events are unchanged. You can subscribe to multiple event triggers. |
| `webhookId` | string | Yes | The unique identifier of the webhook configuration to be updated. |
| `subscriberUrl` | string | No | The URL where the webhook payload will be sent. Must be a valid HTTPS URL. If omitted, the existing subscriber URL is unchanged. |
| `payloadTemplate` | string | No | The template for the webhook payload, defining the structure and content sent to the `subscriberUrl`. Utilizes a templating language; see Cal.com documentation (cal.com/docs/core-features/webhooks) for syntax and available variables. If omitted, the existing template is unchanged. |
| `x_cal_secret_key` | string | No | The OAuth client secret key required for Platform authentication. This key is obtained when registering an OAuth client application with Cal.com. It is used to sign and verify requests to OAuth client webhook endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update private link

**Slug:** `CAL_UPDATE_PRIVATE_LINK`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | The unique identifier of the organization. |
| `linkId` | string | Yes | The unique identifier of the private link to update. |
| `teamId` | integer | Yes | The unique identifier of the team within the organization. |
| `expiresAt` | string | No | Expiration date/time in ISO 8601 format (for time-based links). |
| `eventTypeId` | integer | Yes | The unique identifier of the event type. |
| `maxUsageCount` | integer | No | Maximum number of times the private link can be used (for usage-based links). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update schedule by ID

**Slug:** `CAL_UPDATE_SCHEDULE_BY_ID`

Updates an existing schedule by its ID, allowing partial modification of properties; providing `availability` or `overrides` replaces them entirely.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Descriptive name for the schedule. |
| `timeZone` | string | No | IANA timezone string for the schedule (e.g., 'America/New_York'). |
| `isDefault` | boolean | No | Set as the default schedule. |
| `overrides` | array | No | List of override objects for specific date/time adjustments. If provided, *replaces* existing overrides. |
| `scheduleId` | string | Yes | The unique identifier of the schedule to be updated. |
| `availability` | array | No | List of availability objects for regular weekly recurring availability. If provided, *replaces* existing availability. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update team event type

**Slug:** `CAL_UPDATE_TEAM_EVENT_TYPE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | No | URL-friendly identifier |
| `color` | object | No | Theme color configuration. |
| `hosts` | array | No | Specific team members to assign. Do not use with assignAllTeamMembers |
| `price` | integer | No | Event price |
| `seats` | object | No | Multi-seat event configuration. |
| `title` | string | No | Event type title |
| `hidden` | boolean | No | Hide event type from public listing |
| `teamId` | integer | Yes | ID of the team |
| `currency` | string | No | Currency code |
| `metadata` | object | No | Custom metadata |
| `locations` | array | No | Meeting locations (video, phone, physical address, etc.) |
| `customName` | string | No | Customizable event name with variables like {Event type title}, {Organiser}, {Scheduler} |
| `recurrence` | object | No | Recurring event configuration. |
| `scheduleId` | integer | No | Custom schedule ID to use |
| `description` | string | No | Event type description |
| `eventTypeId` | integer | Yes | ID of the event type to update |
| `offsetStart` | integer | No | Offset timeslots by specified number of minutes |
| `slotInterval` | integer | No | Interval between available time slots in minutes |
| `bookerLayouts` | object | No | Calendar layout preferences for booker. |
| `bookingFields` | array | No | Complete set of booking form fields. Replaces all existing fields. |
| `bookingWindow` | string | No | Limit how far in future bookings can be made |
| `disableGuests` | boolean | No | Prevent attendees from adding guests |
| `emailSettings` | object | No | Email notification settings. |
| `schedulingType` | string ("collective" | "roundRobin") | No | Team event scheduling types. |
| `lengthInMinutes` | integer | No | Duration of the event in minutes |
| `afterEventBuffer` | integer | No | Buffer time after event ends in minutes |
| `calVideoSettings` | object | No | Settings for Cal Video recordings and transcriptions. |
| `beforeEventBuffer` | integer | No | Buffer time before event starts in minutes |
| `disableCancelling` | object | No | Settings for disabling cancelling. |
| `hideCalendarNotes` | boolean | No | Hide notes from calendar events |
| `interfaceLanguage` | string ("" | "en" | "ar" | "az" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "es" | "es-419" | "eu" | "et" | "fi" | "fr" | "he" | "hu" | "it" | "ja" | "km" | "ko" | "nl" | "no" | "pl" | "pt-BR" | "pt" | "ro" | "ru" | "sk-SK" | "sr" | "sv" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW") | No | Supported interface languages for booking page. |
| `bookingLimitsCount` | object | No | Count-based booking limits. |
| `confirmationPolicy` | object | No | Manual confirmation policy configuration. |
| `hideOrganizerEmail` | boolean | No | Hide organizer email from booking screen and notifications |
| `showOptimizedSlots` | boolean | No | Optimize time slot arrangement for availability |
| `successRedirectUrl` | string | No | URL to redirect after successful booking |
| `destinationCalendar` | object | No | Destination calendar for bookings. |
| `disableRescheduling` | object | No | Settings for disabling rescheduling. |
| `assignAllTeamMembers` | boolean | No | Assign all current and future team members. Do not use with hosts |
| `minimumBookingNotice` | integer | No | Minimum minutes before event for booking |
| `bookingLimitsDuration` | object | No | Duration-based booking limits. |
| `lengthInMinutesOptions` | array | No | Multiple duration options, must include lengthInMinutes |
| `hideCalendarEventDetails` | boolean | No | Hide event details from calendar |
| `bookerActiveBookingsLimit` | string | No | Limit concurrent active bookings per booker |
| `onlyShowFirstAvailableSlot` | boolean | No | Show only earliest available slot per day |
| `useDestinationCalendarEmail` | boolean | No | Use destination calendar email |
| `allowReschedulingPastBookings` | boolean | No | Allow rescheduling of past events |
| `bookingRequiresAuthentication` | boolean | No | Require authentication for booking, only owner/org admin can book |
| `lockTimeZoneToggleOnBookingPage` | boolean | No | Prevent timezone changes on booking page |
| `requiresBookerEmailVerification` | boolean | No | Require email verification before booking |
| `rescheduleWithSameRoundRobinHost` | boolean | No | Keep same host when rescheduling round robin |
| `allowReschedulingCancelledBookings` | boolean | No | Allow rebooking cancelled events |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update team event type webhook

**Slug:** `CAL_UPDATE_TEAM_EVENT_TYPE_WEBHOOK`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Set to true to activate the webhook or false to deactivate it. |
| `secret` | string | No | Secret key used to sign the webhook payload for verification. Enables HMAC-SHA256 signature validation. |
| `teamId` | integer | Yes | The unique identifier of the team. |
| `version` | string ("2021-10-20") | No | Webhook version. |
| `triggers` | array | No | List of event types that will trigger this webhook. |
| `webhookId` | string | Yes | The unique identifier of the webhook to update. |
| `eventTypeId` | integer | Yes | The unique identifier of the event type within the team. |
| `subscriberUrl` | string | No | The URL endpoint where webhook events will be sent via POST requests. |
| `payloadTemplate` | string | No | Custom template for the webhook payload. Supports variable interpolation using {{variableName}} syntax. See cal.com/docs/core-features/webhooks for details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update team information by id

**Slug:** `CAL_UPDATE_TEAM_INFORMATION_BY_ID`

Updates an existing team's information by its ID within a specified organization; the `slug`, if provided, must be unique within the organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bio` | string | No | New short description or biography for the team. |
| `name` | string | No | New name for the team. |
| `slug` | string | No | New URL-friendly identifier for the team; must be unique within the organization. |
| `orgId` | integer | Yes | ID of the organization to which the team belongs. |
| `theme` | string | No | Visual theme for the team's booking pages (e.g., 'light', 'dark', or custom). |
| `teamId` | integer | Yes | ID of the team to update. |
| `appLogo` | string | No | URL for the new logo to be displayed within the Cal.com application. |
| `logoUrl` | string | No | URL for the team's new logo image. |
| `metadata` | object | No | Custom key-value metadata for the team (max 50 keys, 40 chars per key). |
| `timeZone` | string | No | Default IANA timezone identifier for the team (e.g., 'America/New_York'). If unspecified, the API defaults to 'Europe/London'. |
| `bannerUrl` | string | No | URL for the team's new banner image, displayed on their booking page. |
| `isPrivate` | boolean | No | Set to true to make the team private, so it won't be discoverable by non-members. |
| `weekStart` | string | No | Designated start day of the week for the team's calendar views. |
| `brandColor` | string | No | New primary brand color for the team, in hexadecimal format. |
| `timeFormat` | integer | No | Preferred time format (e.g., 12 or 24 for 12/24-hour format). |
| `appIconLogo` | string | No | URL for the new icon logo to be displayed within the Cal.com application. |
| `calVideoLogo` | string | No | URL for the new logo to be displayed in Cal Video calls. |
| `hideBranding` | boolean | No | Set to true to hide Cal.com branding from the team's booking pages. |
| `bookingLimits` | object | No | Booking limits (e.g., max per day/week), conforming to Cal.com's schema. |
| `darkBrandColor` | string | No | New brand color for dark mode, in hexadecimal format. |
| `hideBookATeamMember` | boolean | No | Set to true to hide the 'Book a Team Member' option on the team's booking page. |
| `includeManagedEventsInLimits` | boolean | No | Set to true to include team-managed events when calculating booking limits. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update team membership by id

**Slug:** `CAL_UPDATE_TEAM_MEMBERSHIP_BY_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | The role to assign to the team member. MEMBER has standard access, ADMIN has administrative privileges, OWNER has full control including team management. If not provided, the current role remains unchanged. |
| `teamId` | integer | Yes | The unique identifier of the team. Obtain this from the 'Get teams list' endpoint or team creation response. |
| `accepted` | boolean | No | Set to true to mark the membership invitation as accepted, or false to mark it as pending. If not provided, the current value remains unchanged. |
| `membershipId` | integer | Yes | The unique identifier of the membership to update. Obtain this from the 'Retrieve team memberships' endpoint. |
| `disableImpersonation` | boolean | No | Set to true to prevent team administrators from impersonating this member, or false to allow impersonation. If not provided, the current value remains unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update team membership properties

**Slug:** `CAL_UPDATE_TEAM_MEMBERSHIP_PROPERTIES`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "OWNER" | "ADMIN") | No | The role to assign to the team member. MEMBER has standard access, ADMIN has administrative privileges, and OWNER has full control including team deletion. If not provided, the current role is unchanged. |
| `orgId` | integer | Yes | The unique identifier of the organization to which the team belongs. Must be an organization the authenticated user has access to. |
| `teamId` | integer | Yes | The unique identifier of the team within the organization. The team must exist within the specified organization. |
| `accepted` | boolean | No | Set to true to mark the membership invitation as accepted, or false to mark it as pending. If not provided, the current value is unchanged. |
| `membershipId` | integer | Yes | The unique identifier of the team membership to be updated. This ID can be obtained from the list memberships endpoint. |
| `disableImpersonation` | boolean | No | Set to true to prevent administrators from impersonating this team member, or false to allow impersonation. If not provided, the current value is unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update user profile details

**Slug:** `CAL_UPDATE_USER_PROFILE_DETAILS`

Updates the profile information and preferences for the authenticated user, affecting only the fields provided in the request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The user's new full name. |
| `email` | string | No | The user's new email address. |
| `locale` | string ("ar" | "ca" | "de" | "es" | "eu" | "he" | "id" | "ja" | "lv" | "pl" | "ro" | "sr" | "th" | "vi" | "az" | "cs" | "el" | "es-419" | "fi" | "hr" | "it" | "km" | "nl" | "pt" | "ru" | "sv" | "tr" | "zh-CN" | "bg" | "da" | "en" | "et" | "fr" | "hu" | "iw" | "ko" | "no" | "pt-BR" | "sk" | "ta" | "uk" | "zh-TW") | No | The user's preferred language and regional settings. |
| `timeZone` | string | No | The user's preferred time zone, specified in IANA Time Zone Database format. |
| `avatarUrl` | string | No | The URL of the user's new avatar image. Must be a valid URL. |
| `weekStart` | string ("Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday") | No | The preferred start day of the week for the user. |
| `timeFormat` | integer | No | The preferred time format for the user. Must be 12 (for 12-hour format) or 24 (for 24-hour format). |
| `defaultScheduleId` | integer | No | The ID of the user's default schedule. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update user schedule in organization

**Slug:** `CAL_UPDATE_USER_SCHEDULE_IN_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the schedule. |
| `orgId` | integer | Yes | Unique identifier for the organization. |
| `userId` | integer | Yes | Unique identifier for the user. |
| `timeZone` | string | No | New IANA time zone identifier for the schedule (e.g., 'America/New_York'). |
| `isDefault` | boolean | No | If true, sets this schedule as the user's default. Only one schedule can be default. |
| `overrides` | array | No | Date-specific overrides to regular availability. Replaces existing overrides if provided. |
| `scheduleId` | integer | Yes | Unique identifier for the schedule. |
| `availability` | array | No | Regular availability rules defining the recurring weekly schedule. Replaces existing availability if provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update webhook by id

**Slug:** `CAL_UPDATE_WEBHOOK_BY_ID`

Updates an existing Cal.com webhook by its `webhookId`, allowing partial modification of its attributes; only explicitly provided fields will be changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Specifies if the webhook is active (`true`) or inactive (`false`). |
| `secret` | string | No | Secret key to sign the webhook payload for authenticity verification. An empty string removes an existing secret. |
| `triggers` | array | No | List of event types that trigger the webhook. |
| `webhookId` | string | Yes | The unique identifier of the webhook to be updated. |
| `subscriberUrl` | string | No | URL where the webhook payload will be sent. |
| `payloadTemplate` | string | No | Template for the payload sent to `subscriberUrl`. See Cal.com webhook documentation (cal.com/docs/core-features/webhooks) for templating details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update webhook for organization

**Slug:** `CAL_UPDATE_WEBHOOK_FOR_ORGANIZATION`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | integer | Yes | Unique identifier of the organization the webhook belongs to. Must be an organization the authenticated user has admin access to. |
| `active` | boolean | No | Whether the webhook is active. Set `false` to disable. |
| `secret` | string | No | Secret key to sign the payload for verification using HMAC SHA256. The signature is sent in the 'X-Cal-Signature-256' header. If omitted, Cal.com will not sign the payload. |
| `triggers` | array | No | List of event types that trigger the webhook. |
| `webhookId` | string | Yes | Unique identifier of the webhook to update. |
| `subscriberUrl` | string | No | URL where webhook notifications are sent. |
| `payloadTemplate` | string | No | Custom template for the webhook payload; see cal.com/docs/core-features/webhooks for details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
