Cal simplifies meeting coordination by providing shareable booking pages, calendar syncing, and availability management to streamline the scheduling process
175
Available Tools
0
Triggers
Tool to create a new attendee for an existing booking in Cal.com. Use when you need to add an additional participant to a scheduled event.
Adds a new member to a specified team within an organization by creating a team membership.
Adds a new option to an organization's SINGLE_SELECT or MULTI_SELECT attribute. Use this action to extend the available choices for an existing attribute. For example, adding a new department option like "Marketing" to a "Department" attribute. Prerequisites: - The organization must exist and the user must have admin access - The attribute must already exist and be of type SINGLE_SELECT or MULTI_SELECT Common use cases: - Adding new department options to a department selector - Expanding location choices for a location attribute - Creating new priority levels for a priority field Note: While it's recommended to use unique slugs for clarity, the API may allow duplicate slugs.
Cancels an existing and active Cal.com booking using its unique identifier (UID).
Retrieves free/busy availability for a specified calendar to aid scheduling without revealing event details; requires an existing, accessible calendar, noting that data granularity can vary.
Call this read-only action to verify the connection and synchronization status of a user's Google Calendar integration with Cal.
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 ID
Retrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint.
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 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 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 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 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 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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 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 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
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
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 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 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 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 destination calendar integration
Updates the destination calendar for syncing events, using integration and externalId (typically from /calendars endpoint).
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 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 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.
Get started with Agent Jam and connect Cal along with 700+ other apps to supercharge your workflow.