β All publications
533 Zoom Meetings Summarized by AI 4/6
533 meetings recorded in Zoom. Hours of transcripts. All unused.
I built a fully automated pipeline: Zoom β Python β AI β Obsidian.
π Step 1 β Create a Zoom API app (5 min)
1. marketplace.zoom.us β Develop β Build App
2. Choose "Server-to-Server OAuth"
3. Add scopes: cloud_recording:read:list_recording_files:admin and cloud_recording:read:list_user_recordings:admin
4. Note down: account_id, client_id, client_secret
π Step 2 β Python download script
The script handles:
1. OAuth auth β access_token
2. GET /users/me/recordings (paginated, month by month)
3. Downloads the .vtt file (subtitles) + metadata for each meeting
4. state.json file to avoid re-downloading
Python dependencies: requests, python-dotenv. That's it.
Gotcha: Zoom meeting UUIDs must be double-URL-encoded.
Time: ~30 min for 533 meetings.
π€ Step 3 β Claude Code summarizes each transcript
I asked Claude Code (Anthropic's CLI tool) to read each .vtt and generate a structured summary:
• Summary in 5-10 bullet points
• Decisions made
• Action items with owners
• Key points by topic
• Full raw transcript
Each 45-min meeting summarized in 30 seconds. 400 .md files in Obsidian.
β° Step 4 β Automation
A cron job runs the script every hour. New meetings are downloaded and summarized automatically.
Total cost: $0. The Zoom API is free. Claude Code is included in the subscription.
Next post: how AI scanned those 400 summaries to write my LinkedIn posts.
How many meetings have you recorded and never reviewed?
I built a fully automated pipeline: Zoom β Python β AI β Obsidian.
π Step 1 β Create a Zoom API app (5 min)
1. marketplace.zoom.us β Develop β Build App
2. Choose "Server-to-Server OAuth"
3. Add scopes: cloud_recording:read:list_recording_files:admin and cloud_recording:read:list_user_recordings:admin
4. Note down: account_id, client_id, client_secret
π Step 2 β Python download script
The script handles:
1. OAuth auth β access_token
2. GET /users/me/recordings (paginated, month by month)
3. Downloads the .vtt file (subtitles) + metadata for each meeting
4. state.json file to avoid re-downloading
Python dependencies: requests, python-dotenv. That's it.
Gotcha: Zoom meeting UUIDs must be double-URL-encoded.
Time: ~30 min for 533 meetings.
π€ Step 3 β Claude Code summarizes each transcript
I asked Claude Code (Anthropic's CLI tool) to read each .vtt and generate a structured summary:
• Summary in 5-10 bullet points
• Decisions made
• Action items with owners
• Key points by topic
• Full raw transcript
Each 45-min meeting summarized in 30 seconds. 400 .md files in Obsidian.
β° Step 4 β Automation
A cron job runs the script every hour. New meetings are downloaded and summarized automatically.
Total cost: $0. The Zoom API is free. Claude Code is included in the subscription.
Next post: how AI scanned those 400 summaries to write my LinkedIn posts.
How many meetings have you recorded and never reviewed?
