Google Workspace · Admin guide — Elsa Meeting Companion
For admins · Google Workspace

Roll out Meeting Companion to your whole team in one Google install

Authorize ELSA once for your Google Workspace domain and every eligible learner on your ELSA for Business plan gets automatic post-meeting feedback for Google Meet — with no per-user OAuth prompt.

Who this guide is for

You should follow these steps if all of the below are true:

1

You’re a Google Workspace admin

You can authorize apps and manage Domain-Wide Delegation in the Google Admin console for your organization.

2

You have ELSA for Business

Meeting Companion’s Workspace-level setup is on the B2B plan. Individual accounts use the learner guide instead.

3

You manage learners in ELSA

You have an admin seat at app.elsaspeak.com/business.

📅
Google Workspace connect is rolling out in the ELSA admin console — if the Google row in your Web Conferencing settings still shows Coming Soon, your ELSA CSM can enable it for your organization and walk you through the setup below.

What the Workspace install unlocks

One domain-level authorization (Google Workspace Domain-Wide Delegation) covers every learner on your ELSA for Business plan. No individual OAuth prompt, no per-user setup.

Capability Workspace install (this guide) Per-learner OAuth
Meeting audio capture (Meet Media API) Domain-wide Per-user
Bot join for live sessions Any domain member Per-user
Calendar sync (upcoming meetings) All learners on the plan Per-user
Directory-based learner mapping Automatic (read-only directory) Not available
Live in-call coaching Not available Available on request
Live in-call coaching is not part of the Workspace-level setup. If your team needs it, individual learners complete a one-time per-user authorization on top of your Workspace install. Post-meeting analysis works either way.

Enable ELSA on your Google Workspace

The whole flow takes about ten minutes, including the Google Admin console step.

1

Sign in to the ELSA admin console

Open app.elsaspeak.com/business and log in with your ELSA admin account.

2

Go to Settings → Integrations → Web Conferencing

In the left sidebar, choose Settings, then the Integrations tab, then the Web Conferencing section.

3

Click “Connect Google Workspace”

ELSA shows you the connection details for your domain: the ELSA service-account client ID and the exact scope list to authorize. Keep this tab open — you’ll paste these values into Google in the next step.

4

Authorize ELSA in the Google Admin console

In admin.google.com, go to Security → Access and data control → API controls → Domain-wide delegation, click Add new, and paste the ELSA client ID plus the scope list from step 3. Every scope is read-only:

  • Basic profile and email — identify each learner’s account
  • Calendar (read-only) — detect upcoming Meet calls
  • Meet space info (read-only) — find the right meeting
  • Meet audio (read-only) — generate speaking feedback
  • Directory (read-only) — map meeting participants to your Workspace users
5

Verify the connection

Back in ELSA, click Verify. The Web Conferencing row for Google will show Connected · <your domain> and the Learners Synced panel starts filling in. From here you can also enable per-department reporting.

6

Assign learners

Under People → Groups, decide who is eligible for Meeting Companion. Any learner in an enabled group whose ELSA email matches a Workspace directory entry will start getting reports automatically after their next Google Meet call.

Your learners never see an OAuth prompt for Google. As long as the meeting is on your connected Workspace domain and the participant is on the ELSA plan, ELSA can process the meeting.

Managing learners & seats

👥

SSO or bulk invite

Provision learners via SAML SSO, SCIM, CSV upload, or email-domain auto-provisioning from the People tab.

📊

Group-level reporting

Create groups (team, department, cohort) and see aggregated speaking-time, pronunciation, and improvement trends.

🔒

Learner-level opt-out

Individual learners can pause Meeting Companion any time. Admins see a coverage indicator, never the raw audio.

📩

Weekly digests

Automatic PDF digests to your inbox plus a CSV export endpoint on the API.

For developers · API

Every action in the admin console is backed by a public REST API. Use it to sync ELSA state into your own HRIS, LMS, or BI stack.

Base URL & authentication

The production base URL is https://api.elsaspeak.com. Requests authenticate with an admin bearer token issued from the admin console (Settings → API keys → Generate). Treat this token like any other admin credential — it grants read access across your whole workspace.

curl -H "Authorization: Bearer $ELSA_ADMIN_TOKEN" \
     https://api.elsaspeak.com/meetings?platform=google&type=past

Endpoints most admins use

Endpoint Method Purpose
/oauth/providers GET List all connected conferencing providers for the workspace and their health status.
/meetings GET List meetings across your workspace. Filter with ?platform=google, ?type=past|upcoming, ?user_id=…, or an ISO time range.
/meetings/{id} GET Full meeting metadata including participants and recording availability.
/meetings/{id}/participants GET Enumerate participants for a meeting.
/recordings/{recording_id}/audio GET Download the raw audio (WAV/WebM) — subject to your retention policy.
/meetings/{id}/participants/{pid}/analyze GET Fetch the cached feedback report (score 0–100 plus structured JSON).
/meetings/{id}/participants/{pid}/analyze POST Force a re-analysis (e.g. after adjusting a learner’s target CEFR level).

Webhooks

Subscribe to meeting.analyzed to receive a POST when a learner’s report is ready — useful for pushing scores into an LMS or triggering follow-up training. Configure your endpoint in Settings → Webhooks.

📘
Full OpenAPI spec, rate limits, and per-endpoint samples are in the developer portal at app.elsaspeak.com/business/developers. Sandbox tokens are free for admins on any B2B plan.

Data, privacy & compliance

🔐

Encrypted at rest & in transit

Audio and transcripts are AES-256 encrypted at rest and served exclusively over TLS 1.2+.

🎯

Only the speaker’s segments

ELSA analyzes each learner’s own speech. Other participants’ audio is used solely to separate speakers.

📅

Configurable retention

Default 90-day retention on raw audio. Feedback reports persist per your plan. Custom windows on Enterprise.

SOC 2 · GDPR · DPA

Signed DPAs, sub-processor list, and SOC 2 Type II report available on request from your ELSA CSM.

📘
ELSA’s use of Google user data follows the Google API Services User Data Policy, including the Limited Use requirements — no ads, no selling data, no training generalized AI models. The full Domain-Wide Delegation scope list is disclosed in our Privacy Policy.

Troubleshooting

Google Admin console says I can’t add domain-wide delegation.

You need a Google Workspace super-admin (or an admin role with API-controls privileges) to authorize domain-wide delegation. Ask your Workspace super-admin to complete step 4, or have them grant your account the required admin role first.

I connected Google but learners aren’t seeing meetings in ELSA.

Check three things: (1) the learner is in a group that has Meeting Companion enabled; (2) their ELSA account email matches their Workspace directory email; (3) the meeting had a Google Meet link on a calendar in your connected domain, not a personal Google account. Everything else is automatic.

Can I connect multiple Workspace domains?

Yes. Repeat the setup for each domain — the admin console shows one row per connected domain. Learners are matched to the correct domain automatically via the directory lookup.

How do I uninstall / revoke ELSA?

Either remove the ELSA client ID from Domain-wide delegation in the Google Admin console (Google side) or hit Disconnect next to the Google row in ELSA admin (ELSA side). Either action stops all further sync within minutes.

Where do I see who’s actually using Meeting Companion?

The admin console’s Adoption dashboard shows daily active learners, meetings processed, and per-group coverage. The same numbers are available via the API under /analytics/adoption.

What happens if a learner leaves the company?

Deactivate them in your SSO or Workspace directory (or in the ELSA admin console). ELSA immediately stops processing meetings for them and their existing reports become read-only, honoring your retention window.

Next steps

Ready to deploy Meeting Companion across your team? Sign in to the admin console or reach out to sales for a security review, custom scopes, or on-prem deployment.