Scheduling
Connect Zoom to selected consultation and service bookings
Product documentation · Reviewed
Connect Zoom to selected bookings
Zoom can create a participant meeting link for your default consultation booking and the service appointment types you select. The connector is implemented for development; live OAuth credentials, the worker and the activation rehearsal remain part of the coordinated setup phase. It does not create meetings while ZOOM_ENABLED is off.
Choose the host and appointment types
Open Calendar → Zoom meetings as the workspace owner. Connect the Zoom user who will host the calls, then review Choose Zoom bookings. Connecting an account alone does not turn on first-time meeting creation.
Select the default consultation, individual service types, or both, and enable Zoom. Eligible future bookings without an existing conference choice can receive a meeting, including reservations made before you enabled this setting. Internal calendar appointments and mini-session holds are excluded.
Enabling Zoom switches off automatic Google Meet and Teams creation for future conference choices. Your calendars still supply availability and can still receive appointment copies. Existing appointments keep their chosen conference provider. If older settings have more than one provider enabled, save one deliberate provider choice before new conference links can be created.
Turning Zoom creation off pauses first-time creation. Existing Zoom meetings continue to follow booking reschedules and cancellations while the account remains connected. To stop all Zoom synchronization, disconnect it.
A worked booking and reschedule
Suppose your Studio consultation service is 30 minutes long. You select it for Zoom and a client reserves May 20 at 10:00 in your booking timezone. The app saves the capacity reservation first. It then sends Zoom the topic, absolute start time, duration and a random booking reference. It does not send private appointment notes, an address, attendees or a client mailing list.
The participant link appears on the client's private Manage booking page after Zoom confirms the meeting. That page already contains the authoritative booking time. Share its private management link only with the person who should manage this reservation.
If the client reschedules to 11:00 through that page, availability is checked again. The app updates the same Zoom meeting. During a pending or conflicting update, the old Zoom link is hidden until the meeting time matches the booking. Cancelling the appointment removes its saved Zoom meeting; a lost delete response is checked against that same meeting ID.
The connector requests a scheduled meeting with a waiting room, no personal meeting ID, no join-before-host and no automatic recording. Your Zoom account's security and plan restrictions still apply. Hosting entitlement, meeting duration limits and account policies must be exercised with the real host during activation.
Understand recovery status
| Status | Meaning and next step |
|---|---|
| Synced | Zoom confirmed the saved booking time and returned a participant link. |
| Uncertain | A create may have succeeded but its response was lost. Use Sync / reconcile now; the app searches the original host's scheduled meetings for the exact booking reference. It never sends another create merely because the first result is missing. |
| Conflict | Zoom's topic or time changed outside the booking. Review both versions, then explicitly approve applying the booking's topic and time to Zoom. |
| Missing | A previously saved Zoom meeting is unavailable. No replacement is created automatically. Review the original Zoom account. |
| Account changed | The saved meeting belongs to another Zoom host. Reconnect that original host to reconcile it. |
| Error | The last operation could not be confirmed. Check the message and reconnect or reconcile as appropriate. |
| Cancelled | No active meeting remains for this cancellation, or cancellation happened before a meeting was created. |
The Zoom app record contains a random WB-… booking reference. If a create response is lost, the reference must remain intact in the meeting's agenda for automatic recovery. A meeting that is missing from Zoom's list, no longer accessible, or stripped of its reference remains held; the app does not guess that it is safe to create again. Even a definite rejected first create is held conservatively for review.
Zoom changes do not move the underlying capacity reservation. To retain a different appointment time, make that change through Scheduling or the client's management page first. The review screen checks the saved connection, local version and current remote version again before an approved update. Avoid simultaneously editing the same meeting in Zoom during review; this connector cannot make two separate systems share one atomic transaction.
Connection and privacy boundaries
Only the workspace owner can connect, select types, disconnect or approve conflict resolution. The OAuth callback is tied to that signed-in owner, the workspace, an expiring state and a PKCE verifier. Saved access and refresh tokens are encrypted. Ordinary API credentials cannot manage this connection.
Disconnecting clears saved credentials, invalidates in-flight synchronization leases and hides participant links in the app. Meetings already in Zoom remain. Reconnect the original host to resume their recovery. To remove Zoom's own authorization grant, also remove the app in Zoom's app management. Switching to a different host pauses new creation and does not move or recreate the old host's meetings.
A Zoom participant join URL is different from its host start URL. This connector accepts supported HTTPS zoom.us participant links and never stores or displays the host start credential. Custom join domains and Zoom Government are outside this implementation. Zoom documents the distinction and its meeting operations in the Meetings API.
OAuth uses a confidential server client, encrypted token storage and PKCE. The exact scopes, redirect URL and account policies must be verified during setup using Zoom's OAuth documentation and confidential-client PKCE guidance. These development tests use deterministic provider responses; they are not evidence of a completed live connection.