Cancel Booking
cal.cancel_booking
ActionBusiness appsconnection required
Calls the Cal.com API with the connection's credentials.
Cancel a booking, or one seat of a seated booking, with an optional reason shown to the attendee.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Cal.com
- Secret shape
- the Cal.com API key (cal_live_… / cal_test_…), or {"api_key": "…"}
- Config it needs
- base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
4 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
booking_uid The booking's uid, as it appears in Cal.com and in every webhook payload (not the numeric bookingId). | string | Yes | — | — | 2NtaeaVcKfpmSZ4CthFdfk |
cancellation_reason Why the booking is being cancelled. Cal.com shows this in the cancellation email. | string | No | — | — | — |
cancel_subsequent_bookings For a recurring booking, also cancel every later occurrence instead of just this one. | boolean | No | false | — | — |
seat_uid For a seated event type, the uid of the one seat to act on. Leave empty to act on the whole booking. | string | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"booking_uid": "2NtaeaVcKfpmSZ4CthFdfk",
"cancel_subsequent_bookings": false
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
booking The booking Cal.com returned, with id, uid, title, status, start, end, duration, eventTypeId, attendees and hosts. Empty when the uid named a recurring booking — see recurrences. | object | — |
recurrences Every occurrence, when the uid named a recurring booking. Empty for a normal booking. | array | — |
is_recurring True when Cal.com answered with a list of occurrences rather than a single booking, so the next node reads the right key. | boolean | false |
count How many bookings this result carries. | number | 1 |
{
"booking": {},
"count": 1,
"is_recurring": false,
"recurrences": []
}Notes
- Cal.com cannot cancel every occurrence of a recurring seated booking in one call; run this node once per occurrence.
See Cancel Booking run in a workflow.
In a technical demo we add the Cal.com connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.