Zoom Integration Guide
Last updated: May 14, 2026
This guide explains how to connect, use, and remove the Zoom integration in Guidly. The integration lets Guidly automatically create unique Zoom meetings for confirmed coaching bookings on your account.
1. Overview
Guidly is a scheduling platform for independent coaches. When a coach connects their Zoom account, every confirmed booking on Guidly automatically receives its own unique Zoom meeting URL — generated on the coach's Zoom account via the Zoom API. The unique URL is included in the booking confirmation email sent to the client and added to the Guidly-created Google Calendar event for the session.
This eliminates the need for coaches to manually create Zoom meetings or share a single recurring personal meeting URL with all clients.
2. Prerequisites
- An active Guidly coach account (sign up at guidly.ca)
- A Zoom account (free, Pro, Business, or Enterprise tier all supported)
- Permission to grant OAuth access on your Zoom account. If your Zoom account is managed by an organization, the admin may need to pre-approve the Guidly app from the Zoom Admin Marketplace.
3. Adding the app (connecting Zoom)
- Sign in to your Guidly coach account at guidly.ca.
- From the coach dashboard, click Settings in the sidebar.
- Scroll down to the Zoom integration panel.
- Click Connect Zoom. You will be redirected to Zoom's OAuth authorization page.
- If you are not already signed in to Zoom, you will be prompted to sign in.
- Zoom will display a list of permissions Guidly is requesting. Review them (see Permissions and data handling for details) and click Allow.
- You will be redirected back to Guidly, and the Zoom integration panel will display ✓ Zoom connected — Connected as [your Zoom display name].
4. Enabling Zoom as a meeting mode
Connecting Zoom OAuth gives Guidly permission to create meetings on your behalf, but you also need to indicate that you offer Zoom sessions to your clients. To do this:
- From the coach dashboard, click Schedule in the sidebar.
- Scroll down to the Meeting modes section.
- Check the 📹 Zoom call box. (This checkbox is disabled until you connect Zoom OAuth — by design, to prevent dead Zoom-mode bookings without a way to generate the meeting.)
- Optionally, also check 📍 In-person and fill in the location field if you also offer in-person sessions. When both modes are enabled, clients choose between them at booking time.
- Your changes save automatically. You'll see a brief ✓ Saved indicator.
5. Using the integration
Once Zoom OAuth is connected and Zoom mode is enabled, the integration runs automatically:
When a client books a Zoom session
- A client selects a date and time from your availability calendar.
- If you offer multiple meeting modes, they pick Zoom call from the booking summary's "How will you meet?" picker.
- They click Confirm booking. The booking is created in
pendingstatus. No Zoom meeting is created yet. - You receive an email notification of the booking request.
When you confirm the booking
- From your Bookings tab, find the pending request and click Confirm.
- Guidly calls Zoom's
POST /users/me/meetingsendpoint to create a unique scheduled meeting on your Zoom account:- Topic: "Session with [Client Name]"
- Start time: the booking's date and time, in your configured timezone
- Duration: the booking's duration in minutes
- Waiting room: enabled
- Mute on entry: enabled
- Guidly stores the returned meeting ID and join URL on the booking record.
- The client receives a confirmation email containing the unique Zoom join URL as a prominent "Join Zoom meeting" button.
- If you have Google Calendar sync enabled, the Zoom join URL is also added to the corresponding calendar event's description.
When a booking is cancelled
- From your Bookings tab, click Cancel on the booking.
- Guidly calls Zoom's
DELETE /meetings/{id}endpoint to remove the corresponding Zoom meeting from your account, keeping your Zoom dashboard clean. - The booking's status changes to
cancelled, the meeting ID and join URL are cleared from Guidly, and the client receives a cancellation notification.
6. Removing the app (disconnecting)
You can disconnect Zoom from Guidly at any time. Two ways to do this:
From Guidly
- Sign in to guidly.ca as a coach.
- Go to Settings → scroll to Zoom integration.
- Click Disconnect. Guidly revokes its OAuth token with Zoom and clears the stored credentials.
- If Zoom mode is currently enabled in your Schedule's Meeting modes section, it will be automatically disabled to prevent dead bookings.
From Zoom Marketplace
- Sign in to the Zoom Marketplace.
- Click Manage in the top navigation.
- Click Installed Apps on the left.
- Find Guidly and click Remove.
- Confirm the removal. Zoom revokes Guidly's access to your account.
7. Troubleshooting
"Connect Zoom" redirects me to a Zoom error page
This usually means your organization's Zoom admin has restricted third-party app installs. Ask your admin to pre-approve the Guidly app from the Zoom Admin Marketplace, or use a personal Zoom account.
The Zoom checkbox in Schedule → Meeting modes is greyed out
This indicates Zoom OAuth is not currently connected. Go to Settings → Zoom integration and click Connect Zoom. Once connected, return to the Schedule tab and the checkbox will be enabled.
A client booked a Zoom session but the confirmation email doesn't have a link
The Zoom meeting is created when you (the coach) confirm a pending booking, not when the client initially submits it. Confirm the booking from your Bookings tab and the client will receive a follow-up confirmation email containing the unique Zoom URL.
Settings shows "Zoom connected" but new bookings don't have meeting URLs
Your OAuth refresh token may have expired (this can happen after 90 days of no activity or if you've revoked access from your Zoom account). Disconnect and reconnect from Guidly's Settings page to refresh.
The Zoom join URL in the email doesn't work
If the booking was cancelled, the Zoom meeting was automatically deleted. The URL becomes invalid at that point. Check the booking's status in your Guidly dashboard.
8. Permissions and data handling
Guidly requests four Zoom scopes, all minimal and necessary for the integration to function:
meeting:write:meeting— Create a unique Zoom meeting when a booking is confirmed.meeting:delete:meeting— Delete the corresponding Zoom meeting when a booking is cancelled.meeting:read:meeting— Read the meeting details (join URL, start URL) to include in confirmation emails.user:read:user— Read your Zoom display name and email at connect time, used to confirm the correct account is linked ("Connected as [name]").
Guidly does not access, store, or process meeting recordings, transcripts, participant lists, chat messages, or any other in-meeting content. The full Privacy Policy is available at guidly.ca/privacy.html.
Data is stored encrypted at rest in our PostgreSQL database (Supabase, AES-256 encryption). OAuth tokens are stored per-coach and are deleted when the coach disconnects.
9. Support
Guidly Inc.
Ottawa, Ontario, Canada
Email: support@guidly.ca
We typically respond within 1 business day.