Skip to content

Booking triggers ​

Read recent matching bookings for a specific page or all pages owned by the connected user. Use these endpoints to preview booking data and load samples while configuring your integration.

Recent records, not an event log

These endpoints filter bookings by their current status. A booking that has since been cancelled or rescheduled is no longer returned by the new bookings endpoint. Use webhook subscriptions for live events.

Query parameters ​

All three endpoints accept the same optional query parameters. Send no request body.

ParameterTypeDefaultDescription
booking_page_idstringAll owned pagesA non-empty booking page ID from booking pages. The page must belong to the connected user and must not be deleted.
limitinteger100Maximum records to return, from 1 to 500 inclusive.

Omit booking_page_id to include all owned pages. An empty string is invalid. These endpoints do not support cursor or offset pagination, date-range filters, or a total count. limit only controls the most recent matching records.

New bookings ​

GET/v1/triggers/new-bookingsBearer token

Returns bookings with current status booked, ordered by created_at descending.

sh
curl --get 'https://api.meetzi.co/v1/triggers/new-bookings' \
  --header "Authorization: Bearer $MEETZI_API_KEY" \
  --data-urlencode 'booking_page_id=33333333-3333-4333-8333-333333333333' \
  --data-urlencode 'limit=10'

200 OK

json
{
  "data": [
    {
      "booking_id": "55555555-5555-4555-8555-555555555555",
      "booking_page_id": "33333333-3333-4333-8333-333333333333",
      "booking_page_name": "Discovery Call",
      "booking_page_slug": "discovery-call",
      "assigned_user_id": "11111111-1111-4111-8111-111111111111",
      "assigned_user_name": "Alex Morgan",
      "assigned_user_email": "alex@example.com",
      "guest_fullname": "Jamie Taylor",
      "guest_email": "jamie@example.com",
      "language": "en",
      "date": "2026-10-05",
      "start_datetime": "2026-10-05T14:00:00.000Z",
      "end_datetime": "2026-10-05T14:30:00.000Z",
      "duration": 30,
      "status": "booked",
      "approval_status": null,
      "meeting_option_type": "video",
      "meeting_option_provider": "google_meet",
      "meeting_option_url": "https://meet.google.com/example",
      "meeting_option_location": null,
      "meeting_option_instructions": null,
      "meeting_option_phone": null,
      "created_at": "2026-09-30T13:00:00.000Z",
      "updated_at": "2026-09-30T13:00:00.000Z",
      "answer_44444444-4444-4444-8444-444444444444": "A new project"
    }
  ]
}

See the booking payload field reference for every field.

Cancelled bookings ​

GET/v1/triggers/cancelled-bookingsBearer token

Returns bookings with current status cancelled, ordered by cancelled_at descending.

sh
curl --get 'https://api.meetzi.co/v1/triggers/cancelled-bookings' \
  --header "Authorization: Bearer $MEETZI_API_KEY" \
  --data-urlencode 'limit=10'

200 OK

json
{
  "data": [
    {
      "booking_id": "55555555-5555-4555-8555-555555555555",
      "booking_page_id": "33333333-3333-4333-8333-333333333333",
      "booking_page_name": "Discovery Call",
      "booking_page_slug": "discovery-call",
      "assigned_user_id": "11111111-1111-4111-8111-111111111111",
      "assigned_user_name": "Alex Morgan",
      "assigned_user_email": "alex@example.com",
      "guest_fullname": "Jamie Taylor",
      "guest_email": "jamie@example.com",
      "language": "en",
      "start_datetime": "2026-10-05T14:00:00.000Z",
      "end_datetime": "2026-10-05T14:30:00.000Z",
      "duration": 30,
      "status": "cancelled",
      "cancelled_at": "2026-10-01T09:00:00.000Z",
      "cancellation_reason": "I am unavailable at this time.",
      "cancelled_by": "guest",
      "created_at": "2026-09-30T13:00:00.000Z",
      "updated_at": "2026-10-01T09:00:00.000Z",
      "answer_44444444-4444-4444-8444-444444444444": "A new project"
    }
  ]
}

Cancellation payloads include cancellation details. They omit date, approval_status, and all meeting_option_* fields.

Rescheduled bookings ​

GET/v1/triggers/updated-bookingsBearer token

Returns bookings with current status rescheduled, ordered by updated_at descending with null timestamps last. Despite the endpoint name, this is the sample endpoint for Booking Rescheduled.

sh
curl --get 'https://api.meetzi.co/v1/triggers/updated-bookings' \
  --header "Authorization: Bearer $MEETZI_API_KEY" \
  --data-urlencode 'limit=10'

200 OK

json
{
  "data": [
    {
      "booking_id": "55555555-5555-4555-8555-555555555555",
      "booking_page_id": "33333333-3333-4333-8333-333333333333",
      "booking_page_name": "Discovery Call",
      "booking_page_slug": "discovery-call",
      "assigned_user_id": "11111111-1111-4111-8111-111111111111",
      "assigned_user_name": "Alex Morgan",
      "assigned_user_email": "alex@example.com",
      "guest_fullname": "Jamie Taylor",
      "guest_email": "jamie@example.com",
      "language": "en",
      "start_datetime": "2026-10-06T15:00:00.000Z",
      "end_datetime": "2026-10-06T15:30:00.000Z",
      "duration": 30,
      "status": "rescheduled",
      "approval_status": null,
      "meeting_option_type": "video",
      "meeting_option_provider": "google_meet",
      "meeting_option_url": "https://meet.google.com/example",
      "meeting_option_location": null,
      "meeting_option_instructions": null,
      "meeting_option_phone": null,
      "updated_at": "2026-10-01T09:00:00.000Z",
      "created_at": "2026-09-30T13:00:00.000Z",
      "answer_44444444-4444-4444-8444-444444444444": "A new project"
    }
  ]
}

Rescheduling payloads contain the current appointment time, not a before/after diff. They omit the date field used in new booking payloads.

Empty results & errors ​

No owned pages or no matching bookings returns 200 OK with { "data": [] }.

StatusMeaning
400Invalid query, such as an empty page ID or limit outside 1–500.
401Missing, invalid, or revoked API key.
404Booking page not found: the selected page is missing, deleted, or owned by someone else.
500Authentication failure or failure to load booking data.

Validation error messages are Invalid Zapier booking trigger query, Invalid Zapier cancelled booking trigger query, or Invalid Zapier updated booking trigger query, respectively. See errors & limits for response formats and exact server error messages.