Every professional services firm has the same dirty secret: the most valuable conversations in the company — client calls, strategy sessions, scope negotiations — evaporate the moment someone clicks "Leave Meeting." We decided to fix that. We connected Alpha Agent to the Zoom API, pointed it at 13 months of meeting recordings, and turned 129 calls into a searchable, client-tagged knowledge base. Here's exactly how we did it, what we found, and why it matters for any firm that bills by the hour.
Last Rev is a digital engineering consultancy. We build headless CMS platforms, design systems, and AI-powered applications for clients like Diligent, Integral Ad Science, Procore, and SmartNews. On any given week, our team runs 25–30 Zoom calls: client syncs, sprint planning, design reviews, SOW negotiations, and internal standups.
Each of those meetings generates decisions, commitments, and context. And almost none of it was being captured systematically. We had a patchwork of meeting notes in Google Docs, Slack messages that scrolled off-screen, and the occasional "can someone remind me what we agreed to?" message that no one could answer confidently.
The cost wasn't abstract. Consider:
We're a 29-person shop with meetings spanning 14 active clients.1 The problem isn't that people don't care about documentation — it's that manually capturing meeting output is tedious, inconsistent, and always the first thing that gets dropped when people are busy doing actual work.
Alpha Agent is our internal AI operations platform — an autonomous agent that can connect to APIs, process data, build applications, and take action across our tool stack. We built a Zoom Meeting Intelligence skill that works like this:
zoom_transcripts table with the raw VTT, structured summary, action items as JSONB, client tags, and processing timestamps.The entire pipeline runs incrementally. Before pulling any recording, Alpha Agent checks SELECT MAX(start_time) FROM zoom_transcripts and only fetches meetings after that watermark. No duplicate processing, no wasted API calls.
After processing completed, here's what our Supabase table contained:
| Metric | Value |
|---|---|
| Total meetings processed | 133 (129 with full transcripts, 4 pending) |
| Date range covered | January 14, 2025 – February 17, 2026 |
| Total meeting time | 6,400 minutes (~106.7 hours) |
| Unique participants identified | 29 people |
| Action items extracted | 620 |
| Decisions captured | 232 |
| Clients auto-tagged | 14 (Diligent, IAS, Procore, SmartNews, WOW, Lively, Orix, AnswerAI, and more) |
| Meeting sentiment breakdown | 72% productive · 10% casual · 8% tense · 7% neutral |
Let those numbers sink in. 620 action items were spoken into existence across those meetings. Before this system, the vast majority of them lived only in the memories of the people on the call — memories that fade, conflict, and eventually disappear.
Each processed meeting produces a structured record. Here's a real example from a contract review call:
Topic: MSA & SOW Contract Structure Review
Date: February 6, 2025 · Duration: 14 min
Attendees: Adam Harris, Krista Schlumpberger
Sentiment: ProductiveSummary: Reviewed contract documents including the MSA and SOW structure. Walked through how the SOW works as an addendum to the MSA. Discussed how each new support contract renewal overrides the previous SOW while the MSA remains the signed base document. Agreed to clarify with Susan that each new SOW is technically an addendum to the original MSA.
Decisions:
- New SOWs override previous ones as addendums to the MSA
- MSA is valid for 12 months as the base contract
Action Items:
- Krista Schlumpberger → Clarify with Susan that new SOWs are addendums to the MSA (priority: medium)
- Krista Schlumpberger → Review and compare contract documents for consistency (priority: medium)
That 14-minute call produced two decisions and two action items with clear owners. Without this system, those decisions would live only in the heads of two people — and the next time someone asked "do we need a new MSA for this client?", the answer would be a shrug followed by 30 minutes of Dropbox archaeology.
Individual meeting summaries are useful. But the real power is in aggregate intelligence — patterns that emerge only when you can query across all 129 conversations.
Our top discussion topics across all meetings tell a story about where the company's energy is going:
This data is immediately actionable. If AI topics dominate 24% of our conversations, that should be reflected in our hiring priorities, our marketing, and our service offerings. Before this analysis, that insight was a vague hunch. Now it's a number.
The sentiment tagging is surprisingly informative. Across all meetings:
That 8% "tense" figure is a goldmine for account management. When you can filter by client and see that the last three meetings with Client X were tagged as "tense," you've got an early warning system for churn risk — long before the client sends the dreaded "we need to talk" email. We can now see tension patterns weeks before they escalate.
By filtering the database by client_id, we can instantly generate a profile of any client relationship:
When an account manager needs to prep for a client call, they no longer need to ask five people "what have we been talking about with this client?" They query the database. Full context in seconds.
For the technically inclined, here's how the pieces fit together:
Zoom Cloud Recordings
↓ (Server-to-Server OAuth, account-level access)
Alpha Agent Agent
↓ (30-day window iteration, incremental processing)
┌──┴──┐
VTT M4A Audio
│ ↓
│ Whisper API (fallback)
│ ↓
└──→ Clean Transcript
↓
Claude AI Pipeline
(structured extraction prompt)
↓
┌─────┼─────┐
Summary Actions Decisions
Tags Owners Sentiment
↓
Supabase (zoom_transcripts table)
↓
┌────────┼────────┐
Query Slack Client
API Posts Profiles
Key architectural decisions:
MAX(start_time) before each run, so it never reprocesses meetings. This matters when you're paying per API call for both Zoom and the AI models.If you run a professional services firm — agency, consultancy, law firm, MSP — this capability changes how you do account management. Specifically:
When someone takes over a client relationship, they need context. Traditionally, that means shadow-reading months of Slack threads, sitting in on calls, and asking "so what's the deal with this client?" Now, they query the database: "Show me all Diligent meetings, ordered by date." Eighteen meeting summaries, complete with decisions and action items, in a single page. Full context in 15 minutes.
Contract disputes, scope disagreements, and he-said-she-said situations evaporate when you have a timestamped, AI-generated summary of every conversation. We had a real case where a client questioned whether a particular feature was in scope. We searched the transcripts, found the exact meeting where it was discussed, and pulled up the summary showing it was explicitly deferred to Phase 3. Conversation over.
620 action items across 129 meetings. That's an average of 4.8 action items per meeting. Before this system, how many of those were being tracked? Generously, maybe half. The rest disappeared into the ether. Now every commitment is captured, attributed to an owner, and queryable.
Account health is usually assessed by gut feeling — "I think they're happy" or "something felt off in that last call." With sentiment tagging across every meeting, you can see the trend. Three productive meetings followed by two tense ones? That's a pattern worth investigating before the relationship deteriorates.
Let's do the ROI calculation:
The initial backlog processing alone saved roughly 28 hours of work that would have been needed to manually review and document those meetings. But the real savings are ongoing — every week, 25–30 meetings are automatically processed, saving approximately 6–8 hours of manual capture and making every meeting's content instantly accessible.2
A few things we didn't expect:
The casual meetings were the most valuable to capture. The formal client presentations had agendas and follow-up emails. It was the 4-minute impromptu syncs — "hey, quick question about the deployment" — that contained critical decisions no one would have bothered documenting. One 4-minute call between two engineers resolved a JIRA configuration issue that had been blocking a sprint. Without automated capture, that decision would have lived in two people's heads and nowhere else.
Topic frequency analysis influenced our service strategy. Seeing that AI-related topics dominated 24% of all conversations gave us hard data to invest more aggressively in AI service offerings. It wasn't a guess — it was extracted from actual client and internal conversations.
Attendee patterns revealed meeting culture issues. We could see which meetings consistently had too many attendees (meetings with 6+ people that should have been 3), and which critical conversations were happening between only two people with no documentation trail.
A few important notes on how we handle this responsibly:
The core components are straightforward:
recording:read and user:read scopes.Or you can skip all of that and let Alpha Agent do it. We built this skill in under a day and the agent handles everything autonomously — authentication, pagination, transcript download, AI processing, storage, and client tagging.
This Zoom intelligence project is one piece of a larger pattern we're seeing in AI operations: the transformation of ephemeral business conversations into durable, queryable institutional knowledge.
Most companies have years of meeting recordings sitting in Zoom's cloud, untouched and unsearchable. Those recordings contain decisions, commitments, strategy discussions, and client context that could dramatically improve how the business operates — if anyone could access it in a useful format.
The technology to unlock this has existed for a couple of years (transcription APIs, LLMs for extraction, structured databases for storage). What's been missing is the orchestration — something that connects all the pieces, handles the edge cases (missing transcripts, ambiguous client names, 30-day API windows), and runs reliably without human babysitting.
That's what Alpha Agent provides. Not just the AI — the operational intelligence to deploy it against real business problems and extract real business value.
129 meetings. 620 action items. 232 decisions. 14 clients tagged. 106 hours of conversations transformed from ephemeral audio into permanent, searchable institutional knowledge.
Your firm's meetings contain the same untapped intelligence. The question is whether you're going to keep letting it evaporate, or start capturing it. Let's talk about building this for your team.
client_id values in our zoom_transcripts Supabase table as of February 2026. Clients include: Diligent, IAS/Integral Ad Science, Procore, SmartNews, WOW, Lively, Orix, AnswerAI, and internal projects.