Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process
Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process On Nagent, Cal is exposed as a fully-configurable scheduling & booking integration that any agent can call — 175 actions, and API_KEY, OAUTH2 authentication. No code is required to wire Cal into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Cal to automate the kinds of tasks scheduling & booking teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Cal into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Cal, with input parameters and output schema. Drop these into any step of an agent built in Helix.
CAL_ADD_ATTENDEETool 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
Full name of the attendee.
Email address of the attendee. Must be a valid email format.
IANA timezone for the attendee (e.g., 'America/New_York', 'Europe/London').
The unique identifier of the booking to add the attendee to.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_ADD_MEMBER_TO_TEAM_USING_ORG_AND_TEAM_IDAdds a new member to a specified team within an organization by creating a team membership.
Input parameters
Specifies the user's role within the team (e.g., 'MEMBER', 'OWNER', 'ADMIN').
The unique identifier of the organization to which the team belongs.
The unique identifier of the team to which the member will be added.
The unique identifier of the user to be added to the team.
Indicates whether the membership invitation is accepted; `True` for active member, `False` for pending status.
If `True`, this user cannot be impersonated by administrators or those with impersonation privileges.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_ADD_ORGANIZATION_ATTRIBUTE_OPTIONAdds 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
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.
The unique numeric identifier of the organization. Obtain this from the user's profile (organizationId field) or from organization membership data.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CANCEL_BOOKING_VIA_UIDCancels an existing and active Cal.com booking using its unique identifier (UID).
Input parameters
For seated bookings only: the UID of the specific seat to cancel when cancelling as an attendee.
The unique identifier (UID) of the booking to be cancelled. This UID is generated by Cal.com when a booking is created.
Optional reason for cancelling the booking. Recommended for clear communication with the attendee.
For recurring bookings only: if true, cancels the booking with the given bookingUid and all subsequent recurrences.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CHECK_CALENDAR_VERSION2Retrieves 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
The calendar type to check availability for. Must be one of the supported calendar providers.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CHECK_GCAL_SYNCHRONIZATION_STATUSCall this read-only action to verify the connection and synchronization status of a user's Google Calendar integration with Cal.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CHECK_ICS_FEED_CALENDAR_ENDPOINTChecks an ICS feed URL (expected as a query parameter) to verify its validity, accessibility, and iCalendar data integrity.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CHECK_STRIPE_STATUSVerifies if Stripe is correctly connected to the Cal scheduling system and functional for processing payments, reporting only on the integration's status.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CHECK_TEAM_STRIPE_INTEGRATION_STATUSRetrieves 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
The unique identifier of the team whose Stripe integration status needs to be checked.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CONFIRM_BOOKING_BY_UIDConfirms 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
The unique identifier (UID) of the booking that needs to be confirmed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CONNECT_TO_CALENDARInitiates 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
The calendar type to connect to. Valid values: apple, google, office365
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_MEMBERSHIP_FOR_ORGANIZATIONCreates 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
The role to assign to the user within the organization. MEMBER has basic access, ADMIN can manage members and settings, OWNER has full control.
The unique identifier of the organization to add the membership to. The caller must have admin or owner permissions in this organization.
The unique identifier of the user to add to the organization. The user must already exist in the Cal.com system.
Whether the membership should be automatically accepted. If False, the user will receive an invitation to join. If True, they are added directly.
If True, prevents organization admins and owners from impersonating this user. Useful for security-sensitive accounts.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_OAUTH_CLIENT_USERCreates 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
Full name of the new managed user, used in communications and the Cal.com interface.
Email address for the new managed user.
User's preferred language and regional settings as a locale code (e.g., 'en', 'es').
Unique identifier of the OAuth client. This often needs to match the `clientId` in the API path.
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.
Publicly accessible URL for the user's avatar image to be used as their profile picture.
Day on which the user's week starts (e.g., 'Monday', 'Sunday').
User's preferred time display format: 12 for 12-hour, 24 for 24-hour.
The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_OAUTH_CLIENT_WEBHOOK_CONFIGURATIONCreates 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
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.
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.
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.
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.
The HTTPS URL to which webhook notifications will be POSTed. This endpoint must be capable of receiving and processing these notifications.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_ORGANIZATION_ATTRIBUTESCreates a new custom attribute for an existing organization, used to enhance data collection for event bookings or user profiles.
Input parameters
The human-readable display name for the organization attribute.
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.
The data type of the organization attribute, determining its behavior and storage.
The unique identifier of the organization for which this attribute is being created. This ID is used in the API request path.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_ORGANIZATION_TEAM_FORM_WORKFLOWTool 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
Name of the workflow to identify it in the system.
The unique identifier of the organization. You must have access to this organization.
List of steps to execute as part of the workflow. Allowed actions are: email_attendee, email_address, sms_attendee, sms_number.
The unique identifier of the team within the organization.
Trigger configuration that determines when the workflow executes.
Activation settings that determine which routing forms this workflow applies to.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_ORGANIZATION_WEBHOOK_BY_ORG_IDCreates 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
Unique identifier for the organization to associate with this webhook.
If `true`, webhook is active upon creation and sends notifications; `false` creates it disabled.
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.
List of events that trigger this webhook to send a notification to `subscriberUrl`. At least one trigger must be provided.
Publicly accessible URL to receive HTTP POST requests for triggered events; this endpoint must process the webhook payloads.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_OR_UPDATE_TEAM_PROFILECreates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details.
Input parameters
A short biography or description of the team.
The name of the team.
Unique, URL-friendly identifier for the team. If not provided, may be generated from the name. Used for team page access.
Visual theme for the team's booking page (e.g., 'light', 'dark', 'system').
Logo URL for the team within the Cal.com application interface. Must be a valid URL or omitted; empty strings are not allowed.
URL of the team's primary logo. Must be a valid URL or omitted; empty strings are not allowed.
Custom key-value data associated with the team profile.
Default timezone for the team, used for initial schedule setup (e.g., Mon-Fri, 9AM-5PM).
URL of the team's banner image for their booking page. Must be a valid URL or omitted; empty strings are not allowed.
If true, the team profile is private and not publicly discoverable without permissions.
Day the week starts for calendar displays (e.g., 'Sunday', 'Monday').
Primary brand color for team pages (hex format, e.g., '#FF5733').
Preferred time display format: 12 for 12-hour (e.g., 2:30 PM) or 24 for 24-hour (e.g., 14:30).
Icon version URL of the team's logo (e.g., for favicons). Must be a valid URL or omitted; empty strings are not allowed.
Logo URL for display during the team's Cal.com video calls. Must be a valid URL or omitted; empty strings are not allowed.
If true, Cal.com's own branding is hidden on the team's public pages.
Brand color for dark mode (hex format); complements 'brandColor'.
If true, the team creator is automatically added and accepted as an admin member.
If true, hides the option to book a specific team member, encouraging collective bookings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_PHONE_CALL_EVENTSchedules 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
Unique identifier for an existing organization.
Unique identifier for an existing team.
API key for Cal.com integration.
Name of the guest participating in the call.
Email address of the guest; can be used for notifications or record-keeping.
Unique identifier for an existing event type.
Initial message played or displayed when the call begins; useful for providing context or instructions.
Company affiliation of the guest, if applicable.
Recipient's phone number in E.164 format (e.g., +13105552368), which will be dialed.
Template for the phone call event; determines the initial setup and prompts for the call.
General prompt or script to guide the conversation; can set the agenda or provide talking points.
Name of the person or entity scheduling the call.
Your phone number in E.164 format (e.g., +12125552368), used as the caller ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_PHONE_CALL_FOR_EVENT_TYPEConfigures 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
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.
Whether the phone call configuration is active. Set to true to enable AI calls for this event type.
Cal.com API key for the AI phone call integration. This key authorizes the Cal.ai service to make calls on your behalf.
Name of the person being called. The AI will address them by this name during the conversation.
Email address of the call recipient. Used for sending follow-up notifications or confirmations.
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.
Opening message the AI speaks when the call connects. Use this to set the context and purpose of the call.
Company or organization the guest is affiliated with. Provides context for the AI conversation.
Recipient's phone number in E.164 format. This is the number the AI will dial to initiate the call.
Call template type: CHECK_IN_APPOINTMENT uses a predefined appointment reminder script, CUSTOM_TEMPLATE allows fully customized conversation flow.
Instructions that guide the AI's conversation behavior throughout the call. Define the tone, objectives, and topics to cover.
Name of the person or organization scheduling the call. The AI will use this to introduce itself.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_TEAM_EVENT_TYPECreates 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
A URL-friendly identifier for the event type, typically derived from the title.
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.
Seat-based availability for multiple attendees per slot. Ex: `{'perSlot': 10, 'attendeeNoun': 'participant', 'showAttendees': True}`.
The title of the event type that will be displayed to bookers.
The unique identifier of the team for which this event type is being created.
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'}.
Customizable name for the created calendar event. Supports variables like {Event type title}, {Organiser}, {Scheduler}, etc.
Recurrence rules for the event. Ex: `{'frequency': 'weekly', 'interval': 1, 'count': 10}`.
Overrides team's default schedule with this schedule ID.
Detailed event type description for bookers.
Offsets start times of available slots by specified minutes. E.g., 15 min offset shifts 9:00 AM to 9:15 AM.
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.
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}.
Future booking window. Ex: `{'start': 0, 'end': 30, 'unit': 'days'}`.
If true, booker cannot add additional guests via email.
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.
The default duration of the event in minutes.
Buffer time (minutes) after events (marked unavailable).
Buffer time (minutes) before events (marked unavailable).
If true, hide calendar notes (description, location, etc.) from created event.
Limits on booking frequency. Ex: `{'count': 10, 'period': 'day'}`.
Booking confirmation policy. Ex: `{'type': 'MANUAL', 'message': 'Your booking requires manual approval.'}`.
Redirect URL after successful booking. Defaults to Cal.com page.
Hex color for dark theme display (e.g., '#4A90E2').
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.
Hex color for light theme display (e.g., '#FFD700').
Minimum minutes notice required for booking.
Limits on total booking duration per period. Ex: `{'duration': 120, 'period': 'week'}`.
Optional alternative event durations (in minutes) that bookers can choose from. If provided, must include `lengthInMinutes` value.
If true, hide event details (attendees, description) from non-organizer attendees.
If true, show only the earliest available slot per day.
If true, use destination calendar's email for event invites/updates.
External ID for destination calendar. See `/api/v2/calendars`.
If true, lock timezone toggle on booking page.
If true, bookers must verify email before confirmation.
Integration type for destination calendar (e.g., 'google_calendar'). See `/api/v2/calendars`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_TEAM_EVENT_TYPES_WITH_CUSTOM_OPTIONSCreates 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
A URL-friendly identifier for the event type. Usually a hyphenated version of the title.
List of hosts. Each specifies user ID and optionally mandatory status/priority (for round-robin). At least one host required.
The unique identifier for the organization.
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}\]}`.
The title of the event type.
The unique identifier for the team.
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"}\]`
Customizable name for the calendar event entry. Supports variables like {Event type title}, {Organiser}, etc. Refer to Cal.com documentation for the full list.
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"}`.
The ID of a specific schedule to use for this event type, overriding the team's or user's default schedule.
A detailed description of the event type. Can include HTML for formatting.
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.
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.
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}\]`
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"}`.
If true, the person booking this event cannot add guests via their email addresses.
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.
The default duration of the event in minutes.
Buffer time in minutes to add after each event. This time will be blocked out in the calendar.
Buffer time in minutes to add before each event. This time will be blocked out in the calendar.
If true, any notes added to the calendar event by the organizer will be hidden from the booker.
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).
Specifies the manual confirmation policy for bookings. Example: `{"type": "manual_confirmation", "threshold_period": "24h", "threshold_bookings": 10}` or `{"type": "automatic_confirmation"}`.
A valid URL to which the booker will be redirected after a successful booking.
Hexadecimal color code for the event type when displayed in a dark theme (e.g., '#FF6347' for tomato red).
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.
Hexadecimal color code for the event type when displayed in a light theme (e.g., '#FF0000' for red).
The minimum number of minutes before the event's start time that a booking can be made.
Defines limits on total booked duration (minutes) for this event type per period. Example: `{"period": "week", "duration": 120}` (120 minutes per week).
Alternative event durations (in minutes) that bookers can choose from. The value of `lengthInMinutes` must be included in this list.
If true, sensitive details of the calendar event (like attendee list or full description) might be hidden or summarized for bookers.
If true, only the earliest available slot per day will be displayed to bookers for this event type.
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.
External ID of the specific calendar for new bookings. Obtain from `/api/v2/calendars`.
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.
If true, bookers will be required to verify their email address before the booking is confirmed.
Integration type of the calendar for new bookings (e.g., 'google_calendar'). Obtain from `/api/v2/calendars`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_TEAM_IN_ORGANIZATIONCreates a new team with customizable attributes within an existing and accessible Cal.com organization specified by orgId.
Input parameters
Short description or biography for the team.
Name of the team to be created.
Unique, URL-friendly identifier for the team (e.g., 'marketing-team'). Auto-generated from name if not provided.
ID of the organization where the team will be created.
Visual theme for the team's booking page (e.g., 'light', 'dark', 'system', or custom).
URL for the logo displayed within the Cal.com application interface for this team.
URL of the team's logo image, displayed on its booking page and profile.
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).
IANA time zone identifier (e.g., 'America/New_York') for the team's default schedule. Defaults to 'Europe/London'.
URL of the team's banner image, displayed at the top of its booking page.
If true, the team is private, not publicly discoverable, and access is restricted.
First day of the week for calendar displays (e.g., 'Sunday', 'Monday'). Defaults to 'Sunday'.
Primary brand color for the team (CSS-valid string, e.g., '#FF5733' or 'blue').
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).
URL for a smaller icon version of the team's logo for contexts like list views or notifications.
URL for the team's video logo, displayed during Cal Video sessions.
If true, hides Cal.com's default branding on the team's booking pages for a white-labeled experience.
Brand color for dark theme on the team's booking page (CSS-valid string).
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.
If true, hides the option to book a specific team member from the team's main booking page.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_TEAM_INVITE_LINKCreates 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
Unique identifier of the team to create an invite link for. The authenticated user must have permission to manage this team.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_TEAM_MEMBERSHIP_WITH_ROLEAdds 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
The role to assign to the user within the team.
The unique identifier of the team to which the user will be added.
The unique identifier of the user to be added to the team.
Indicates if the membership invitation is pre-accepted. If `true`, the user is added directly to the team without needing to accept an invitation.
If `true`, prevents administrators from impersonating this user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_USER_AVAILABILITY_SCHEDULECreates 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
Descriptive name for the availability schedule (e.g., 'Working Hours', 'Holiday Schedule').
IANA timezone identifier (e.g., 'America/New_York'). Essential for correct event availability calculation.
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.
List of override objects for specific date exceptions (e.g., holidays). Overrides take precedence over weekly availability.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_USER_SCHEDULE_IN_ORGANIZATIONCreates 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
Descriptive name for the schedule.
Unique identifier of the organization.
Unique identifier of the user for whom the schedule is created.
IANA timezone identifier for the schedule (e.g., 'America/New_York'); used to calculate event times.
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.
List of overrides to change availability for specific dates (e.g., holidays, special events).
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_CREATE_WEBHOOK_FOR_EVENT_TYPECreates a webhook for an existing `eventTypeId` in Cal.com, sending notifications for specified `triggers` to a `subscriberUrl` that handles POST requests.
Input parameters
Indicates if the webhook is active.
Secret key to sign the webhook payload, allowing verification of Cal.com origin.
List of events that trigger the webhook. At least one trigger must be provided.
Unique identifier for the event type.
URL to receive webhook payloads for trigger events; must handle POST requests.
String template for the payload sent to `subscriberUrl`, allowing variables like {{type}}. Refer to cal.com/docs/core-features/webhooks for more details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DECLINE_BOOKING_WITH_REASONDeclines a pending booking using its bookingUid, optionally with a reason; this action is irreversible and applies only to bookings awaiting confirmation.
Input parameters
Reason provided by the host for declining the booking; recommended for clear communication with the attendee.
The unique identifier (UID) of the booking to be declined.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_ALL_TEAM_EVENT_TYPE_WEBHOOKSPermanently 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
The unique numeric identifier of the team that owns the event type.
The unique numeric identifier of the event type whose webhooks should be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_CONFERENCE_APP_CONNECTIONDisconnects 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
Identifier for the conferencing application to be disconnected. This is typically the unique name or slug of the app integration in Cal.com.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_DESTINATION_CALENDAR_BY_IDTool to remove an existing destination calendar by its unique ID. Use when you need to delete a destination calendar configuration.
Input parameters
The unique identifier of the destination calendar to delete.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_EVENT_TYPE_BY_IDPermanently 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
The unique numerical identifier of the event type to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_EVENT_TYPE_IN_TEAMPermanently 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
The unique identifier for the team from which the event type will be deleted.
The unique identifier for the event type that is to be deleted from the specified team.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_MEMBERSHIP_IN_TEAMUse 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
The unique identifier for the organization in which the team resides. Obtain from 'retrieve_team_details_in_organization' or organization-related actions.
The unique identifier for the team from which the membership will be deleted. Obtain from 'retrieve_team_details_in_organization' or team listing actions.
The unique identifier for the membership entry to be deleted. Obtain from 'retrieve_team_memberships_for_organization' or membership creation responses.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_OAUTH_CLIENT_USERPermanently 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
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.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_OAUTH_CLIENT_WEBHOOKPermanently 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
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.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_ORGANIZATION_ATTRIBUTEPermanently 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
The unique numeric identifier of the organization. Must be an organization that the authenticated user has access to.
The unique string identifier (ID) of the attribute to delete. This can be obtained from the 'Get all attributes' or 'Create attribute' endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_ORGANIZATION_ATTRIBUTE_OPTIONPermanently 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
The unique numeric identifier of the organization. Must be an organization the authenticated user has admin access to.
The unique identifier of the option to delete. Can be obtained from the list attribute options endpoint. This action is irreversible.
The unique identifier of the attribute within the organization. Can be obtained from the list/retrieve organization attributes endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_ORGANIZATION_MEMBERSHIPIrreversibly 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
The unique identifier of the organization from which the membership will be removed.
The unique identifier of the membership to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_ORG_WEBHOOKPermanently 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
The unique identifier of the organization that owns the webhook. The authenticated user must have admin or appropriate permissions within this organization.
The unique identifier of the webhook to be deleted. This is a UUID string returned when the webhook was created or listed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_SCHEDULE_BY_IDPermanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule.
Input parameters
The unique identifier of the schedule to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_SELECTED_CALENDARSRemoves a specified, currently selected calendar from the user's active list within the application, without deleting it from the external provider.
Input parameters
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).
Identifier for the calendar integration provider, specifying the type of the external calendar system.
The unique identifier for the set of credentials used to authenticate and access the specified calendar integration for this user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_SELECTED_SLOTDeletes a previously selected time slot from the Cal schedule using its `uid`; the slot must exist and this action is irreversible.
Input parameters
The unique identifier (UID) of the time slot to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_TEAM_BY_IDPermanently and irreversibly deletes an existing team and all its associated data from the Cal system, using the team's unique `teamId`.
Input parameters
The unique identifier of the team to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_TEAM_EVENT_TYPE_IN_ORGANIZATIONPermanently 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
The unique identifier of the organization containing the team whose event type will be deleted.
The unique identifier of the team from which the event type will be deleted.
The unique identifier of the event type to be deleted from the specified team.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_TEAM_FROM_ORGANIZATIONPermanently 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
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_TEAM_MEMBERSHIPS_BY_IDIrreversibly 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
The unique identifier of the team from which the membership will be removed.
The unique identifier of the specific team membership record to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_USER_ATTRIBUTE_OPTIONUnassigns 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
The unique numeric identifier of the organization. Must be an organization the authenticated user has admin access to.
The unique numeric identifier of the user from whom the attribute option will be unassigned. Must be a member of the specified organization.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_USER_FROM_ORGANIZATIONPermanently 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
The unique identifier of the organization from which the user will be removed.
The unique identifier of the user to be removed from the organization.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_USER_SCHEDULEPermanently deletes a specific user's schedule, provided the organization, user, and schedule (identified by `orgId`, `userId`, and `scheduleId`) exist.
Input parameters
Specifies the organization to which the user and schedule belong.
Specifies the user whose schedule is to be deleted.
Specifies the schedule to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_WEBHOOK_BY_IDPermanently deletes an existing webhook by its `webhookId`, stopping future notifications; this action is irreversible.
Input parameters
The unique identifier of the webhook to be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_WEBHOOK_FOR_EVENT_TYPEPermanently 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
The unique identifier of the webhook configuration to be deleted.
The unique identifier of the event type from which the webhook will be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DELETE_WEBHOOKS_FOR_EVENT_TYPECall this to irreversibly delete all webhooks for a specific `eventTypeId` if the event type exists; details of deleted webhooks are not returned.
Input parameters
The unique identifier of the event type for which all associated webhooks will be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_DISCONNECT_CALENDAR_USING_CREDENTIAL_IDDisconnects a calendar integration by its provider name and credential ID, irreversibly revoking Cal's access; external calendar data remains unaffected.
Input parameters
Unique numeric credential ID for the calendar integration to be disconnected, usually obtained from an endpoint listing connected calendars.
Identifier for the calendar to be disconnected, typically the provider name (e.g., 'google', 'outlook') or a service-specific calendar name.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_EDIT_ATTENDEE_BY_IDTool 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
ID of the attendee to edit.
The attendee's name.
The attendee's email address.
The attendee's timezone in IANA Time Zone Database format.
The booking ID associated with the attendee. This field is required.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_EDIT_AVAILABILITY_BY_IDTool 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
ID of the availability to edit
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.
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.
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.
ID of schedule this availability is associated with
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_EDIT_BOOKING_BY_IDTool 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
ID of the booking to edit
End time of the event in ISO 8601 date-time format
Start time of the event in ISO 8601 date-time format
Booking event title
Status values for a booking.
Description of the meeting
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_EDIT_EVENT_TYPE_BY_IDTool 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
ID of the eventType to edit
Unique slug for the event type
List of hosts for team event types
Price of the event type booking
Title of the event type
If the event type should be hidden from your public booking page
Duration of the event type in minutes
Team ID if the event type should belong to a team
Currency acronym. Eg- usd, eur, gbp, etc.
Metadata relating to event type. Pass {} if empty. Key-value pairs for custom metadata.
The position of the event type on the public booking page
A list of all available locations for the event type. Each location is a dictionary with type and location-specific fields.
Number of bookable days (Required if periodType is rolling)
Period type for bookable event range.
The ID of the schedule for this event type
Description of the event type
The intervals of available bookable slots in minutes
If the event type should disable adding guests to the booking
End date of bookable period (Required if periodType is 'range')
Recurring event configuration.
Scheduling type for team events.
Start date of bookable period (Required if periodType is 'range')
Number of minutes of buffer time after a Cal Event
The number of seats for each time slot
Number of minutes of buffer time before a Cal Event
If the calendar notes should be hidden from the booking
Share Attendee information in seats
A valid URL where the booker will redirect to, once the booking is completed successfully
Minimum time in minutes before the event is bookable
If the event type should require your confirmation before completing the booking
If calendar days should be counted for period days
Show the number of available seats
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_EDIT_SELECTED_CALENDAR_BY_IDTool to edit a selected calendar by its composite ID in Cal.com. Use when you need to update an existing calendar integration.
Input parameters
User ID of the selected calendar to edit. Obtain this from the user's profile or authentication context.
External calendar identifier from the integration provider (e.g., email address for Google Calendar). This identifies which calendar to edit.
Integration provider of the calendar (e.g., 'google_calendar', 'office365_calendar'). This identifies which calendar to edit.
New external calendar identifier. Updates the calendar's external ID.
New integration provider to set for this calendar. Updates the calendar's integration type.
New credential ID to associate with this calendar. Updates the authentication credential reference.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_ALL_BOOKINGSFetches 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
Number of bookings to skip from the beginning of results (for pagination).
Maximum number of bookings to return (for pagination).
Filter bookings by status. Provide a list of status values (e.g., `\["upcoming", "past"\]`).
Filter bookings by a single team ID (numeric) of which the user is a member.
Sort results by booking end time.
Filter bookings by one or more team IDs (comma-separated numeric IDs) of which the user is a member.
Filter bookings ending before this ISO 8601 date or date-time string.
Sort results by booking start time.
Filter bookings starting after this ISO 8601 date or date-time string.
Filter bookings by a single event type ID (numeric) belonging to the user.
Sort results by booking creation time.
Filter bookings by the name of an attendee.
Filter bookings by one or more event type IDs (comma-separated numeric IDs) belonging to the user.
Filter bookings by the exact email address of an attendee.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_EVENT_TYPE_DETAILSFetches 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
The unique identifier of the organization to which the event type belongs.
The unique identifier of the team, within the specified organization, to which the event type belongs.
The unique identifier of the specific event type for which details are to be fetched.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_ORGANIZATION_ATTRIBUTE_BY_IDRetrieves a specific attribute of an organization, useful for fetching a single data point instead of the entire organization record.
Input parameters
The unique numerical identifier of the organization.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_PROVIDER_ACCESS_TOKENFetches 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
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_SCHEDULE_BY_IDFetches comprehensive details for a specific, existing schedule using its `scheduleId`.
Input parameters
Unique identifier of the schedule to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_USER_SCHEDULE_BY_ORG_IDRetrieves a specific user's schedule within an organization, returning availability windows, timezone settings, and date-specific overrides. Requires organization-level access permissions.
Input parameters
The unique identifier of the organization. The authenticated user must have access to this organization.
The unique identifier of the user whose schedule is being retrieved. Must be a member of the specified organization.
The unique identifier of the specific schedule to retrieve. Can be obtained from the user's schedules list.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FETCH_WEBHOOK_BY_EVENT_TYPE_IDRetrieves details for a single, specific webhook using its `webhookId` and associated `eventTypeId`.
Input parameters
Unique identifier for the webhook.
Unique identifier for the event type.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_FORCE_REFRESH_USER_OAUTH_CLIENTForces 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
Unique numerical identifier of the managed user. This is the user ID returned when creating a managed user via the OAuth client.
Unique string identifier of the OAuth client application.
The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ALL_TIMEZONESRetrieves 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_AVAILABLE_SLOTS_INFORetrieves available time slots for scheduling by considering existing bookings and availability, based on criteria like a specified time range and event type.
Input parameters
End date and time in UTC (ISO 8601 format) until which to fetch available slots. Must be after `startTime`.
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.
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.
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.
Start date and time in UTC (ISO 8601 format) from which to fetch available slots. Must be before `endTime`.
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.
Unique numeric identifier for the event type.
Required for dynamic or collective event types to specify the users whose availability should be considered.
The URL-friendly string identifier (slug) of the event type. Can be used as an alternative to `eventTypeId`.
The unique identifier of an existing booking that is being rescheduled. Providing this helps find slots suitable for the reschedule context.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_BOOKING_REFERENCE_BY_IDTool 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
ID of the booking reference to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_BOOKING_REFERENCESRetrieves 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
Type of booking reference to filter by.
The ID of the organization that owns the booking.
The ID of the team within the organization that owns the booking.
The unique identifier (UID) of the booking to retrieve references for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_CONFERENCE_OAUTH_AUTHORIZATION_URLGenerates an OAuth 2.0 authorization URL for a supported conferencing `app` to initiate or refresh its integration with Cal.com.
Input parameters
The identifier of the conferencing application (e.g., 'zoom', 'google_meet'). This is used as a path parameter.
The URL to which the user will be redirected after successful OAuth authorization.
The URL to which the user will be redirected if an error occurs during the OAuth authorization process.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_DEFAULT_SCHEDULE_DETAILSRetrieves the Cal system's global default schedule configuration, not custom or user-specific ones.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_DESTINATION_CALENDARSTool to retrieve all destination calendars configured for the authenticated user. Use when you need to find where new bookings will be created.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_EVENT_TYPE_BY_TEAM_IDRetrieves a specific event type by its ID, requiring that the event type is associated with the given team ID.
Input parameters
The unique identifier for the team.
The unique identifier for the event type. Must be an event type associated with the provided `teamId`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_EVENT_TYPE_PRIVATE_LINKSRetrieves 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
The unique identifier of the event type for which private links are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_GOOGLE_CALENDAR_OAUTH_AUTHENTICATION_URLGenerates the initial Google Calendar OAuth 2.0 authorization URL for user redirection to begin the authentication and authorization process.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_OAUTH_CLIENTS_USERRetrieves 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
The maximum number of user records to return. If not specified, a default limit may be applied by the server.
The unique identifier of the OAuth client for which to retrieve associated users.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONSRetrieves 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
Number of responses to skip from the beginning (for pagination).
Maximum number of responses to return (for pagination).
The unique identifier of the organization. You can obtain this from the 'get_organization_id' action.
Filter by team IDs. Multiple team IDs must be separated by a comma (e.g., '100,200').
The unique UUID identifier of the attribute whose assigned options you want to retrieve. Obtain this from organization attributes actions.
Filter by assigned attribute option IDs. Multiple IDs must be separated by a comma (e.g., 'id1,id2').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONS_BY_SLUGTool 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
Number of responses to skip for pagination. Use with 'take' parameter to paginate through results.
Number of responses to take (limit) for pagination. Use with 'skip' parameter to paginate through results.
The unique identifier of the organization. You can obtain this from the 'get_organization_id' action.
Filter by team IDs. Provide a list of team IDs to filter results to options assigned within these specific teams.
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.
Filter by assigned attribute option IDs. Provide a list of UUID strings to filter results to only these specific option IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_IDRetrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_SCHEDULESRetrieves 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
The number of schedules to skip before returning results. Used for pagination to fetch subsequent pages.
The maximum number of schedules to return per page. Used for pagination. If not specified, the API default limit applies.
The unique identifier of the organization for which to retrieve schedules. Must be an organization the authenticated user belongs to.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_TEAMS_EVENT_TYPESRetrieves event types, including names, durations, and custom settings for team scheduling, for all teams within an existing organization specified by `orgId`.
Input parameters
The number of event types to skip before starting to return results from the list. Used for pagination.
The maximum number of event types to return in a single response. Used for pagination.
The unique identifier of the organization for which to retrieve team event types. The user must have access to this organization.
Order results by creation date. Use 'asc' for oldest first or 'desc' for newest first. When not provided, no explicit ordering is applied.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_TEAM_WORKFLOWSRetrieves 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
Number of workflows to skip before returning results. Used for pagination to fetch subsequent pages. Defaults to 0 if not specified.
Maximum number of workflows to return per page. Used for pagination. Defaults to 250 if not specified.
The unique numeric identifier of the organization. You must have access to this organization.
The unique numeric identifier of the team within the organization for which to retrieve workflows.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_ORGANIZATION_USER_SCHEDULESRetrieves 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
The unique identifier for the organization.
The unique identifier for the user whose schedules are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_PRIVATE_LINKSGet 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
The unique identifier of the organization
The unique identifier of the team
The unique identifier of the event type
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_SCHEDULE_FOR_USER_IN_TEAMRetrieves 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
Unique identifier for the organization. Obtain this from 'get_organization_id' action which returns organization IDs for the authenticated user.
Unique identifier for the team within the organization. Obtain this from 'get_teams_list' action which returns all teams the user belongs to.
Unique identifier for the user whose schedules you want to retrieve. Obtain this from 'retrieve_team_memberships' action using a valid teamId.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_SELECTED_CALENDAR_BY_IDTool 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
User ID of the selected calendar to retrieve
External ID of the calendar from the integration provider (e.g., email address for Google Calendar)
Integration provider of the selected calendar (e.g., 'google_calendar', 'outlook_calendar')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_STRIPE_CONNECT_INFORetrieves 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_STRIPE_CONNECT_URLTool 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
Organization identifier. The unique ID of the organization that owns the team.
Team identifier. The unique ID of the team within the organization for which to generate the Stripe Connect URL.
Redirect destination upon successful connection. The URL where users will be redirected after successfully connecting their Stripe account.
Redirect destination if connection fails. The URL where users will be redirected if the Stripe connection process encounters an error.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_BOOKINGSRetrieves 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
Number of bookings to skip from the beginning of results (for pagination).
Maximum number of bookings to return (for pagination).
Filter bookings by status. Provide a list of status values to filter by multiple statuses.
The unique numeric identifier of the team whose bookings you want to retrieve.
Sort order for end time.
Filter bookings ending before this ISO 8601 date or date-time string.
Sort order for start time.
Filter bookings starting after this ISO 8601 date or date-time string.
Filter bookings by the unique booking UID.
Filter bookings by a single event type ID belonging to the team.
Sort order for creation time.
Filter bookings by the name of an attendee.
Filter bookings by one or more event type IDs (comma-separated) belonging to the team.
Filter bookings by the exact email address of an attendee.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_DEFAULT_CONFERENCING_APPRetrieves 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
The unique identifier of the organization to which the team belongs.
The unique identifier of the team for which the default conferencing app is retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_DETAILS_BY_ORG_ID_AND_TEAM_IDRetrieves 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
The unique identifier of the organization to which the team belongs.
The unique identifier of the team for which details are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_EVENT_TYPE_WEBHOOKRetrieves 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
The unique identifier of the team that owns the event type. This ID can be obtained from the teams list endpoint.
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.
The unique identifier of the event type associated with the webhook. This ID can be obtained from the team event types endpoint.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_EVENT_TYPE_WEBHOOKSRetrieves all webhooks configured for a specific team event type. Use this to audit webhook configurations or troubleshoot webhook delivery issues.
Input parameters
Number of webhook records to skip for pagination. Default is 0.
Maximum number of webhook records to return. Default is 250.
The unique numerical identifier of the team. This ID can be obtained from the teams list endpoint.
The unique identifier of the event type for which webhooks are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_INFORMATION_BY_TEAM_IDRetrieves 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
The unique numeric identifier of the team. Obtain this from the 'get_teams_list' action or from team creation responses.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_ROUTING_FORMSRetrieves 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
Number of routing forms to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified.
Maximum number of routing forms to return per page. Used for pagination. If not specified, the API default limit applies.
The unique identifier of the organization containing the team. Must be an organization the authenticated user has access to.
The unique identifier of the team whose routing forms to retrieve. Must be a team within the specified organization.
Enum for sort order values.
Enum for sort order values.
Filter to include only routing forms created after this date. Should be in ISO 8601 date-time format.
Filter to include only routing forms updated after this date. Should be in ISO 8601 date-time format.
Filter to include only routing forms created before this date. Should be in ISO 8601 date-time format.
Filter to include only routing forms updated before this date. Should be in ISO 8601 date-time format.
Filter routing forms by responses routed to a specific booking. Provide the unique booking identifier (UID).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAM_SCHEDULESRetrieves 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
Number of schedules to skip before returning results. Used for pagination. Defaults to 0 if not specified.
Maximum number of schedules to return. Used for pagination. Defaults to 250 if not specified.
The unique identifier of the organization. Must be an organization the authenticated user belongs to.
The unique identifier of the team within the organization.
Filter schedules by a specific event type ID. When provided, only schedules associated with this event type will be returned.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_TEAMS_LISTRetrieves all teams the user belongs to, including their names and members.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_VERIFIED_PHONE_NUMBERSRetrieves 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
Number of items to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified.
Maximum number of items to return. Valid range: 1-250. Defaults to 250 if not specified.
The unique numeric identifier of the organization.
The unique numeric identifier of the team within the organization.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_GET_WEBHOOK_BY_IDRetrieves details for an existing and accessible webhook by its ID; this is a read-only operation.
Input parameters
The unique identifier of the webhook to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_HANDLE_CONFERENCING_OAUTH_CALLBACK_FOR_APPProcesses 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
Unique identifier for the conferencing application (e.g., 'zoom', 'google_meet', 'msteams'); typically part of the callback URL path.
Authorization code from the conferencing application's OAuth provider.
OAuth state parameter for CSRF protection, which must match the state sent in the initial authorization request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_LIST_ATTENDEESTool to retrieve all attendees from Cal.com. Use when you need to get a complete list of all attendees across all bookings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_LIST_BOOKING_REFERENCESTool 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_LIST_EVENT_TYPESRetrieves Cal event types, filterable by `username` (required if `eventSlug` is provided), multiple `usernames`, or organization details (`orgSlug` or `orgId`).
Input parameters
The unique identifier (ID) of the user's organization. If provided, `orgSlug` is not required. Fetches event types associated with this organization.
The slug of the user's organization. If provided, `orgId` is not required. Fetches event types associated with this organization.
The username of the user whose event types are to be retrieved. If provided alone, fetches all event types for this user.
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.
A comma-separated string of usernames to retrieve dynamic event types for multiple users simultaneously (e.g., 'alice,bob').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_LIST_ORGANIZATION_MEMBERSHIPSRetrieves all memberships for a given organization, including user details, roles, status, and membership dates.
Input parameters
The number of initial membership records to skip. If not provided, no records are skipped. Useful for pagination.
The maximum number of membership records to return. If not provided, a default limit may apply. Useful for pagination.
The unique identifier of the organization for which to list memberships.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_LIST_TEAM_EVENT_TYPES_BY_ORG_AND_TEAM_IDRetrieves all event types for a specific team within an organization, optionally filtering by a specific event slug.
Input parameters
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.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_MARK_BOOKING_ABSENT_FOR_UIDMarks the host and/or specified attendees as absent for an existing booking, typically used after a scheduled event to record no-shows.
Input parameters
If true, marks the host as absent. If null or omitted, host attendance status is unchanged.
List of attendees to mark as absent. If null or omitted, no listed attendees are marked absent.
Unique identifier (UID) for the booking.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_MODIFY_ORGANIZATION_MEMBERSHIP_BY_IDUpdates 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
New role for the member; if omitted, role is unchanged.
Organization's unique identifier (from URL path).
Set true to accept membership, false to decline/revoke; if omitted, status is unchanged.
Membership's unique identifier to modify (from URL path).
Set true to disable impersonation, false to enable; if omitted, setting is unchanged.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_MODIFY_ORG_ATTRIBUTE_BY_IDPartially 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
The new name for the attribute.
The new URL-friendly slug for the attribute.
The new type for the attribute; changing the type may affect existing data associated with this attribute.
The unique identifier for the organization.
Specifies whether the attribute should be enabled or disabled.
The unique identifier for the attribute to be modified.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_PATCH_ORGANIZATION_ATTRIBUTE_OPTIONPartially 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
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.
The unique identifier of the organization. Obtain this from the user's profile (organizationId field) or from organization membership data.
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.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_PATCH_ORGANIZATION_USER_DETAILSPartially updates details for a user that exists within the specified organization.
Input parameters
A short biography or description of the user.
The display name of the user.
The email address of the user to update.
The unique identifier of the organization.
The UI theme preference for the user (e.g., 'light', 'dark').
The locale/language preference for the user (e.g., 'en', 'fr', 'de').
The unique identifier of the user whose details are to be updated.
The timezone of the user (e.g., 'America/New_York', 'Europe/London').
The URL of the user's avatar image.
The day the week starts for the user (e.g., 'Monday', 'Sunday').
The primary brand color in hex format (e.g., '#000000').
The time format preference (12 for 12-hour, 24 for 24-hour).
Whether to hide Cal.com branding for this user.
The brand color for dark mode in hex format (e.g., '#ffffff').
The ID of the default schedule for this user.
Whether to allow dynamic booking for this user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_PATCH_TEAM_DETAILS_BY_IDUpdates specified details for an existing team identified by `teamId`; unspecified fields remain unchanged.
Input parameters
Short biography or description for the team.
The new name for the team.
Unique URL-friendly identifier for the team; auto-generated from team name if not provided.
Color theme for team booking pages (e.g., 'light', 'dark', custom).
The unique identifier of the team to be updated.
URL for the logo in the Cal.com application for this team.
URL of the team's logo image.
Custom key-value metadata for the team (max 50 keys, keys ≤40 chars, values ≤500 chars).
IANA time zone (e.g., 'America/New_York'); affects default schedule, defaults to 'Europe/London'.
URL of the team's banner image for their booking page.
If true, team is private and not publicly discoverable.
Start day of the week for team calendar views (e.g., 'Sunday').
Primary brand color for the team (CSS color format).
Preferred time format: 12 for 12-hour, 24 for 24-hour.
URL for the icon logo in the application, typically smaller than appLogo.
URL for the logo in Cal Video sessions for this team.
If true, hides Cal.com branding on team booking pages.
Booking limits (e.g., max per day/week), conforming to Cal.com's schema.
Brand color for dark theme (CSS color format).
If true, hides booking specific team members, forcing team-level bookings (e.g., round-robin).
If true, team-managed events (round-robin, collective) count towards booking limits.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_PATCH_WEBHOOK_EVENT_TYPEUpdates configuration (e.g., payload template, active status, URL, triggers, secret) for an existing webhook tied to a specific event type.
Input parameters
Set `true` to activate or `false` to deactivate the webhook.
Secret key to sign webhook payloads, verifying their origin.
Specific event that triggers the webhook.
Unique identifier of the webhook to be updated (path parameter).
Unique identifier of the event type for the webhook (path parameter).
URL where webhook notifications are sent.
Template for the payload sent to `subscriberUrl`. See Cal.com documentation (cal.com/docs/core-features/webhooks) for syntax and variables.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_CALENDAR_CREDENTIALSUse 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
The calendar type for which credentials will be posted. Currently only 'apple' is supported for this endpoint.
The Apple account app-specific password for calendar access.
The Apple account username (typically an iCloud email address).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_CONFERENCING_APP_CONNECTConnects 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
Identifier of the conferencing application for establishing its connection with Cal.com. Note: Google Meet requires a Google Calendar connection first.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_NEW_BOOKING_REQUESTCreates 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
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.
List of additional guest email addresses to invite to the event.
Whether this is an instant booking that bypasses approval flows (team events only).
Routing form response data with team member IDs for assignment.
ISO 639-1 language code for communications with the attendee (e.g., 'en' for English, 'es' for Spanish, 'fr' for French).
Location object matching one of the event type's configured locations (e.g., {'type': 'integrations:daily'} for Cal Video).
Custom key-value metadata for tracking or analytics. Defaults to empty object. Max 50 keys, 40 chars per key, 500 chars per value.
Team slug for event type identification when using eventTypeSlug.
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 of the host for event type identification when using eventTypeSlug.
Attendee details object. Required keys: 'name' (string, attendee's full name) and 'email' (string, valid email address). Optional: 'smsReminderNumber' for SMS reminders.
Unique numeric identifier of the event type to be booked. Either eventTypeId OR (eventTypeSlug + username) OR (eventTypeSlug + teamSlug) must be provided.
Slug of the event type. When used, must be combined with either username or teamSlug.
Duration of the event in minutes. Only use this when the event type supports multiple selectable durations. Omit for fixed-duration event types.
Optional organization slug when using eventTypeSlug with username or teamSlug.
Email verification code if the event type requires email verification.
Key/value responses to custom booking fields defined for the event type. Required if the event type has mandatory custom fields.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_ORG_ATTRIBUTE_OPTION_BY_USERAssigns 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
The unique identifier for the organization. Must be an organization that the caller has access to.
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`.
The unique identifier for the user within the organization to assign the attribute option to.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_SELECTED_CALENDARSLinks 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
Unique identifier of the specific calendar within the external service.
Specifies the external calendar system to connect with.
Unique identifier for the stored credential authorizing Cal's access to the external calendar service.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_USER_TO_ORGANIZATIONAdds a new user to an existing organization (identified by `orgId` in path), requiring user's `email` and allowing extensive optional profile customization.
Input parameters
Email address of the user.
Unique identifier of the organization.
Preferred visual theme for the application.
Preferred language and regional settings.
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.
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.
Preferred time zone (IANA Time Zone Database format).
Desired username.
URL for the user's avatar image.
If true, user automatically accepts event invitations.
Preferred brand color for the interface (HEX format).
Preferred time display format: 12 for AM/PM, 24 for 24-hour.
Set to true to hide Cal.com branding.
Preferred brand color for dark mode interface (HEX format).
Role of the user within the organization.
ID of the default schedule for the new user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_POST_WEBHOOK_EVENTCreates 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
Indicates if the webhook is active. If false, notifications will not be sent.
Secret key for signing the webhook payload (HMAC-SHA256), enabling verification of notification authenticity.
The list of event types that will trigger this webhook notification.
The callback URL where webhook notifications (POST requests) will be sent.
JSON string template for the webhook payload, using placeholders like {{type}} for dynamic data. Refer to Cal.com webhook documentation for available placeholders.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_REASSIGN_BOOKING_TO_ANOTHER_USERReassigns 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
An optional text explaining the reason for reassigning the booking. This can be useful for audit trails or internal communication.
The numerical ID of the user to whom the booking will be reassigned.
The unique identifier (UID) of the booking that needs to be reassigned.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_REASSIGN_BOOKING_WITH_UIDReassigns the specified booking to a new team member, who is determined by the system rather than being specified in the request.
Input parameters
Unique identifier (UID) of the booking to be reassigned.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_REFRESH_OAUTH_TOKEN_FOR_CLIENT_IDRefreshes 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
The unique identifier of the OAuth client application whose token is being refreshed.
The refresh token for the managed user, used to obtain a new access token; must be valid and previously issued.
The OAuth client secret key, required for authentication. This is obtained when registering an OAuth client application with Cal.com.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_REQUEST_EMAIL_VERIFICATION_CODERequest 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
Email address to verify. A verification code will be sent to this email address.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RESCHEDULE_BOOKING_BY_UIDReschedules 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
The new start time for the booking in ISO 8601 format with timezone (e.g., '2024-08-13T10:00:00Z').
The unique identifier (UID) of the booking that needs to be rescheduled.
Email of the person who is rescheduling the booking. If event type owner email is provided, rescheduled booking will be automatically confirmed.
The reason for rescheduling the booking.
Required when event type has email verification enabled.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RESERVE_SLOT_FOR_EVENTTemporarily 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
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.
The unique identifier for the event type for which the time slot is being reserved.
The end date and time of the slot to be reserved, in UTC (ISO 8601 format).
The start date and time of the slot to be reserved, in UTC (ISO 8601 format).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_ATTRIBUTE_OPTIONS_FOR_ORGRetrieves 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
The unique numerical identifier of the organization. You can obtain this from the 'get_organization_id' action or from organization-related responses.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_BOOKING_DETAILS_BY_UIDFetches comprehensive details for an existing booking, identified by its `bookingUid`.
Input parameters
Unique identifier (UID) of the booking.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_CALENDAR_BUSY_TIMESTo 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
The end date and time for querying busy times in ISO 8601 datetime format. If timezone is omitted, `loggedInUsersTz` is assumed.
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).
The external identifier of the specific calendar to query. This should be the actual calendar ID from the provider, not the calendar type.
The numeric identifier for the credential associated with the calendar account to be queried.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_CALENDAR_LISTRetrieves a list of all calendar summaries (no event details) associated with the authenticated user's account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_CURRENT_TEAM_FOR_ORGANIZATIONRetrieves details of the team(s) for the currently authenticated user within the specified organization `orgId`.
Input parameters
The number of team entries to skip from the beginning of the list. Used for pagination to navigate through results.
The maximum number of team entries to return. Used for pagination to limit the size of the response.
The unique identifier of the organization for which the current user's team information is being requested.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_DEFAULT_CONFERENCING_SETTINGSRetrieves 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_EVENT_TYPE_BY_IDRetrieves 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
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_MEMBERSHIP_FROM_ORGANIZATIONRetrieves detailed information about a specific membership within a particular organization.
Input parameters
The unique identifier of the organization. Can be obtained from CAL_GET_ORGANIZATION_ID action.
The unique identifier of the membership within the organization. Can be obtained from CAL_LIST_ORGANIZATION_MEMBERSHIPS action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_MY_INFORMATIONRetrieves the authenticated user's core profile information (e.g., name, email, timezone); does not retrieve related data like calendar events or schedules.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_OAUTH_CLIENT_USER_BY_IDRetrieves 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
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.
The unique identifier of the OAuth client. This is obtained from the Cal.com Platform dashboard when registering an OAuth client application.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_OAUTH_CLIENT_WEBHOOK_BY_IDRetrieves 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
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'
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_ORGANIZATION_ATTRIBUTESRetrieves detailed attributes (e.g., configurations, settings, metadata) for an organization, identified by its `orgId`, which must correspond to an existing organization.
Input parameters
The number of attributes to skip before starting to return items. Used for pagination.
The maximum number of attributes to return. Used for pagination.
The unique identifier of the organization for which attributes are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_ORGANIZATION_ATTRIBUTES_OPTIONSRetrieves 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
The unique identifier of the organization. You can get this from CAL_GET_ORGANIZATION_ID or CAL_RETRIEVE_USERS_IN_ORGANIZATION actions.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_ORGANIZATION_WEBHOOK_BY_IDRetrieves detailed information, including configuration and status, for a specific webhook by its ID (`webhookId`) within a given organization (`orgId`).
Input parameters
The unique numeric identifier of the organization to which the webhook belongs.
The unique identifier (UUID) of the webhook to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_ORGANIZATION_WEBHOOKS_BY_ORG_IDRetrieves 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
Number of webhooks to skip (for pagination). If omitted, 0 items are skipped (results start from the beginning).
Maximum number of webhooks to return (for pagination). If omitted, a default number of items is returned.
The unique identifier of the organization for which to retrieve webhooks.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_PROVIDER_DETAILSVerifies 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
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_SCHEDULES_LISTRetrieve 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_DETAILS_IN_ORGANIZATIONRetrieves a paginated list of teams and their details for a specific organization ID; individual team member details or schedules are not included.
Input parameters
Number of teams to skip for pagination (offset). Minimum value: 0. Defaults to 0 if not specified.
Maximum number of teams to return per page. Valid range: 1-250. Defaults to 250 if not specified.
The unique numeric identifier of the organization whose teams you want to retrieve. You must have access to this organization.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_EVENT_TYPESRetrieves event types for a team within the Cal scheduling system; this action does not provide details on scheduled instances or member availability.
Input parameters
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.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_MEMBERSHIP_BY_IDRetrieves 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
The unique identifier of the organization that contains the team. Must be an organization the authenticated user has access to.
The unique identifier of the team within the organization. The team must exist within the specified organization.
The unique identifier of the membership record to retrieve. This ID is assigned when a user is added to a team.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_MEMBERSHIP_DETAILSRetrieves 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
The unique identifier of the team. Obtain this from the 'get_teams_list' action or from team creation responses.
The unique identifier of the membership record to retrieve. Obtain this from 'retrieve_team_memberships' or team membership creation responses.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_MEMBERSHIPSRetrieves 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
Number of membership records to skip before returning results. Used with 'take' for pagination.
Maximum number of membership records to return. Used for pagination. If not provided, returns all memberships.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_TEAM_MEMBERSHIPS_FOR_ORGANIZATIONRetrieves 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
Number of team memberships to skip for pagination offset (e.g., 0 for first page, 50 for second page with take=50)
Maximum number of team memberships to return per page for pagination (e.g., 10, 50, 100)
The unique numeric identifier of the organization containing the team
The unique numeric identifier of the team whose memberships to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_USERS_IN_ORGANIZATIONRetrieves 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
Number of user records to skip for pagination.
Maximum number of user records to return for pagination.
The unique identifier of the organization for which to retrieve users.
Optional list of email addresses to filter users by; only users with matching emails are returned.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_V2_CONFERENCING_INFORetrieves 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_WEBHOOK_DETAILS_FOR_OAUTH_CLIENTRetrieves 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
The number of webhook details to skip. Used for pagination.
The maximum number of webhook details to return. Used for pagination.
The unique identifier of the OAuth client for which to retrieve webhook details.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_WEBHOOKS_FOR_EVENT_TYPERetrieves 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
Number of webhook records to skip (for pagination).
Maximum number of webhook records to return (for pagination).
The unique identifier of the event type for which webhooks are to be retrieved.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_RETRIEVE_WEBHOOKS_LISTRetrieves 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
Number of webhook records to skip before collecting results, used with 'take' for pagination to retrieve subsequent data sets.
Maximum number of webhook records to return (page size for pagination). If unspecified, a system-default limit may apply.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_SAVE_CALENDAR_ENTRYSaves 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
Authorization code or token required to validate and permit the save operation.
Client-provided opaque string to maintain state, e.g., for CSRF protection or relaying application-specific information.
The calendar type to save or update. Must be one of the supported calendar providers.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_SAVE_CALENDAR_ICS_FEEDSImports and saves one or more publicly accessible external iCalendar (ICS) feed URLs into the Cal.com calendar system.
Input parameters
A list of iCalendar (ICS) feed URLs to be imported and saved.
Specifies if the imported calendar events are read-only (`True`) or writable (`False`) via the Cal API.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_SAVE_OAUTH_CREDENTIALS_VIA_GCAL_APICompletes 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
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_SAVE_STRIPE_DETAILSCompletes 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
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_SET_DEFAULT_CONFERENCING_APPSets the specified, valid, and configured conferencing application as the default for new meetings for the authenticated user.
Input parameters
Identifier of a valid and configured conferencing application (e.g., 'zoom', 'google-meet') to set as the default for new meetings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_DESTINATION_CALENDAR_INTEGRATIONUpdates the destination calendar for syncing events, using `integration` and `externalId` (typically from `/calendars` endpoint).
Input parameters
The unique identifier for the calendar within the chosen service, typically obtained from the `/calendars` endpoint.
The calendar service to integrate with, typically obtained from the `/calendars` endpoint.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_OAUTH_CLIENT_USER_SETTINGSUpdates 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
User's biography or description text for their profile.
New full name for the user; if provided, updates the current one.
New email address for the user; if provided, updates the current one.
Preferred language and regional setting (e.g., 'en', 'es-419').
Identifier for the user.
Identifier for the OAuth client.
Key-value metadata for storing custom user data.
Preferred IANA Time Zone Database name (e.g., 'America/New_York').
URL of the user's new avatar; if provided, updates the current one.
First day of the user's week.
Preferred time format: 12 (for 12-hour clock) or 24 (for 24-hour clock).
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.
ID of the user's default schedule, applied when no event-specific schedule is chosen.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_OAUTH_CLIENT_WEBHOOKUpdates specified properties of an existing webhook for an OAuth client; omitted fields remain unchanged.
Input parameters
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.
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.
The unique identifier of the OAuth client to which the webhook belongs.
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.
The unique identifier of the webhook configuration to be updated.
The URL where the webhook payload will be sent. Must be a valid HTTPS URL. If omitted, the existing subscriber URL is unchanged.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_PRIVATE_LINKUpdates 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
The unique identifier of the organization.
The unique identifier of the private link to update.
The unique identifier of the team within the organization.
Expiration date/time in ISO 8601 format (for time-based links).
The unique identifier of the event type.
Maximum number of times the private link can be used (for usage-based links).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_SCHEDULE_BY_IDUpdates an existing schedule by its ID, allowing partial modification of properties; providing `availability` or `overrides` replaces them entirely.
Input parameters
Descriptive name for the schedule.
IANA timezone string for the schedule (e.g., 'America/New_York').
Set as the default schedule.
List of override objects for specific date/time adjustments. If provided, *replaces* existing overrides.
The unique identifier of the schedule to be updated.
List of availability objects for regular weekly recurring availability. If provided, *replaces* existing availability.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_TEAM_EVENT_TYPETool 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
URL-friendly identifier
Theme color configuration.
Specific team members to assign. Do not use with assignAllTeamMembers
Event price
Multi-seat event configuration.
Event type title
Hide event type from public listing
ID of the team
Currency code
Custom metadata
Meeting locations (video, phone, physical address, etc.)
Customizable event name with variables like {Event type title}, {Organiser}, {Scheduler}
Recurring event configuration.
Custom schedule ID to use
Event type description
ID of the event type to update
Offset timeslots by specified number of minutes
Interval between available time slots in minutes
Calendar layout preferences for booker.
Complete set of booking form fields. Replaces all existing fields.
Limit how far in future bookings can be made
Prevent attendees from adding guests
Email notification settings.
Team event scheduling types.
Duration of the event in minutes
Buffer time after event ends in minutes
Settings for Cal Video recordings and transcriptions.
Buffer time before event starts in minutes
Settings for disabling cancelling.
Hide notes from calendar events
Supported interface languages for booking page.
Count-based booking limits.
Manual confirmation policy configuration.
Hide organizer email from booking screen and notifications
Optimize time slot arrangement for availability
URL to redirect after successful booking
Destination calendar for bookings.
Settings for disabling rescheduling.
Assign all current and future team members. Do not use with hosts
Minimum minutes before event for booking
Duration-based booking limits.
Multiple duration options, must include lengthInMinutes
Hide event details from calendar
Limit concurrent active bookings per booker
Show only earliest available slot per day
Use destination calendar email
Allow rescheduling of past events
Require authentication for booking, only owner/org admin can book
Prevent timezone changes on booking page
Require email verification before booking
Keep same host when rescheduling round robin
Allow rebooking cancelled events
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_TEAM_EVENT_TYPE_WEBHOOKUpdates 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
Set to true to activate the webhook or false to deactivate it.
Secret key used to sign the webhook payload for verification. Enables HMAC-SHA256 signature validation.
The unique identifier of the team.
Webhook version.
List of event types that will trigger this webhook.
The unique identifier of the webhook to update.
The unique identifier of the event type within the team.
The URL endpoint where webhook events will be sent via POST requests.
Custom template for the webhook payload. Supports variable interpolation using {{variableName}} syntax. See cal.com/docs/core-features/webhooks for details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_TEAM_INFORMATION_BY_IDUpdates an existing team's information by its ID within a specified organization; the `slug`, if provided, must be unique within the organization.
Input parameters
New short description or biography for the team.
New name for the team.
New URL-friendly identifier for the team; must be unique within the organization.
ID of the organization to which the team belongs.
Visual theme for the team's booking pages (e.g., 'light', 'dark', or custom).
ID of the team to update.
URL for the new logo to be displayed within the Cal.com application.
URL for the team's new logo image.
Custom key-value metadata for the team (max 50 keys, 40 chars per key).
Default IANA timezone identifier for the team (e.g., 'America/New_York'). If unspecified, the API defaults to 'Europe/London'.
URL for the team's new banner image, displayed on their booking page.
Set to true to make the team private, so it won't be discoverable by non-members.
Designated start day of the week for the team's calendar views.
New primary brand color for the team, in hexadecimal format.
Preferred time format (e.g., 12 or 24 for 12/24-hour format).
URL for the new icon logo to be displayed within the Cal.com application.
URL for the new logo to be displayed in Cal Video calls.
Set to true to hide Cal.com branding from the team's booking pages.
Booking limits (e.g., max per day/week), conforming to Cal.com's schema.
New brand color for dark mode, in hexadecimal format.
Set to true to hide the 'Book a Team Member' option on the team's booking page.
Set to true to include team-managed events when calculating booking limits.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_TEAM_MEMBERSHIP_BY_IDUpdates 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
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.
The unique identifier of the team. Obtain this from the 'Get teams list' endpoint or team creation response.
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.
The unique identifier of the membership to update. Obtain this from the 'Retrieve team memberships' endpoint.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_TEAM_MEMBERSHIP_PROPERTIESUpdates 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
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.
The unique identifier of the organization to which the team belongs. Must be an organization the authenticated user has access to.
The unique identifier of the team within the organization. The team must exist within the specified organization.
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.
The unique identifier of the team membership to be updated. This ID can be obtained from the list memberships endpoint.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_USER_PROFILE_DETAILSUpdates the profile information and preferences for the authenticated user, affecting only the fields provided in the request.
Input parameters
The user's new full name.
The user's new email address.
The user's preferred language and regional settings.
The user's preferred time zone, specified in IANA Time Zone Database format.
The URL of the user's new avatar image. Must be a valid URL.
The preferred start day of the week for the user.
The preferred time format for the user. Must be 12 (for 12-hour format) or 24 (for 24-hour format).
The ID of the user's default schedule.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_USER_SCHEDULE_IN_ORGANIZATIONModifies 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
New name for the schedule.
Unique identifier for the organization.
Unique identifier for the user.
New IANA time zone identifier for the schedule (e.g., 'America/New_York').
If true, sets this schedule as the user's default. Only one schedule can be default.
Date-specific overrides to regular availability. Replaces existing overrides if provided.
Unique identifier for the schedule.
Regular availability rules defining the recurring weekly schedule. Replaces existing availability if provided.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_WEBHOOK_BY_IDUpdates an existing Cal.com webhook by its `webhookId`, allowing partial modification of its attributes; only explicitly provided fields will be changed.
Input parameters
Specifies if the webhook is active (`true`) or inactive (`false`).
Secret key to sign the webhook payload for authenticity verification. An empty string removes an existing secret.
List of event types that trigger the webhook.
The unique identifier of the webhook to be updated.
URL where the webhook payload will be sent.
Template for the payload sent to `subscriberUrl`. See Cal.com webhook documentation (cal.com/docs/core-features/webhooks) for templating details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CAL_UPDATE_WEBHOOK_FOR_ORGANIZATIONUpdates 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
Unique identifier of the organization the webhook belongs to. Must be an organization the authenticated user has admin access to.
Whether the webhook is active. Set `false` to disable.
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.
List of event types that trigger the webhook.
Unique identifier of the webhook to update.
URL where webhook notifications are sent.
Custom template for the webhook payload; see cal.com/docs/core-features/webhooks for details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 74 agents privately built on Nagent that already use Cal.
Build on Nagent
Connect Cal to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Cal, and click "Connect Now." You'll authenticate with API_KEY, OAUTH2 — Nagent handles credential storage and refresh automatically. Once connected, Cal is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Cal is connected, you configure its 175 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Cal steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Cal event fires, the agent kicks off automatically.
Every Cal action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Cal ships with 175 pre-built scheduling & booking actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Cal together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Cal-based workflows tailored to your business.