Cal

Syncs your scheduling logic across your stack, automates meeting confirmations, and manages team availability based on real time triggers from your CRM or project tools.

Try Cal in Ceven

Ask Ceven anything
Standard

Why use Ceven?

  1. AI native Cal integration

    • Describe the outcome and Ceven picks the right Cal calls, fills the parameters, and checks the result.
    • Structured, agent friendly tool schemas so each call runs reliably instead of by guesswork.
    • Rich coverage for reading, writing, and querying your Cal data, across all 168 of its actions.
  2. Managed auth

    • Built in OAuth with automatic token refresh and rotation.
    • One place to manage, scope, and revoke Cal access.
    • Per user and per environment credentials instead of shared keys.
  3. Agent optimized design

    • Actions are tuned from real success and error rates so reliability climbs over time.
    • Full execution logs so you always know what ran in Cal, when, and on whose behalf.
    • The agent pauses and asks when Cal is unclear instead of plowing ahead.
  4. Enterprise grade security

    • Fine grained access so you control which agents and people can reach Cal.
    • Least privilege by default, read scopes first and only the writes a workflow needs.
    • A full audit trail of every Cal action to support review and sign off.

Supported tools

Every action Ceven's agents can run on Cal, and when to use it.

Check calendar availability
Use this to pull free and busy slots for a calendar to find open times without seeing private event details.
Cancel booking
Use this to void an active booking using the unique identifier. Common for automated cancellation flows.
Confirm booking
Finalize a pending booking by its ID to lock in the time slot and notify the attendee.
Decline booking
Reject a pending booking request and optionally provide a reason why the time does not work.
Create user availability schedule
Define a new set of weekly recurring hours and date overrides for a specific user.
Create team event type
Set up a new type of meeting for a team, including duration and host assignments.
Add member to team
Assign a user to a specific team within the organization to enable team scheduling.
Create team in organization
Initialize a new team entity with custom attributes inside an existing organization.
Delete event type
Permanently remove a meeting type by its ID, which disables the associated booking links.
Create webhook for event type
Set up a listener for a specific event type to trigger external workflows when bookings happen.
Check gcal synchronization status
Verify if the Google Calendar connection is active and syncing data correctly.
Create phone call event
Register a phone call meeting in the system using a predefined event type and team.
Add organization attribute option
Adds a new option to an organization's attribute, requiring a display `value` and a `slug` unique for that attribute.
Delete oauth client webhook
Permanently deletes a specific webhook subscription of an oauth client in the cal application, stopping its notifications.
Cancel booking via uid
Cancels an existing and active cal.com booking using its unique identifier (uid).
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 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 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 performe
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 organization
Creates a new membership or updates an existing one for a user within an organization; the user specified by userid must already exist in the system.
Create oauth client user
Creates a new managed user for an oauth client, setting profile and scheduling preferences; if `timezone` is not provided, a default schedule (mon fri, 9am-5pm) is not created, requiring manual setup via `/schedules` endpoint before booking
Create OAuth client webhook configuration
Creates a webhook for an existing oauth client to send real time cal.com event notifications (e.g., `booking created`, `meeting ended`) to the `subscriberurl`, enabling integration with external systems or workflow automation.
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 webhook by org ID
Creates a webhook for a specified, existing organization, sending notifications for selected trigger events to a designated, publicly accessible subscriber url that accepts post requests.
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 for event type
Creates a phone call template associated with an existing event type and team, for defining reusable call configurations like numbers and scripts; note this does not initiate an actual call.
Create team event types with custom options
Creates a highly customizable cal.com team event type with extensive scheduling, booking, and host assignment options; `lengthinminutes` (as string) must be included in `lengthinminutesoptions`, destination calendar details (from `/api/v2/c
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 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.

30 actions · scroll to see them all

Frequently asked questions

Ceven uses the standard OAuth2 flow to connect to Cal. When you authorize the integration, Cal provides a scoped token that allows the agent to read your availability and manage your bookings. We do not store your Cal password. The token is encrypted at rest and used only to execute the specific actions you trigger in your workflows. You can revoke this access at any time through your Cal account settings under the integrated apps section, which immediately cuts off the agents ability to make calls to the API on your behalf.
Yes. If you have the appropriate organization permissions in Cal, the agent can create teams, add members to those teams, and set up team event types. This allows you to build workflows that automatically assign the right team member to a booking based on round robin logic or specific availability. The agent can check the collective availability of the team to ensure that bookings are only made when at least one qualified host is free, effectively acting as a virtual coordinator for your entire department.
If a user account is deleted in Cal, any associated tokens held by Ceven become invalid. The next time a workflow attempts to call a Cal action for that user, the API will return an authentication error. Ceven will then mark that specific connection as disconnected and notify the workflow owner via a system alert. You will need to re invite the user or update the workflow to point to a different active Cal user to restore the automation for those specific scheduling tasks.
Cal has specific limits on the number of webhooks per organization and event type depending on your plan. If you attempt to create more webhooks than your Cal tier allows, the API will return a rate limit or quota error. Ceven handles this by surfacing the exact error message from Cal in the workflow logs. To avoid this, we recommend using a single webhook that routes to a Ceven dispatcher which then sorts the events into different workflows based on the payload metadata.
Yes. The agent can use the create user availability schedule action to define date specific overrides. For example, you can tell the agent to clear all availability for a specific week in December for the whole team. The agent will call the API to add these overrides to the existing schedules. This ensures that your booking pages reflect your actual time off without you having to manually toggle every single day in the Cal dashboard for every team member.
Ceven can register phone call events using the specific tool for phone call creation. It is important to note that Cal acts as the scheduling layer here. This means the agent can book the time and store the phone number in the event details, but it does not initiate the actual voice call. You will still need to use your own telephony provider or manual dialing to start the meeting at the scheduled time. The agent simply handles the calendar logistics and the notification flow.
Cal stores and transmits time data in UTC, and Ceven follows this standard. When the agent checks availability or creates a booking, it references the timezone defined in the user profile or the organization settings. If you provide a time in a specific local zone, the agent converts it to UTC before sending the request to Cal. This prevents the common issue of meetings being booked at the wrong hour when your team and your clients are spread across different continents.
Yes. There is a specific read only action that checks the synchronization status of the Google Calendar integration. The agent can run this as a health check at the start of a workflow. If the sync is broken, the agent can send you a notification to re authenticate the connection before it attempts to book a meeting. This prevents the agent from booking a slot that looks open in Cal but is actually blocked on the underlying Google Calendar.

Alternatives to Cal

Other tools that solve a similar problem. Ceven supports these too, so you can switch or run more than one at once.

Calendly logoCalendlyTidyCal logoTidyCalAcuity Scheduling logoAcuity Scheduling

Try Ceven on your stack

Plug Ceven on top of the tools you already run. Connect Cal and the rest of your stack, describe the outcome, and its agents handle the work end to end, days of it in minutes.

Get started for free