CourseGlade

Live classes — Zoom & Google Meet

Connect Zoom or Google Meet, schedule sessions, and understand reminders and recordings — step by step.

The Zoom and Google Meet addons (Pro) share one live-class engine. Sessions are scheduled from a dedicated Live Classes admin page, students join from inside the course, reminders go out by email, and Zoom cloud recordings sync back afterward.

Before you start

  • The Zoom and/or Google Meet addon active in CourseGlade → Addons
  • Zoom: each instructor needs their own Zoom account and a Server-to-Server OAuth app
  • Google Meet: an admin needs a Google Cloud OAuth app; each instructor signs in with their Google account
  • A public HTTPS site — Google OAuth rejects local domains like *.test (only http://localhost is exempt)

Connect Zoom (per instructor)

Zoom connects per instructor — each host pastes their own app credentials.

  1. Each instructor creates a Server-to-Server OAuth app at marketplace.zoom.us.
  2. Add these scopes to the app: meeting:write:admin, meeting:read:admin, user:read:admin, and recording:read:admin (the last only if your Zoom plan includes cloud recording).
  3. In wp-admin, go to CourseGlade → Live Classes and click Connections (top-right; a yellow dot shows when a provider isn’t connected).
  4. In the Your connections drawer, find the Zoom card and paste Account ID, Client ID, and Client Secret.
  5. Click Connect Zoom. CourseGlade probes the Zoom API and, on success, shows “Connected — authenticated as {email}.” with a Connected badge and a Disconnect button.

Meetings you schedule are created under your own Zoom account.

Google Meet uses one site-level OAuth app (set up by an admin) plus per-instructor sign-in.

Admin — one time:

  1. Create a Google Cloud project with the Calendar API enabled and an OAuth 2.0 client.
  2. In CourseGlade → Settings → Live Classes, open the Google Meet section and paste Client ID and Client Secret.
  3. Copy the Authorized redirect URI shown there into your Google OAuth client’s allowed redirect URIs — it must match exactly.
  4. Requested scopes are calendar.events, openid, and email. While your app is in Google’s “Testing” status, add each instructor’s Google address as a Test user.

Each instructor:

  1. Go to CourseGlade → Live Classes → Connections.
  2. On the Google Meet card, click Connect and complete Google’s consent screen. On return you’ll see “Google account connected.”

If the admin hasn’t added credentials yet, the card reads “Ask an admin to add the Google Meet app credentials in Settings → Live Classes.”

Schedule a session

Scheduling lives on the Live Classes page, not the course editor.

  1. Go to CourseGlade → Live Classes and click New session.
  2. In the New live session dialog, fill in:
    • Title (required)
    • Course (required — the enrolled students who’ll see it)
    • Provider (Zoom or Google Meet)
    • Starts (date and time, in your timezone)
    • Duration (minutes) (minimum 5)
    • Description (optional)
  3. Click Schedule. The button stays disabled until the chosen provider is connected — if it isn’t, an alert “Connect {provider} first” appears with an Open connections button.

Set defaults under Settings → Live Classes: Default provider, Default duration (minutes) (60), Join window before start (minutes) (15, how early the Join button opens), and Reminder before start (minutes) (30).

What students see

On the course page, a Live Sessions section lists upcoming and past sessions with a status of Scheduled, Live now, Ended, or Cancelled:

  • Join now — appears for enrolled students (and the host) once the session is live and inside the join window
  • Watch recording — appears when a recording is available
  • Enroll to join — shown to non-enrolled visitors

The real meeting URL is never exposed in the page; joining goes through a gated, time-checked redirect.

Reminders and recordings

  • Reminder email — a 15-minute cron sends a reminder the configured number of minutes before each session (30 by default).
  • Recording sync — an hourly cron pulls Zoom cloud recordings for ended sessions and attaches them, then can email students.

Three email toggles live in Settings → Email: Live Session Scheduled, Live Session Reminder, and Live Session Recording Ready (“Sent to enrolled students when a session recording is available.”).

Gotchas

  • Zoom recordings need a paid cloud-recording plan — no cloud recording means no recording link, and you must add the recording:read:admin scope.
  • Google Meet has no recordings — Meet stores to Workspace Drive, which isn’t supported, so no recording UI or emails appear for Meet sessions.
  • Zoom is per-instructor; Google Meet is one app + per-instructor consent — don’t expect a single Zoom connection to cover everyone.
  • Redirect URI must match exactly — copy the value printed in Settings; it changes per domain.
  • Local domains break Google OAuth — use a public HTTPS URL.
  • Ended sessions are read-only — you can’t edit a session after it ends.
  • Content Drip to pace recorded lessons between live sessions