Roll out Meeting Companion to your whole team in one install
Authorize ELSA once for your Zoom workspace and every eligible learner on your ELSA for Business plan gets automatic post-meeting feedback — with no per-user OAuth prompt.
Who this guide is for
You should follow these steps if all of the below are true:
You’re a Zoom workspace admin
You can approve apps in the Zoom Marketplace on behalf of your organization.
You have ELSA for Business
Meeting Companion’s admin-managed install is on the B2B plan. Individual accounts use the learner guide instead.
What the admin install unlocks
One workspace-level authorization covers every learner on your ELSA for Business plan. No individual OAuth prompt, no per-user setup.
| Capability | Admin install (this guide) | Per-learner OAuth |
|---|---|---|
| Cloud recording ingest (post-meeting) | Workspace-wide | Per-user |
| Bot join for live sessions (Meeting SDK) | Any workspace member | Per-user |
| Calendar sync (upcoming meetings) | All learners on the plan | Per-user |
| Member reads (users, participants, recordings) | Workspace-scoped | Per-user |
| Real-time transcription (RTMS) | Not available | Supported |
Install ELSA on your Zoom workspace
The whole flow takes about five minutes.
Sign in to the ELSA admin console
Open admin.elsaspeak.com and log in with your ELSA admin account.
Go to Settings → Integrations → Web Conferencing
In the left sidebar, choose Settings, then the Integrations tab, then the Web Conferencing section.
Click “Connect Zoom Workspace”
ELSA sends you to Zoom’s admin consent screen. Sign in with a Zoom account that has admin privileges on the workspace.
Approve the ELSA app for your workspace
Zoom shows the exact scopes ELSA is requesting (read-only reads on meetings, participants, recordings, and workspace users; admin-in-meeting controls for bot joins). Approve the request. Zoom returns you to the ELSA admin console.
Verify the connection
The Web Conferencing row for Zoom will show Connected · <workspace name> and list the connected admin. From here you can also enable per-department reporting and choose which learner groups get automatic Meeting Companion feedback.
Assign learners
Under People → Groups, decide who is eligible for Meeting Companion. Any learner in an enabled group whose Zoom identity matches a workspace member will start getting reports automatically after their next Zoom 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=zoom&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=zoom, ?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.
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.
Troubleshooting
The Zoom install screen says my account isn’t allowed to approve apps.
You need to be a Zoom workspace admin (owner or admin role) to authorize the ELSA app for your workspace. Ask your Zoom super-admin to complete the install, or grant your Zoom account admin permission first.
I connected Zoom 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 Zoom account email or SSO identity; (3) the meeting was on your connected Zoom workspace, not a personal Zoom account. Everything else is automatic.
Can I install ELSA on multiple Zoom workspaces?
Yes. Repeat the install flow for each workspace — the admin console shows one row per connected workspace. Learners are matched to the correct workspace automatically.
How do I uninstall / revoke ELSA?
Either uninstall the ELSA app from your Zoom Marketplace (Zoom side) or hit Disconnect next to the workspace 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 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.
