The Connections page at /mentor/settings/connections is where you link your calendar and video providers to MoveMentors. Three integrations live there today: Google Calendar (with Meet), Apple Calendar, and Zoom.
What each connection does
| Provider | What it reads | What it writes |
|---|---|---|
| Google Calendar and Meet | Your busy times from the calendar you select | New online-class bookings appear on your calendar with a Google Meet join link |
| Apple Calendar | Your busy times from iCloud | Nothing back to iCloud (Apple's API doesn't support it the way Google's does) |
| Zoom | Nothing | When a booking confirms on a class set to Zoom, we create a meeting on your Zoom account |
You can connect any combination. If you connect both Google and Zoom, you'll be able to pick per class which video provider hosts it.
Google Calendar and Meet
Go to /mentor/settings/connections
The Connections page in your mentor dashboard.
Click 'Connect Google'
You'll redirect to Google's OAuth consent screen.
Pick your Google account and grant permission
We request two scopes: read your calendar events (for busy times) and create events (for bookings and Meet links). Nothing more.
Pick a calendar (if you have multiple)
We default to your primary. If you'd rather use a dedicated "MoveMentors" calendar, create it in Google Calendar first, then switch to it from the connections page.
Once connected, any class you mark as online will automatically generate a Google Meet link when a student books. The link goes in the confirmation email, on the booking confirmation page, and in your Google Calendar event for that session.
Apple Calendar
Apple doesn't offer OAuth for third-party calendar access. Instead you generate an "app-specific password" from your Apple ID account and paste it into MoveMentors. Two-factor authentication on your Apple ID must be enabled before you can create app-specific passwords.
Sign in at appleid.apple.com
Use the same Apple ID you use for iCloud Calendar.
Open 'Sign-In and Security'
In the sidebar.
Click 'App-Specific Passwords'
If you don't see this option, two-factor authentication isn't enabled on your account. Turn it on first (Settings → 'Account Security' → 'Two-Factor Authentication') and come back.
Click 'Generate an app-specific password'
Or the '+' button.
Label it 'MoveMentors' and click Create
Apple may ask you to re-enter your Apple ID password to confirm.
Copy the password Apple shows you
It looks like
xxxx-xxxx-xxxx-xxxx. You'll see it only once, and Apple doesn't let you view it again. If you lose it, generate a new one and revoke the old.Back in MoveMentors, go to /mentor/settings/connections
Click 'Connect Apple'. Enter your Apple ID email and the app-specific password you just copied. Click Connect.
If the connect fails, the most common reasons are:
- Wrong password format: must be the
xxxx-xxxx-xxxx-xxxxapp-specific password, not your real Apple ID password. - Two-factor not enabled: see Step 3.
- Password expired or revoked: Apple invalidates app-specific passwords when you change your Apple ID password or revoke them manually. Generate a new one.
Zoom
The MoveMentors Zoom integration creates a Zoom meeting on your account whenever a booking confirms for a class you've set to Zoom as its video provider. Adding, using, and removing the app are all initiated from MoveMentors.
Add Zoom (Connect)
You need a Zoom account
A free Zoom account works (40-minute cap on group meetings). A paid Pro plan removes the cap. Sign up at zoom.us if you don't have one.
Go to /mentor/settings/connections and click 'Connect Zoom'
You'll redirect to Zoom's OAuth consent screen.
Grant the requested permissions
Three scopes: create meetings on your account (
meeting:write:meeting), read meeting details (meeting:read:meeting), and read your basic profile (user:read:user) so the meeting host info is accurate. Nothing else.You're done
You'll redirect back to MoveMentors with the Zoom row showing 'Connected as <your name>'.
Use Zoom (per class)
For each online class you create, you can pick Google Meet or Zoom as the video provider. If you only connected one of the two, that one is used automatically, with no picker shown.
When a student books a Zoom-backed class, MoveMentors:
- Creates a scheduled meeting on your Zoom account (type 2: scheduled, join-before-host enabled, no waiting room).
- Stores the meeting URL on the booking.
- Sends the join URL in the booking confirmation email.
- Shows the URL on the student's booking confirmation page and on your manage-session page.
Each session of a recurring class gets its own scheduled meeting.
Remove Zoom (Disconnect)
Go to /mentor/settings/connections
The Connections page.
Click 'Disconnect' on the Zoom row
We immediately delete the encrypted Zoom tokens from our database and stop creating new meetings.
Optionally revoke from Zoom too
Sign in at marketplace.zoom.us → 'Manage' → 'Added Apps' → revoke MoveMentors. This removes our app from your installed-apps list on Zoom's side.
Past meetings that were already created on your Zoom account stay there; we don't delete them retroactively. If you want to clean those up, do it from your Zoom account.
What credentials we store
- Google: an OAuth refresh token and access token. Encrypted at rest with AES-256-GCM. We refresh access tokens automatically without re-prompting you.
- Apple: your Apple ID email and the app-specific password. Encrypted at rest with AES-256-GCM. Used for CalDAV requests to
caldav.icloud.com. - Zoom: an OAuth refresh token and access token. Encrypted at rest with AES-256-GCM. Zoom rotates refresh tokens on every refresh; we re-persist on every rotation.
Nothing is ever logged in plaintext, sent over insecure connections, or shared with anyone. You can revoke access at any time from the provider's account settings:
- Google: myaccount.google.com → Security → Third-party apps
- Apple: appleid.apple.com → App-Specific Passwords → revoke the MoveMentors one
- Zoom: marketplace.zoom.us → Manage → Added Apps → revoke MoveMentors
What syncs and when
- New booking confirms → Meet or Zoom link minted, calendar event added (for online classes on Google), confirmation email goes out
- Booking gets cancelled → calendar event removed (Google only; Apple is read-only from our side)
- Class schedule moves → the event on your calendar moves (Google only)
- You disconnect → existing events stay on your calendar; we stop pushing new ones; encrypted credentials are deleted
Updates happen in near-real-time via background jobs.
Common questions
Can I sync to Outlook? Not natively yet. Workaround: subscribe to your MoveMentors teaching schedule .ics feed from the Connections page (see "For other calendar apps" at the bottom of the page). That works in Outlook, Fastmail, ProtonCalendar, or any calendar app that supports webcal subscriptions.
My calendar events appear in the wrong timezone. Most likely your calendar account's timezone differs from the class's timezone. The event itself is stored in the class's timezone (correct); your calendar displays it converted to your account timezone (correct). They look "off" when you've travelled. Fix the calendar app's timezone if you've permanently moved.
Sync stopped working / events stale. Most common cause: token expired or was revoked. Go to /mentor/settings/connections; the affected provider's row shows "Not connected". Reconnect.
Can my in-person bookings appear on my calendar too? Right now Google only writes online-class bookings to your calendar (so the Meet link lives on the event). For in-person classes, subscribe to your teaching schedule .ics feed (Connections page → bottom), which includes everything you teach.
40-minute Zoom limit getting in the way? Zoom's free tier caps group meetings at 40 minutes. Options: upgrade your Zoom to Pro (about $15/month) to remove the cap, or switch the class to Google Meet (which has no time cap in the free Google tier).
Next steps
- Schedules and recurring: how to set your class times.
- Calendar sync for students: the student-facing equivalent.