Cal
Open scheduling platform for booking links, event types, availability, calendars, and appointments.
Handles open scheduling flows for booking creation, slot lookup, cancellation, and booking lifecycle events.
Use Cal with Snow
Snow is a personal AI assistant that builds real apps for you, and they can put Cal to work.
What Snow can do with Cal
These are the Cal operations Snow and the apps you build with it can run. Sign in to choose which ones Snow may run without asking.
Reads80
Look at your data without changing it.
- 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.
- 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 organization ID
Retrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint.
- 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 teams list
Retrieves all teams the user belongs to, including their names and members.
- 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 event types
Retrieves Cal event types, filterable by `username` (required if `eventSlug` is provided), multiple `usernames`, or organization details (`orgSlug` or `orgId`).
- 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 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.
Creates24
Add something new to your account.
- 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.
- 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.
- 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.
- 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 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 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 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.
Updates43
Change something that is already there.
- Create or update team profile
Creates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details.
- 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.
- 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.
- 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.
- 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.
- 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 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.
Deletes28
Remove something. This often cannot be undone.
- Cancel booking via uid
Cancels an existing and active Cal.com booking using its unique identifier (UID).
- 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 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 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 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.
Related integrations
Ready to put Cal to work?
Sign up free, build an app by chatting, and connect Cal in minutes. No credit card required.