Cal

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

168 actions Integration catalog
Request access
Connect Cal once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Add attendeeCAL_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 teamCAL_ADD_MEMBER_TO_TEAM_USING_ORG_AND_TEAM_ID
Adds a new member to a specified team within an organization by creating a team membership.
Add organization attribute optionCAL_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.
Cancel booking via uidCAL_CANCEL_BOOKING_VIA_UID
Cancels an existing and active Cal.com booking using its unique identifier (UID).
Check calendar availabilityCAL_CHECK_CALENDAR_VERSION2
Retrieves free/busy availability for a specified calendar to aid scheduling without revealing event details; requires an existing, accessible calendar, noting that data granularity can vary.
Check gcal synchronization statusCAL_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 endpointCAL_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 Stripe statusCAL_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 team stripe integration statusCAL_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 uidCAL_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 to calendarCAL_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 membership for organizationCAL_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 userCAL_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 OAuth client webhook configurationCAL_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 organization attributesCAL_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 workflowCAL_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 IDCAL_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 or update team profileCAL_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 phone call eventCAL_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 typeCAL_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 typeCAL_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 optionsCAL_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 organizationCAL_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 linkCAL_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 roleCAL_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 scheduleCAL_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 organizationCAL_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 typeCAL_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.
Decline booking with reasonCAL_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 all team event type webhooksCAL_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 connectionCAL_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 idCAL_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 idCAL_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 teamCAL_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 teamCAL_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 Managed UserCAL_DELETE_OAUTH_CLIENT_USER
Permanently removes a managed user's association with an OAuth client without deleting their Cal.com account. This is a Cal.com Platform API endpoint for developers who manage users through OAuth clients. Prerequisites: - A registered OAuth client application (provides clientId) - The OAuth client secret key (x_cal_secret_key) - A valid managed user ID that was created under this OAuth client The deleted user's information is returned in the response for confirmation. Note: This endpoint is marked as deprecated in Cal.com docs but remains functional for existing Platform customers.
Delete oauth client webhookCAL_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 organization attributeCAL_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 optionCAL_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 membershipCAL_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 org webhookCAL_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 schedule by idCAL_DELETE_SCHEDULE_BY_ID
Permanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule.
Delete selected calendarsCAL_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 slotCAL_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 idCAL_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 organizationCAL_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 organizationCAL_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 idCAL_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 optionCAL_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 organizationCAL_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 scheduleCAL_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 idCAL_DELETE_WEBHOOK_BY_ID
Permanently deletes an existing webhook by its `webhookId`, stopping future notifications; this action is irreversible.
Delete webhook for event typeCAL_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 typeCAL_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 idCAL_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 IDCAL_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 IDCAL_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 IDCAL_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 IDCAL_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 IDCAL_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.
Showing the first 60 of 168 actions.