Reschedule Booking
cal.reschedule_booking
ActionBusiness appsconnection required
Calls the Cal.com API with the connection's credentials.
Move a booking to a new start time; Cal.com cancels the old booking and returns the new one, which has its own uid.
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
5 fields, 2 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 |
start The new start time, ISO-8601 in UTC. | string | Yes | — | iso8601 format | 2026-08-14T09:00:00Z |
rescheduling_reason Why the booking moved. Shown in the reschedule email. | string | No | — | — | — |
rescheduled_by Email address of whoever asked for the reschedule. | string | No | — | email format | — |
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",
"start": "2026-08-14T09:00:00Z"
}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
- The returned booking carries a NEW uid; rescheduledFromUid on it points back at the booking this node was given.
See Reschedule 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.