Google Meet for VILT sessions
EmbayLMS can automatically create a Google Meet link when you schedule a VILT (virtual instructor-led) session — the Google equivalent of the Zoom integration. You connect it under Settings → Integrations → Video Conferencing → Connect account → Google Meet.
Because Meet links are created through the Google Calendar API, EmbayLMS connects using a Google Cloud service account with domain-wide delegation (a server-to-server credential — no per-user “Sign in with Google” pop-up). You’ll paste the service-account JSON key and the email of the Workspace user whose calendar will host the meetings.
Requirement: a Google Workspace domain you administer. This does not work with personal
@gmail.comaccounts.
Step 1 — Create a service account + key
- In the Google Cloud Console, create (or pick) a project and enable the Google Calendar API (APIs & Services → Library → Google Calendar API → Enable).
- APIs & Services → Credentials → Create credentials → Service account. Give
it a name (e.g.
embaylms-meet) and create it. - Open the service account → Keys → Add key → Create new key → JSON. A
.jsonfile downloads — this is what you’ll paste into EmbayLMS. - On the service account’s Details page, copy its Unique ID (a long number, the client ID) — you’ll need it in Step 2.
Step 2 — Grant domain-wide delegation
- In the Google Admin console → Security → Access and data control → API controls → Domain-wide delegation → Add new.
- Client ID: paste the service account’s Unique ID from Step 1.
- OAuth scopes:
https://www.googleapis.com/auth/calendar.events - Authorize.
This lets the service account act on behalf of users in your domain for calendar events only.
Step 3 — Connect in EmbayLMS
- Go to Settings → Integrations → Video Conferencing.
- Click + Connect account, choose Google Meet.
- Fill in:
| Field | Value |
|---|---|
| Display name | A label for this account (e.g. “Company Google Meet”) |
| Host user email | The Workspace user whose calendar hosts meetings (e.g. meetings@yourcompany.com). The service account impersonates this user. |
| Service account JSON | Paste the entire contents of the JSON key file from Step 1 |
- Click Connect & Verify. EmbayLMS validates the credentials by reading the host user’s calendar; if anything is misconfigured it tells you and nothing is saved. Credentials are encrypted (AES-256-GCM) before storage and are never shown again.
Using it
When you create a VILT session and select this Google Meet account, EmbayLMS creates a Calendar event with a Meet link on the host user’s calendar and stores the join link on the session. Learners see the join link on the session page and in their registration email — exactly like Zoom. Rescheduling a session updates the event; cancelling it deletes the event.
If meeting creation fails (e.g. credentials revoked), the session still publishes — you can paste a join link manually on the session.
Troubleshooting
| Symptom | Cause / fix |
|---|---|
| ”Could not connect to Google Meet” on connect | Check the JSON is complete and valid, the host user email is a real Workspace user, the Calendar API is enabled, and domain-wide delegation is authorized for the calendar.events scope (Step 2). Delegation can take a few minutes to propagate. |
| Connects, but VILT sessions have no Meet link | Confirm the session is VILT (not in-person ILT) and that this Google Meet account is selected on the session. Check the host user’s calendar exists. |
unauthorized_client / access_denied | The Client ID in domain-wide delegation doesn’t match the service account, or the scope is wrong. Re-check Step 2 (use the service account’s Unique ID, scope exactly https://www.googleapis.com/auth/calendar.events). |
| Personal Gmail account | Not supported — domain-wide delegation requires Google Workspace. |