Zoom Meetings Plugin: Join as Guest in Chrome
This page covers the zoom-meetings plugin that joins Zoom meeting links as a guest using the Zoom Web App in OpenClaw's Chrome profile. It is intended for users who need to join Zoom meetings without creating them or using the Zoom SDK.
Read this when
- You want an OpenClaw agent to join a Zoom meeting
- You are configuring Chrome, BlackHole, or SoX for Zoom meeting talk-back
The zoom-meetings plugin joins Zoom meeting links as a guest using the Zoom Web App inside the OpenClaw Chrome profile. It accepts meeting links under zoom.us/j/... and account subdomains like example.zoom.us/j/.... It does not create meetings, dial in, use the Zoom Meeting SDK, or capture audio or video recordings.
Setup
Talk-back requires the same local audio setup as the Google Meet plugin: macOS, the BlackHole 2ch virtual audio device, and SoX.
brew install blackhole-2ch sox
sudo reboot
system_profiler SPAudioDataType | grep -i BlackHole
command -v sox
The plugin is included and enabled by default. Add an entry only if you want to customize it, then verify the configuration:
{
plugins: {
entries: {
"zoom-meetings": {
config: {
defaultMode: "agent",
chrome: { guestName: "OpenClaw Agent" },
},
},
},
},
}
Run openclaw plugins disable zoom-meetings if you do not want the plugin active.
openclaw zoommeetings setup
openclaw zoommeetings join 'https://zoom.us/j/1234567890'
Use chromeNode.node to launch Chrome, BlackHole, and SoX on a paired macOS node. The node must allow zoommeetings.chrome and browser.proxy.
Modes
| Mode | Behavior |
|---|---|
agent | Realtime transcription queries the configured OpenClaw agent; TTS replies. |
bidi | A realtime voice model listens and responds directly. |
transcribe | Observe-only join with live-caption transcript snapshots. |
Zoom live captions are enabled after admission in every mode so OpenClaw can persist meeting notes. The transcript action still returns the bounded live buffer only for transcribe sessions. On leave, OpenClaw stores the durable transcript and derived summary in the shared state database; list or export them with openclaw transcripts.
Automatic notes are enabled by default. Set transcripts.enabled: false to disable durable notes globally; explicit transcribe mode still exposes only its bounded live tail.
Guest join limits
The browser adapter selects Join from browser, fills in the guest name, turns the camera off, configures the microphone for the chosen mode, and clicks Join. Zoom Web App runs under app.zoom.us; the plugin grants that origin microphone and speaker-selection permissions before navigation. In-call state uses Zoom's Leave control. Lobby, sign-in, passcode, CAPTCHA, and device-permission states return explicit manual-action reasons.
Zoom host and account policy can disable browser join, require authentication or email verification, show a CAPTCHA, or require host admission. Complete that step in the OpenClaw Chrome profile, then retry status or speech. The plugin does not bypass Zoom policy.
The Zoom Web App has been live-validated with an official Zoom test meeting for the app interstitial, iframe guest-name entry, prejoin microphone and camera controls, join, browser and macOS media permissions, in-call detection, live-caption enablement, and host-ended detection. Lobby and authentication states depend on host policy and retain text fallbacks when no stable DOM identifier is available.
Tool and gateway surface
The zoom_meetings agent tool supports join, leave, status, transcript, and speak. Gateway methods use the zoommeetings.* prefix. The node command is zoommeetings.chrome.