Real-Time Transcription to Claude-Formatted BSP Meeting Notes
Two pipelines for turning Monday standups (and any Google Meet call) into structured BSP meeting notes automatically:
Output format: Executive Summary → Decisions Table → Numbered Action Items → Revenue Impact (Eq 1/2/3) → Sacred v2 Recommendations → Parking Lot
Best for: Fastest setup, zero code, works Monday
Setup time: 15 minutes
Best for: True real-time, full control, already have API key
Setup time: 30-45 minutes
Best for: Offline, privacy-first, post-meeting
Setup time: 1-2 hours
Best for: If Deepgram has issues
Setup time: 30 minutes
| Criteria | Tactiq + Zapier | Deepgram + Python | Whisper | AssemblyAI |
|---|---|---|---|---|
| Setup Time | 15 min | 30-45 min | 1-2 hrs | 30 min |
| Real-Time | After meeting | Yes (sub-sec) | No (batch) | Yes |
| Cost/Meeting | $0 (10 free) | ~$0.26/hr | $0 | $0.90/hr |
| BSP API Key | N/A | Already on VM | N/A | Need signup |
| Speaker Labels | Yes | Yes | Limited | Yes |
| Code Required | Zero | Python script | Python + GPU | Python script |
Process this meeting transcript from: {{meeting_title}}Date: {{meeting_date}}Participants: {{participants}}TRANSCRIPT: {{transcript}}Add a second action step in the Zap to deliver the Claude output:
Key advantage: True real-time. You see transcript lines appearing as people talk. Claude processes every 5 minutes during the meeting, plus a full summary at the end.
Tip: To hear audio yourself while capturing, use VB-CABLE + "Listen to this device" in Recording properties. Or use VoiceMeeter Banana (free) for proper audio routing.
If PyAudio fails to install:
Or download the .whl from Unofficial Binaries
This lists all input devices. Look for:
Note the device ID number (e.g., 3)
Join Google Meet, start the listener, and watch transcript appear in real-time.
Press Ctrl+C to stop. Claude generates full meeting notes automatically.
bsp_meeting_transcript_YYYYMMDD_HHMMSS.txt -- Raw transcript with timestamps + speakersbsp_meeting_notes_YYYYMMDD_HHMMSS.md -- Claude-formatted BSP meeting notesCopy this system prompt into Zapier (Pipeline 1) or use it with the Python script (Pipeline 2, built-in).
You are Nexus AI, the meeting intelligence system for Bright Side Plumbing (BSP). You process real-time meeting transcripts and produce structured meeting notes. FORMAT YOUR OUTPUT EXACTLY AS FOLLOWS: ## Executive Summary (3 sentences max. Lead with the SOLUTION or key decision, not the problem.) ## Decisions Made | Decision | Owner | Deadline | Revenue Impact | |----------|-------|----------|----------------| | ... | ... | ... | Eq 1/2/3 | ## Action Items 1. **[OWNER]** Task description -- Deadline: DATE 2. **[OWNER]** Task description -- Deadline: DATE (Assign to: Robert, Stephanie, Kalen, Ashton, or Audrey) ## Revenue Impact - Tie each action item to one of the 3 Equations: - Eq 1 (Revenue): R = leads x booking_rate x avg_ticket - Eq 2 (ROAS): Revenue_attributed / Ad_spend - Eq 3 (Profit): P = R - COGS - OpEx - Marketing ## Sacred v2 Update Recommendations - Which sections of the Sacred HTML data_weapons_plan.html should be updated based on this meeting - Specific data points or status changes ## Parking Lot - Items mentioned but deferred for later discussion RULES: - Phone: (913) 963-1029 | Address: 12022 Blue Valley Pkwy, Overland Park, KS 66213 - Client: Bright Side Plumbing (NO heating) - Ashton King is HE (never she/her) - Kalen: never mention his parents or full public name. Use "our master plumber." - No em dashes in any client-facing copy - Stephanie format: SOLUTION first, 3-bullet executive, zero tech terms - If financials are mentioned: QB P&L is SSoT. Q1 2026: $333K income, -$18K net. - ServiceTitan revenue: ONLY count job_status = 'completed'
| Step | Action | Time |
|---|---|---|
| 1 | Install Tactiq Chrome extension | 2 min |
| 2 | Create Zapier account (free tier) | 3 min |
| 3 | Create Zap: Tactiq trigger → Claude action | 5 min |
| 4 | Paste BSP system prompt into Claude action | 1 min |
| 5 | Add output action (Slack / Google Doc / Email) | 3 min |
| 6 | Test with a short call | 2 min |
Total: ~15 minutes. Ready for next Monday.
| Step | Action | Time |
|---|---|---|
| 1 | Install VB-CABLE (or enable Stereo Mix) | 5 min + reboot |
| 2 | pip install deepgram-sdk pyaudio anthropic | 2 min |
| 3 | Set env vars: DEEPGRAM_API_KEY, ANTHROPIC_API_KEY | 2 min |
| 4 | Run python build_meeting_automation.py to list devices | 1 min |
| 5 | Run with --device N --claude during meeting | 1 min |
| 6 | Ctrl+C when done. Notes auto-generated. | 0 min |
Total: ~30 minutes first time. 10 seconds each subsequent meeting.
Note: API keys are already on the VM at /opt/nexus/nexus/config/.env. Copy them to your local Windows env.
A custom Chrome extension using chrome.tabCapture API can capture audio directly from the Google Meet tab and stream it to Deepgram via WebSocket. This eliminates the need for VB-CABLE and captures only meeting audio (not all system sounds).
The open-source Recall.ai Chrome Recording Extension provides a working reference implementation.
Build priority: LOW. VB-CABLE works fine. Only build if Robert wants tab-specific capture.
After Claude generates meeting notes, a webhook can POST the action items and decisions to the Nexus VM, which automatically updates the relevant sections of data_weapons_plan.html.
For meetings where Robert is not at his Windows machine, the Deepgram script can run on the VM. Record the meeting (Google Meet has built-in recording for Workspace users), SCP the file to the VM, and process:
Meeting notes can be ingested into Zeus RAG for future reference: