Connect Cal to Definable AI

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

About Cal

Cal is a productivity tool. Connect it to Definable AI with one-click OAuth2 — no API keys or custom code required.

What you can automate with Cal

Use Definable AI's agent platform to trigger workflows from Cal, process results with 50+ AI models, and sync data across 900+ connected apps.

Tools & Actions (176 available)

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

How to connect Cal

  1. Sign in to Definable AI and go to Apps
  2. Search for Cal and click Connect
  3. Authorize via OAuth2 — takes under 30 seconds
  4. Use Cal actions in your AI agents and workflows