The Lab · Vault · Blueprint · About 20 minutes

Your agent runs your Zoom.

One script that runs your Zoom account from the terminal: meetings, recordings, transcripts, chat, phone, reports, users, settings. One account, yours. About twenty minutes, mostly in the Zoom Marketplace.

In plain English

Zoom keeps your meetings, recordings and transcripts behind a website. This blueprint gives your agent one script that talks to Zoom directly. You create one app in the Zoom Marketplace (the part you do in the browser), keep its three credentials on your machine, and from then on you say what you want in plain words: "list my upcoming meetings", "pull last month's transcripts", "what happened in yesterday's calls". Read-only first. Anything that creates, deletes, sends or downloads in bulk waits for your yes.

What you get

zoom-cli.py in a scripts folder on your computer, one Python package, an auth test that proves the connection, and a terminal surface for the major Zoom areas.

Why it matters

Transcripts and recordings become files your agent can read and summarise, instead of clicks in a portal. Reports without the dashboard. Meetings created from a sentence.

How it works

Copy one script, install one package, create a Server-to-Server OAuth app in the Marketplace, keep its three credentials local, run the auth test. Read commands first.

Your seat

You make the Marketplace app and hold the credentials. Your agent runs the read commands; every write, delete, send or bulk download waits for you.

Bring one Zoom account. Here's what it needs.

Perk
No Zoom yet? There's a Zoom deal in the perks library.

Perks come with The Lab and get claimed from your dashboard: no second account, no second login. Open Perks, search for Zoom, read the terms, claim the code. Then come back here.

Open Perks →Search the library for Zoom

One Zoom account you own or administer. The blueprint talks to it through a Server-to-Server OAuth app, which you create in the Zoom Marketplace: it gives you an Account ID, a Client ID and a Client Secret, and you add scopes for the areas you want (meetings, recordings, chat, phone, reports, users, settings). If your plan does not include an area, leave its scopes out and expect those commands to say so.

Two features depend on your plan, not on the script: recordings and transcripts need cloud recording and audio transcripts switched on in the account. If you have never seen a transcript in Zoom's own site, you will not see one here either until that is on.

Never
Never paste the Client Secret into the chat.

Your agent will tell you exactly where to type the three credentials. You type them there, yourself. If a secret ever leaks, rotate it in the Zoom Marketplace right away; the old one stops working the moment you do.

What happens in the twenty minutes?

Five steps. Most of the time is in your browser, in the Marketplace. Here is what goes by on the screen so none of it is a stranger.

  • It copies the script. Into a scripts folder in your home directory, with permissions only you can read, and installs one Python package, requests. There is no Zoom package to install; the script is the tool.
  • You make the app, in the browser. Zoom Marketplace: a Server-to-Server OAuth app, the scopes for the areas you want, activate. Copy the Account ID, Client ID and Client Secret.
  • You type the three credentials, once. Where your agent tells you, on your machine, outside the chat. The script reads them from there.
  • It checks the pipe. An auth test, then a list of your upcoming meetings, your users, a daily report. If the auth test comes back, the connection is real.
  • Then the useful part. Recordings from the last month, transcripts pulled as text files, a daily report your agent can read.
You'll see
These are the real commands, in the order they run.
mkdir -p ~/scripts/zoom-cli
python3 -m pip install requests
cp zoom-cli.py ~/scripts/zoom-cli/zoom-cli.py
python3 ~/scripts/zoom-cli/zoom-cli.py auth test
python3 ~/scripts/zoom-cli/zoom-cli.py meetings list --type upcoming
python3 ~/scripts/zoom-cli/zoom-cli.py recordings list --months 1
python3 ~/scripts/zoom-cli/zoom-cli.py transcripts pull --months 1

A command that answers with a plan or scope message is not broken; that area is not on your plan or not in your app's scopes.

Note
Codex works the same way.

The commands are identical. Copying the script and the auth test touch your files and the network, so in Codex's sandbox those steps ask before they run. Say yes.

What you can ask your agent, from now on

Six asks that work on day one. Copy, paste, read what comes back. The ones that change something say so.

What is coming

Run the Zoom script and list my upcoming meetings, in order, with the join link for each.

Last month, in writing

Pull the transcripts for the last month with the Zoom script, then give me one paragraph per meeting: what was decided, who owes what.

Yesterday, in numbers

Run the daily report with the Zoom script and tell me in plain sentences what happened yesterday: how many meetings, how long, who hosted.

A meeting, from a sentence (changes something)

Create a Zoom meeting called [name] for [when] with the script. Show me the command first and wait for my yes.

Who is on the account

List the users on my Zoom account with the script and tell me who has hosted anything in the last thirty days.

The recordings (downloads files)

List the recordings from the last month. Do not download anything until I say which ones.

Words you now own

  • Server-to-Server OAuth. The kind of Zoom app that lets a script act for your account without a login screen each time. You make it once in the Marketplace.
  • Account ID, Client ID, Client Secret. The three credentials that app gives you. The Secret is the one that must never be seen.
  • Scope. One area the app is allowed to touch, such as meetings or recordings. No scope, no access.
  • Cloud recording. A recording Zoom keeps on its servers. The script can only see these, not ones saved to a laptop.
  • Transcript. The text of a cloud recording, pulled as a .vtt file. Needs audio transcripts switched on in the account.
  • Report. Zoom's own summary of activity: daily meeting stats, who signed in. The script asks for it as text.

Before you pull anything

Three habits the blueprint asks for, because recordings and transcripts are other people's words.

  • Read-only first. List and report before you create, delete, send or download. The first session should change nothing.
  • Treat what you pull as sensitive. A transcript is a meeting. Keep pulled recordings and transcripts out of git and out of anything shared.
  • Only accounts and meetings you are allowed to administer. The script does what the app is allowed to do. That permission is yours to have first.
Never
Never commit the credentials file, a transcript, a recording, an account ID or a phone number.

Your workbench is private, and this is still the rule. The blueprint's placeholders (PASTE_YOUR_ZOOM_ACCOUNT_ID_HERE and friends) are for anything shared; the real values live on your machine only.

Fair questions

FAQ
I'm on Zoom's free plan. Will it work?

The auth test and the meeting commands will. Cloud recordings, transcripts and phone depend on what your plan includes; those commands answer with a plan message rather than failing quietly.

FAQ
Why a script and not a package?

Because that is what the full version is: one Python file you can read end to end. Nothing is installed from a package index except requests.

FAQ
Is there a workshop for this one?

No. Not scheduled, and it does not need one: the files are complete on their own. If a Tuesday ever walks it live, that session links from this page.