Skip to content

Booking payloads ​

Trigger list responses contain these objects inside data. Webhook deliveries send a single booking object directly as the JSON body, without a data wrapper or event envelope.

Shared fields ​

These fields are present in all three booking payload shapes.

FieldTypeDescription
booking_idstringBooking ID. The same ID is used across creation, cancellation, and rescheduling.
booking_page_idstringID of the page where the booking was made.
booking_page_namestring or nullPage name.
booking_page_slugstring or nullPage slug.
assigned_user_idstring or nullAssigned host's user ID.
assigned_user_namestring or nullAssigned host's profile name.
assigned_user_emailstring or nullAssigned host's account email.
guest_fullnamestringGuest's full name.
guest_emailstring or nullGuest's email.
languagestringBooking language, for example en or fr.
start_datetimestring or nullAppointment start, normalized to ISO 8601 UTC. Null if the stored start cannot be parsed.
end_datetimestring or nullStart plus duration minutes, normalized to ISO 8601 UTC. Null if the start cannot be parsed.
durationnumberAppointment duration in minutes.
statusstringBooking status. Trigger lists filter to booked, cancelled, or rescheduled.
created_atstringRecord creation timestamp.
updated_atstring or nullRecord's last update timestamp.
answer_<question_id>stringDynamic answer field, when an answer snapshot exists. See custom answers.

New booking & rescheduling fields ​

These fields appear in new booking and rescheduling payloads. Cancellation payloads omit them.

FieldTypeDescription
approval_statusstring or nullStored approval state, for example approved, or null when unset.
meeting_option_typestring or nullMeeting type, such as video, in_person, custom, or phone.
meeting_option_providerstring or nullVideo provider when the type is video; otherwise null.
meeting_option_urlstring or nullVideo meeting URL when the type is video; otherwise null.
meeting_option_locationstring or nullLocation when the type is in_person; otherwise null.
meeting_option_instructionsstring or nullInstructions when the type is custom; otherwise null.
meeting_option_phonestring or nullPhone value when the type is phone; otherwise null.

The date field is a UTC date string in YYYY-MM-DD format (or null for an invalid start). It appears only in new booking payloads. Rescheduling and cancellation payloads omit it. Convert start_datetime to the desired time zone when displaying an appointment's local date.

Cancellation fields ​

These fields appear only in cancellation payloads.

FieldTypeDescription
cancelled_atstring or nullCancellation timestamp, when recorded.
cancellation_reasonstring or nullCancellation reason, when supplied.
cancelled_bystring or nullRecorded cancellation actor, for example guest.

Compare event shapes ​

Field groupCreatedRescheduledCancelled
Shared booking fieldsIncludedIncludedIncluded
dateIncludedOmittedOmitted
Approval & meeting fieldsIncludedIncludedOmitted
Cancellation fieldsOmittedOmittedIncluded
Custom answer fieldsWhen storedWhen storedWhen stored

The rescheduling object contains current values. It does not contain previous start times, previous durations, or a list of changed fields.

Custom answers ​

Answers are flattened into top-level keys using the question's ID:

json
{
  "answer_44444444-4444-4444-8444-444444444444": "A new project",
  "answer_77777777-7777-4777-8777-777777777777": "Design, Development"
}
  • A string answer is returned unchanged.
  • A list answer is flattened into a comma-and-space separated string; only string elements are included.
  • A stored answer snapshot with an unsupported or empty answer value produces an empty string.
  • If there is no answer snapshot for a question, its field is omitted. Do not assume every configured question has an answer field.

Use the questions array from booking pages to map a key to its question label. Treat the question ID as the stable identifier; the label can change. Load question labels for the pages your integration uses.

See booking triggers for complete JSON examples of all three shapes.