Cal.com
Also an agent toolCal.com scheduling platform (API v2, api.cal.com/v2): manage bookings, event types, availability slots, schedules, attendees, teams and memberships, organization users, webhooks, connected/destination calendars, conferencing, and your profile. Bearer API-key auth with a dated cal-api-version header. Change notifications use native HMAC-SHA256 signed webhooks (booking created/rescheduled/cancelled, meeting ended, etc.) with a bookings-list polling fallback.
56 actions · 11 triggers
The Cal.com integration lets you connect Cal.com to your automations with 56 actions and 11 triggers — and every action is also a tool an AI agent can call. Examples: Get My Profile, Update My Profile, List Bookings, Get Booking, Create Booking. No blank-canvas wiring — connect it and use it in your workflows.
Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.
Triggers 11
Events in Cal.com that can start a workflow.
Booking Created
Fires when a new booking is created (Cal.com webhook trigger BOOKING_CREATED).
Booking Rescheduled
Fires when a booking is rescheduled (Cal.com webhook trigger BOOKING_RESCHEDULED).
Booking Cancelled
Fires when a booking is cancelled (Cal.com webhook trigger BOOKING_CANCELLED).
Booking Requested
Fires when a booking that requires confirmation is requested (Cal.com webhook trigger BOOKING_REQUESTED).
Booking Rejected
Fires when a booking request is rejected (Cal.com webhook trigger BOOKING_REJECTED).
Booking Payment Initiated
Fires when a booking payment is initiated (Cal.com webhook trigger BOOKING_PAYMENT_INITIATED).
Booking No-Show Updated
Fires when a booking's no-show status is updated (Cal.com webhook trigger BOOKING_NO_SHOW_UPDATED).
Meeting Started
Fires when a booking's meeting starts (Cal.com webhook trigger MEETING_STARTED).
Meeting Ended
Fires when a booking's meeting ends (Cal.com webhook trigger MEETING_ENDED).
Recording Ready
Fires when a meeting recording is ready (Cal.com webhook trigger RECORDING_READY).
New or updated Cal.com bookings (polled)
Polls GET /bookings with afterUpdatedAt as the watermark and sortUpdatedAt=asc. Dedupe by booking uid; advance by updatedAt.
Actions 56
What Zervanor can do in Cal.com.
Bookings11
List Bookings
List bookings (GET /bookings). Supports filtering by status and time window and is the polling source for new/updated bookings via afterUpdatedAt + sortUpdatedAt.
Get Booking
Get a single booking by uid (GET /bookings/{bookingUid}).
Create Booking
Create a booking (POST /bookings). Provide start, eventTypeId (or eventTypeSlug + username/team), attendee, and optional attendee/booking fields.
Reschedule Booking
Reschedule a booking to a new start time (POST /bookings/{bookingUid}/reschedule).
Cancel Booking
Cancel a booking (POST /bookings/{bookingUid}/cancel).
Confirm Booking
Confirm a pending (requires-confirmation) booking (POST /bookings/{bookingUid}/confirm).
Decline Booking
Decline a pending (requires-confirmation) booking (POST /bookings/{bookingUid}/decline).
Mark Booking Absent
Mark a booking's host or attendee(s) as no-show (POST /bookings/{bookingUid}/mark-absent).
Get Booking Recordings
Get the recordings of a booking's meeting (GET /bookings/{bookingUid}/recordings).
Get Booking Transcripts
Get the download links for a booking's meeting transcripts (GET /bookings/{bookingUid}/transcripts).
Get Booking References
Get a booking's external references (calendar/video integration references) (GET /bookings/{bookingUid}/references).
Teams10
List Teams
List the teams the authenticated user belongs to (GET /teams).
Get Team
Get a team by id (GET /teams/{teamId}).
Create Team
Create a team (POST /teams).
Update Team
Update a team (PATCH /teams/{teamId}).
Delete Team
Delete a team (DELETE /teams/{teamId}).
List Team Memberships
List a team's memberships (GET /teams/{teamId}/memberships).
Get Team Membership
Get a single team membership (GET /teams/{teamId}/memberships/{membershipId}).
Create Team Membership
Add a member to a team (POST /teams/{teamId}/memberships).
Update Team Membership
Update a team membership's role or acceptance (PATCH /teams/{teamId}/memberships/{membershipId}).
Delete Team Membership
Remove a member from a team (DELETE /teams/{teamId}/memberships/{membershipId}).
Event Types7
List Event Types
List event types (GET /event-types). Filter by username, eventSlug, or usernames for team lookups.
Get Event Type
Get a single event type by id (GET /event-types/{eventTypeId}).
Create Event Type
Create an event type (POST /event-types).
Update Event Type
Update an event type (PATCH /event-types/{eventTypeId}).
Delete Event Type
Delete an event type (DELETE /event-types/{eventTypeId}).
List Event Type Webhooks
List webhooks scoped to an event type (GET /event-types/{eventTypeId}/webhooks).
Create Event Type Webhook
Create a webhook scoped to an event type (POST /event-types/{eventTypeId}/webhooks).
Schedules6
List Schedules
List the authenticated user's availability schedules (GET /schedules).
Get Schedule
Get a single availability schedule by id (GET /schedules/{scheduleId}).
Create Schedule
Create an availability schedule (POST /schedules).
Update Schedule
Update an availability schedule (PATCH /schedules/{scheduleId}).
Delete Schedule
Delete an availability schedule (DELETE /schedules/{scheduleId}).
Get Default Schedule
Get the authenticated user's default availability schedule (GET /schedules/default).
Organizations5
List Organization Users
List an organization's users (GET /organizations/{orgId}/users). Requires an organization-scoped API key.
Get Organization User
Get a single organization user (GET /organizations/{orgId}/users/{userId}).
Create Organization User
Create (invite) a user in an organization (POST /organizations/{orgId}/users).
Update Organization User
Update an organization user (PATCH /organizations/{orgId}/users/{userId}).
Delete Organization User
Delete a user from an organization (DELETE /organizations/{orgId}/users/{userId}).
Webhooks5
List Webhooks
List the authenticated user's webhooks (GET /webhooks).
Get Webhook
Get a single webhook by id (GET /webhooks/{webhookId}).
Create Webhook
Create a user-scoped webhook (POST /webhooks). Set a secret to sign deliveries; store it as the webhook_secret credential to verify incoming payloads.
Update Webhook
Update a webhook (PATCH /webhooks/{webhookId}).
Delete Webhook
Delete a webhook (DELETE /webhooks/{webhookId}).
Slots4
Get Available Slots
Get available booking slots for an event type over a date range (GET /slots). Provide eventTypeId (or eventTypeSlug + username) plus start and end.
Reserve Slot
Temporarily reserve a slot so it cannot be double-booked while a booking is completed (POST /slots/reservations).
Get Reserved Slot
Get a reserved slot by its reservation uid (GET /slots/reservations/{reservationUid}).
Delete Reserved Slot
Release a reserved slot (DELETE /slots/reservations/{reservationUid}).
Calendars2
List Connected Calendars
List the authenticated user's connected calendars grouped by integration (GET /calendars).
Get Calendar Busy Times
Get busy time blocks across the user's connected calendars for a date range (GET /calendars/busy-times).
Conferencing2
List Conferencing Apps
List the authenticated user's connected conferencing apps (GET /conferencing).
Set Default Conferencing App
Set the default conferencing app for new bookings (POST /conferencing/{app}/default).
Destination Calendars2
Get Destination Calendars
Get the calendars events are written to for the authenticated user (GET /destination-calendars).
Update Destination Calendar
Set the destination calendar events are written to (PUT /destination-calendars).
Me2
Get My Profile
Get the authenticated user's profile (GET /me). Identity + connectivity probe.
Update My Profile
Update the authenticated user's profile (PATCH /me).
Nothing matches your search.
Automations using Cal.com
Build your own automation with Cal.com in the visual builder.
Frequently asked questions
What can I automate with Cal.com?
56 actions are available — for example: Get My Profile, Update My Profile, List Bookings, Get Booking, Create Booking, and more.
Which Cal.com events can start a workflow?
11 triggers — for example: Booking Created, Booking Rescheduled, Booking Cancelled, Booking Requested.
Can Cal.com be used as an AI agent tool?
Yes. Every Cal.com action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.
How is the Cal.com integration modelled?
Cal.com is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.