Skip to main content
Creates a new appointment booking with a specified host for a given meeting type and time slot.

Endpoint

Request Headers

Request Body

Required Fields

Attendee Object

*Not required when phoneOnlyBooking is true and the meeting type has allowPhoneOnlyBooking enabled. In this case, phone becomes required instead. See Voice AI Bot for details.

Optional Fields

Examples

Basic Booking

With Form Fields and Video Conferencing

Custom Calendar Invite

Use icsTitle and icsDescription to override the calendar invite content for a specific booking. If not provided, the meeting type’s configured title and description are used. This is useful for chatbot or AI assistant integrations where you have conversation context to include in the invite.

UTM Tracking

Pass UTM parameters in attendee.notes to track the source of a booking. These values are stored on the attendee and can be synced to CRM fields.
Supported UTM keys: utm_source, utm_medium, utm_campaign, utm_content, utm_term. See Sync with CRM for configuring UTM field mappings in Salesforce.

Response

Success (201 Created) - Standard Booking

Store the secret securely. It’s required to cancel or reschedule the appointment without authentication.

Success (201 Created) - Double Opt-In

If the meeting type requires confirmation:

Error Responses

400 Bad Request - Time Slot Unavailable

400 Bad Request - Missing Host

400 Bad Request - Invalid Duration

Webhooks

When a booking is created, meetergo sends a booking_created webhook event:

Notes

  • Use Get Booking Availability first to find available slots
  • For round-robin meeting types, provide queueId instead of hostIds to let the system select the next available host
  • If double opt-in is enabled, the attendee must confirm via email before the appointment is finalized

Get Booking Availability

Find available time slots

Create User

Create a schedulable user