Skip to main content
POST
Book a meeting
If a book request times out, do not book again. The booking almost always succeeded. A retry returns CONFLICT, RESERVATION_USED, or RESERVATION_EXPIRED, and with the same workflowExecutionId it can never create a second meeting for the same workflow run.

Authorizations

Authorization
string
header
required

Organization API key, created in workspace settings (Settings → API Keys). Sent as Authorization: Bearer <key>. Shown once at creation; revocable and permission-scoped per key.

Body

application/json
startTime
string<date-time>
required
reservationId
string<uuid>
required
event
string
required

The same event or scheduling link identifier used to fetch slots. The reservation is scoped to it. Trigger-routed bookings pass the schedulingLinkId from the trigger outcome.

personEmail
string<email>
required

The lead being booked. With workflowExecutionId set this must match the email the trigger was fired with. A different value responds 400.

guestFirstName
string
guestLastName
string
guestPhone
string
guestEmails
string<email>[]
Maximum array length: 10
leadTimezone
string
responses
object
fieldResponses
object
workflowExecutionId
string<uuid>

Links the meeting to the workflow run that routed this lead and resumes it, so CRM writeback and routing assignments record. Responds 404 when the id does not resolve.

Response

Success

id
string<uuid>
required
eventId
string<uuid>
required
title
string
required
status
enum<string>
required
Available options:
scheduled,
rescheduled,
held,
no_show,
canceled
date
string<date-time>
required
duration
integer
required
Required range: -2147483648 <= x <= 2147483647
conferencingType
enum<string>
required
Available options:
google_meet,
microsoft_teams,
zoom,
zoom_personal,
in_person,
phone,
other
location
string | null
required
personEmail
string<email>
required
additionalAttendees
string[]
required
cancellationReason
string | null
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required