The Cal.com steps work with your bookings: find the free slots for an event type, book one for a customer, find bookings by date or attendee, and cancel one.
Who can do this
Workspace Admins and Editors, on every plan.
Before you start
A Cal.com connection in this workspace. See Connect Cal.com.
The steps
| Step | What it does |
|---|---|
| Find bookings | Finds bookings by status, date range, attendee email or event type. |
| Get available slots | Lists the free slots of an event type in a date range. |
| Create a booking | Books a slot of an event type for an attendee. Tagged Changes data in the picker. |
| Cancel a booking | Cancels a booking, with a reason. Tagged Deletes data in the picker. |
Steps
- Select +, then in Apps select Cal.com, or search Cal.com.
- Choose the step — for example Get available slots.
- Choose the Connection.
- Fill in the step:
- Find bookings — all optional: Status (Any, the default, Upcoming, Past, Cancelled, Unconfirmed), From and To, Attendee email — rohan@consulace.com — and Event type. Most bookings is 100 to begin with.
- Get available slots — the Event type, From and To — a date, or a date and time — and, optionally, the Time zone Cal.com works the days out in (empty: UTC).
- Create a booking — the Event type, the Start (usually
{{ }}offirstfrom Get available slots), and the Attendee name, Attendee email and Attendee time zone. - Cancel a booking — the Booking, usually
{{ trigger.id }}, and optionally a Reason.
- Select Run this step, then check Output. A test of Create a booking or Cancel a booking books or cancels for real.
Times you type are UTC unless they say otherwise — 2026-10-05 10:00 +05:30 is 04:30 UTC. A date alone in To runs to the end of that day.
Output
| Step | What comes back |
|---|---|
| Find bookings | count, bookings and first, found — false — when nothing matched, and note when more matched than Most bookings. Each booking has the trigger's names. |
| Get available slots | count, slots — each a start time in UTC, earliest first — first and timeZone. |
| Create a booking | The booking, with the trigger's names, and url, its page in Cal.com — https://cal.com/booking/…. |
| Cancel a booking | id, status — cancelled — and cancelReason. |
Good to know
- Find bookings keeps up to 1,000. Most bookings can go up to 1,000; when more matched,
noteon the Output says "Only the first … bookings are kept." Narrow the dates or the status. - Find bookings is a find: it has Found and When nothing is found ways out.
- Create a booking sends Cal.com's own confirmation email to the attendee, as a booking on your page does. An event type with required booking questions of its own may refuse the booking — Cal.com's reason says which.
- A slot can go between Get available slots and Create a booking. The booking step then fails with Cal.com's reason.
- Runs once per item.
If something goes wrong
| What the run says | Why | What to do |
|---|---|---|
| "Cal.com refused: …" — the slot is not available | It was booked meanwhile, or is outside the event type's hours. | Get the slots again and choose another. |
| "Cal.com refused: …" — the booking was not found | The id is wrong, or the booking is someone else's. | Check the id. |
| "“…” is not a Cal.com booking id. Use the id a Cal.com trigger, Find bookings or Create a booking gives." | Booking is not a booking's id. | Use {{ trigger.id }}, or an id from Find bookings. |
| "From “…” is not a date Cal.com understands — 2026-10-05, or 2026-10-05 09:30, say." | From, To or Start is not a date. | Type a date, or a date and time. |
| "Cal.com has no event type … for this connection. Choose one from the list." | The event type was deleted, or belongs to another user. | Choose another. |