Skip to main content
This payload is delivered to your webhook callback URL when an invitee.scheduled, invitee.cancelled, invitee.withdrawn or invitee.no_show event occurs. All four event types share the same structure — cancellation, withdrawal, no-show and rescheduling fields are only populated when relevant.
Store inviteeUuid (and eventUuid) on your side. Invitee-related UUIDs are the best identifiers for correlating bookings, cancellations, and reschedules across webhook deliveries, and they ensure future compatibility — especially for Group events.

Event Info

string
required
Event type that triggered this webhook. One of invitee.scheduled, invitee.cancelled, invitee.withdrawn or invitee.no_show.
string
required
Full API URI for the scheduled event. Example: https://api.zeeg.me/v2/scheduled-events/zg-O69bac566950c6.
string
required
Zeeg event ID in zg-XXX format (e.g., zg-O69bac566950c6). Use this to uniquely identify the event.
string
required
Title of the scheduling page / event type (e.g., “30-Minute Discovery Call”).
string
required
Event type category. One of ONE_ON_ONE, GROUP, COLLECTIVE, ROUND_ROBIN, or FLEXI.
integer
required
Event duration in minutes.
string
required
Human-readable duration (e.g., "30 mins", "1 hr 30 mins").

Invitee Info

string | null
Invitee’s salutation (e.g., "Ms.", "Mr."). null if not provided.
string | null
Invitee’s first name. null if not provided.
string | null
Invitee’s last name. null if not provided.
string
required
Invitee’s full display name.
string
required
Invitee’s email address.
string | null
Invitee’s phone number. null if not collected.
string
required
Invitee’s IANA timezone (e.g., "Europe/Paris").
integer
required
Number of seats booked. 1 for standard bookings, higher for Group events.
string
required
Zeeg invitee ID in zg-XXX format. Use this to track a specific booking across schedule, cancel, and reschedule events. Recommended for storage and correlation.

Timing

string
required
Event start time in UTC (ISO 8601).
string
required
Event end time in UTC (ISO 8601).
string
required
Event start time in the invitee’s local timezone (ISO 8601 with offset).
string
required
Event end time in the invitee’s local timezone (ISO 8601 with offset).
string
required
Human-readable start time in the invitee’s timezone. Format: HH:mm - Day, Month DD, YYYY (e.g., "11:00 - Wednesday, April 15, 2026").
string
required
Human-readable end time in the invitee’s timezone. Same format as inviteeStartAtPretty.

Host Info

object
required
Map of 1-based host positions to host full names (e.g., {"1": "Lena Meier"}).
array
required
Array of host detail objects.
string | null
Team name if the event belongs to a team, otherwise null.

Location

string | null
Location type or name (e.g., "Google Meet", "Zoom", a physical address). null if no location is set.
Join URL for virtual meetings. null for non-virtual locations or if not applicable.

Questions

array
required
Array of question/answer objects from the invitee’s booking form.
object
required
Flat key-value map of questions to answers (question text as key). Convenient for quick lookups.

Scheduling Page

string
required
API URI for the event type. Example: https://api.zeeg.me/v2/event-types/80f46bf5-eb01-4c07-960e-a9a3e18aae5e.
Single-use scheduling link used for this booking. null if a standard scheduling page was used.

Guests

array
required
Array of additional guest email addresses added by the invitee. Empty array if no guests were added.

Payment

number | null
Total price charged for the booking. null if the event is free.
number | null
Price per seat. Equal to price for single-seat bookings. For multi-seat bookings, this is price / inviteeNumberOfSeats. null if the event is free.
string | null
Currency code (e.g., "EUR", "USD"). null if the event is free.
string | null
Payment provider used (e.g., "stripe", "paypal"). null if the event is free.
string | null
Payment provider’s transaction ID. null if the event is free.
string | null
URL the invitee can use to cancel the event. null if the event is already cancelled.
string | null
URL the invitee can use to reschedule the event. null if the event is already cancelled.

Cancellation

These fields are populated when the event is invitee.cancelled.
boolean
required
true if the event has been cancelled, false otherwise.
string | null
Cancellation timestamp in UTC (ISO 8601). null if not cancelled.
string | null
Name of the person who cancelled the event. null if not cancelled.
string | null
Reason provided for the cancellation. null if not cancelled or no reason was given.

No-show

boolean
required
true once a host has marked the invitee as a no-show, false otherwise. Present on every delivery.
string | null
Timestamp the invitee was marked as a no-show, in UTC (ISO 8601). null when they were not marked.

Withdrawal

Present on every delivery for a booking whose event type grants a statutory right of withdrawal (§ 356a BGB), so an ordinary cancellation can be told apart from a withdrawal without subscribing to invitee.withdrawn. null for every other booking.
object | null

Rescheduling

These fields are populated when a booking has been rescheduled. On a reschedule, the old event receives invitee.cancelled and the new event receives invitee.scheduled, both with rescheduling context. The old* fields appear on the new event’s payload (referencing the event it replaced). The new* fields appear on the old event’s payload (referencing the event that replaced it).
boolean
required
true if this event was rescheduled (i.e., a newer event replaced it), false otherwise.
string | null
Rescheduling timestamp in UTC (ISO 8601).
string | null
Name of the person who initiated the reschedule.
string | null
Reason provided for rescheduling.
string | null
API URI of the previous (old) event before rescheduling.
string | null
UUID of the previous (old) event.
string | null
Invitee UUID from the previous (old) event.
string | null
Start time (UTC, ISO 8601) of the previous event.
string | null
Start time of the previous event in the invitee’s timezone (human-readable format).
string | null
API URI of the replacement (new) event after rescheduling.
string | null
UUID of the replacement (new) event.
string | null
Invitee UUID for the replacement (new) event.
string | null
Start time (UTC, ISO 8601) of the replacement event.
string | null
Start time of the replacement event in the invitee’s timezone (human-readable format).

UTM Parameters

These fields capture UTM tracking parameters if they were present on the scheduling page URL when the invitee booked.
string | null
The utm_campaign value.
string | null
The utm_source value.
string | null
The utm_medium value.
string | null
The utm_term value.
string | null
The utm_content value.
object | null
Ad click identifiers captured at booking, or null when none were present. Keys: gclid, gbraid, wbraid, fbclid, fbp, fbc, landingUrl (all string, only the captured keys are present).

Metadata

string
required
Timestamp (UTC, ISO 8601) of when the booking was created.

Full Payload Example

Last modified on July 21, 2026