VX Agents

API directory · Booking & Scheduling

Zoom Scheduler Bookings

v1.0.0 · 13 endpoints · 0 connections · shared by vx.ai

For consultants, clinics and sales teams that share Zoom Scheduler booking pages: find open slots on a schedule, book a client in, send a single-use booking link, and keep the calendar honest by listing upcoming events, cancelling one or marking a no-show.

Connect this API to an AI agent Browse all specs

What you can do with Zoom Scheduler Bookings via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /scheduler/users/{userId} getSchedulerUser Get a user's Scheduler profile, slug and time zone
GET /scheduler/schedules listSchedules List booking pages (schedules) you own or share
GET /scheduler/schedules/{scheduleId} getSchedule Get a booking page's duration, location and booking rules
GET /scheduler/schedules/{scheduleId}/available_times listAvailableTimes List open time slots on a booking page between two dates
POST /scheduler/attendee bookSlot Book an open slot on a booking page for a client
POST /scheduler/schedules/single_use_link createSingleUseLink Create a booking link that can be used only once
GET /scheduler/events listEvents List booked events in a date range, upcoming or past
GET /scheduler/events/{eventId} getEvent Get one booked event with its time, attendees and status
PATCH /scheduler/events/{eventId} updateEvent Cancel an event, mark an attendee as a no-show or add notes
GET /scheduler/events/{eventId}/attendees/{attendeeId} getEventAttendee Get an attendee's details and answers for a booked event
GET /scheduler/availability listAvailability List availability rules (working hours) for a user
GET /scheduler/availability/{availabilityId} getAvailability Get one availability rule and its working hours
GET /scheduler/teams listTeams List the Scheduler teams a user belongs to

Authentication

zoom_oauth

OAuth 2.0

Scopes: scheduler:read:user scheduler:read:list_schedule scheduler:read:get_schedule scheduler:write:scheduled_event scheduler:write:single_use_link scheduler:read:list_scheduled_events scheduler:read:scheduled_event scheduler:read:scheduled_event_attendee scheduler:update:scheduled_event scheduler:read:list_availability scheduler:read:availability

Zoom OAuth 2.0 (authorization code) for a user-managed Zoom app.

How to get a credential

  1. Sign in to the Zoom App Marketplace (https://marketplace.zoom.us) and choose Develop > Build App > General App.
  2. Set it to User-managed, and add the VX Agents OAuth redirect URL shown on the credential form.
  3. Under Scopes, add the scheduler scopes in the table below.
  4. Copy the Client ID and Client Secret into a VX Agents OAuth2 credential and sign in with the Zoom user who owns the schedules. The user needs a Zoom Scheduler license.

Permissions used

Scope Operations
scheduler:read:user getSchedulerUser
scheduler:read:list_schedule, scheduler:read:get_schedule listSchedules, getSchedule, listAvailableTimes, listTeams
scheduler:write:scheduled_event bookSlot
scheduler:write:single_use_link createSingleUseLink
scheduler:read:list_scheduled_events, scheduler:read:scheduled_event, scheduler:read:scheduled_event_attendee listEvents, getEvent, getEventAttendee
scheduler:update:scheduled_event updateEvent
scheduler:read:list_availability, scheduler:read:availability listAvailability, getAvailability

Common errors

Status Meaning Fix
401 Token expired or revoked Reconnect the credential; access tokens last one hour and are refreshed automatically.
403 Scope missing or no Scheduler license Add the scope above to the app and reconnect.
404 Schedule, event or user not found Use ids from listSchedules / listEvents; the user must own them.
400 Slot not available or bad time Pick a slot returned by listAvailableTimes and send ISO 8601 UTC.
429 Rate limit Wait and retry.

Store it as a VX Agents OAuth2 credential.

Usage guide

Setup

  1. Create a user-managed Zoom General App with the scheduler scopes listed in Authentication, then connect it as a VX Agents OAuth2 credential, signed in as the Zoom user who owns the booking pages. That user needs a Zoom Scheduler license.
  2. Call listSchedules once and pin the schedule_id of the booking page the agent should use (for example "30 min consultation"). Pin the client-facing time_zone (IANA, e.g. Europe/London) too.

Book a client

  1. getSchedule to read the page's duration, location and booking rules.
  2. listAvailableTimes with scheduleId, from and to (ISO 8601 UTC, e.g. 2026-10-21T00:00:00Z) and time_zone. Offer the client a few of the returned slots.
  3. Confirm slot, time zone, name and email with the client, then bookSlot with schedule_id, start_date_time (a slot from step 2, UTC), duration in minutes (match the schedule), booker (email, first_name, last_name, optional phone_number for SMS reminders) and time_zone.
  4. The response is the booked event with its status and attendee; read the event back to the client.
  5. If the client should pick a time themselves, createSingleUseLink with schedule_id and send them the returned scheduling_url (it works once).

Manage booked events

  1. listEvents with from / to (and show_deleted=true to include cancelled ones) for the day or week; page with next_page_token.
  2. getEvent and getEventAttendee for details and the booker's answers.
  3. Cancelling notifies the client: confirm first, then updateEvent with {"status": "cancelled"}. To record a no-show, send attendees with the attendee email and "no_show": true. meeting_notes (max 1024 characters) adds notes.
  4. updateEvent cannot move an event; to reschedule, cancel it and book a new slot after the client agrees.

Good to know

  • All times in requests are ISO 8601 / RFC 3339 in UTC; time_zone only changes how times are shown.
  • listAvailability / getAvailability show the host's working-hour rules; use them to explain why a day has no slots.
  • getSchedulerUser returns the user's slug, scheduling_url and time_zone.
  • Deleting schedules, events or availability is not part of this spec.

Source: Zoom Scheduler API reference (https://developers.zoom.us/docs/api/scheduler/), checked 2026-10-20.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Zoom Scheduler Bookings” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs