Skip to main content
This page documents the payload structure for each webhook event type.

booking_created

Triggered when a new appointment is booked.

Payload

Key Fields

booking_cancelled

Triggered when an appointment is cancelled by the host or attendee. For group bookings, this also fires when a single attendee cancels their spot — in that case isCancelled is false (the appointment remains active for other attendees) but the cancel object is still populated.

Payload

Key Fields

booking_rescheduled

Triggered when an appointment is moved to a new time.

Payload

Key Fields

new_employee

Triggered when a new user is added to your company.

Payload

Key Fields

form_submission

Triggered when someone submits a routing form or funnel.

Payload

Key Fields

signature_completed

Triggered when an e-signature request is fully signed (see E-Signatures).

Payload

Key Fields

whatsapp_message_received

Triggered when an inbound WhatsApp message arrives on a connected number (see WhatsApp). Reply by calling POST /v4/whatsapp/messages with the from number.

Payload

Key Fields

Because the contact just messaged you, the 24-hour customer-service window is open — a free-form text reply is allowed. See the WhatsApp 24h window.

whatsapp_message_status

Triggered when an outbound message’s delivery status changes (sent → delivered → read, or failed). Correlate with the waMessageId returned from POST /v4/whatsapp/messages.

Payload

Key Fields

Only real status upgrades fire (e.g. you won’t get a duplicate delivered). A failed status includes errorCode/errorMessage — a common one is the recipient being outside the 24-hour window for a non-template message.

Client portal events

Five events follow what a visitor does inside a client portal: space_viewed, space_invite_accepted, space_task_completed, space_task_reopened, space_file_uploaded. They share one head, so a receiver can attribute every event without a follow-up request.

Common fields

space_task_completed / space_task_reopened

Triggered when a verified viewer checks off an action-plan step, or unchecks one they had completed.

space_file_uploaded

Triggered when a viewer uploads a file to the portal’s upload zone. Files attached to a form answer arrive with form_submission instead.
GET {downloadPath} with your token returns a short-lived download URL.

space_viewed

Triggered when a visitor opens the portal, once per session. Owner previews do not fire it. Adds linkId and viewId.

space_invite_accepted

Triggered the first time an invited person opens the portal with a verified email (invite link or one-time code). Fires once per invite. Adds inviteId, linkId and viewId.

Common Attendee Fields

All booking events include attendee information:

Common Host Fields

All booking events include host information:

Handling Events

Example: Sync to CRM

Example: Send Slack Notification

Example: Correlate with External Ticket

Use metadata to link bookings back to external systems (e.g., CRM tickets, support cases):
The metadata field is set when creating the meeting type and is included in all booking webhooks. Use it to correlate bookings with your external systems.