Zoom

Usage

Choose meeting reads, archives or remote controls and understand their output and effects.

Read a stored meeting, open its transcript and export the parts you need. This guide helps you choose the right command and recognize whether it reads local data, contacts Zoom or changes something. Install and connect first if no meetings have been imported or pulled.

Read your first meeting

zm meetings list --json
zm meetings show <meeting-id> --json
zm meetings transcript <meeting-id> --json
zm meetings summary <meeting-id> --json

Replace <meeting-id> with an ID from the list. Check the date and title before relying on its text. A missing summary or transcript means that part was not supplied, not that nothing was discussed. Stored reads use your selected local profile and do not fetch newer Zoom data. Use the archive guide to retrieve missing periods or import files.

To save a portable copy of the available content:

zm meetings export <meeting-id> --format markdown --json

Read the returned export before saving it to a file. MCP can return exports as text but does not write files. Search and evidence keeps exact passage references when you need citations.

Choose local or remote data

NeedCommand familyWhere it works
Read saved transcripts and evidencemeetings, events, searchLocal shared database
Retrieve hosted meeting datapull, API watchZoom to local database
Import transcript filesimport, folder watchLocal files to database
Back up available recording assetsrecordingsZoom to the destination you name
Read the Zoom schedule or change a meetingremote-meetingsZoom account

A successful local read does not prove Zoom still has the same content. A successful cloud download does not import that transcript into the meeting database until you request archive import.

Commands

CommandPurpose
config showshow local configuration
config set <key> <value>configure the public client or file source
login [--browser <program>]approve access through your browser
commands --jsondiscover command arguments, flags and examples
complete -- <words...>answer shell completion requests
doctorinspect local runtime and public config without login or database access
session statusinspect saved OAuth state separately from local data profiles
import <folder>import downloaded transcripts into the selected local profile
pull [--since <date>]fetch occurrences from the configured source
meetings list, meetings show <meeting>read stored meetings
meetings transcript <meeting>read current transcripts
meetings summary <meeting>read stored summaries
meetings export <meeting> --format markdown|vttexport stored meeting content
meetings search <query>, meetings people <query>find stored text or participants
meetings search-page <query>, meetings search-indexbounded hit continuation and explicit keyword indexing
meetings link-event <reference>, meetings link-person <reference>preview or apply owner-selected stored links
meetings transcribe <meeting> <file> --model <model>preview or locally recognize a WAV file into an independent transcript
meetings evidence <reference>, meetings context <person>read bounded evidence or identity-linked person context
meetings task-proposal <reference> --kind <kind>preview a task with meeting provenance
meetings semantic <query> --model <id>rank scanned stored vectors with an explicit query model
meetings embeddings --model <id>preview local vector generation; --yes applies one bounded batch
search all <query>search meetings by default, or explicitly selected shared resources
events listread stored events
watch [folder] --source api|files --jsonlrepeatedly ingest the configured source in the foreground
recordings list, recordings show <meeting>discover cloud recordings and asset metadata
recordings download <meeting> --destination <directory>archive available recording files
recordings sync --from <date> --to <date> --destination <directory> --jsonlarchive recording history across calendar months
recordings schedule create|list|show|run|disableplan and manage local daily archive jobs
recordings archive inspect|verify|locks <directory>inspect local manifests, checksums or locks
recordings archive recover <directory>preview recovery of stale local locks
recordings archive transcript <directory>read verified archived WebVTT cues without a database
recordings archive search <directory> <query>search verified archived cue text without a database
recordings archive import <directory>verify archived VTT assets and append them to stored occurrences
remote-meetings list|show|invitationread upcoming Zoom meetings and invitations
remote-meetings create|update|cancelpreview or apply a simple Zoom meeting change
serve --mcpserve read-only stored meeting tools over MCP stdio
skill show, skill install --for agentsprint or explicitly install the packaged agent guide

Stored meetings commands use local database ids; remote-meetings uses Zoom's numeric ids. Managing Zoom meetings covers the write commands.

Output for scripts and agents

Use --json for one JSON value or --jsonl for one item per line. Errors go to stderr. Use --quiet to suppress non-error diagnostics. Piped output defaults to JSON; terminal output uses the shared human-readable renderer. Completion emits its shell protocol unless JSON is requested.

Use --fields id,title to select result fields. --offline refuses network requests. Finite commands buffer successful output until resource cleanup completes, with a default output limit of 4 MiB; --max-output-bytes 0 removes that limit.

Deadlines and cancellation

--timeout <milliseconds> sets a positive whole-command deadline. Durations also accept units such as 30s, 5m and 1h. Defaults are 30 seconds for reads, five minutes for login and one hour for recording downloads, sync and archive verification. Foreground watching and MCP serving have no default deadline. Cancellation waits for active operations and cleanup; an injected operation that ignores its signal can delay shutdown.