Conversation Recording & CRM RAG
Record in-person conversations, meetings, and phone calls, automatically transcribe them, link them to CRM contacts/deals, and feed them into the RAG knowledge base so AI agents have full relationship context.
Recording Sources
| Source | How | Tech Stack |
|---|---|---|
| Phone calls | Auto-record Twilio calls (with consent) | Twilio Recording API > GCS > STT |
| In-person meetings | Mobile app recording (mic) | Device mic > GCS > STT |
| Video meetings | Google Meet, Zoom integration | Meet/Zoom API > GCS > STT |
| Voice memos | Quick capture in Founder app | Device mic > GCS > STT |
| Web chat | Already captured in Minerva logs | Existing Minerva pipeline |
| SMS/Email | Already captured in Minerva channels | Existing Minerva pipeline |
Transcription Pipeline
Audio/Video
|
v
GCS Upload
|
v
STT Service (Whisper/Gemini)
|
v
Transcript
|
+---> Speaker Diarization (who said what)
+---> Entity Extraction (names, companies, amounts, dates, action items)
+---> Sentiment Analysis (Apollo)
+---> Summary Generation (Saturn)
+---> CRM Linking (auto-match speakers to contacts)
+---> RAG Indexing (Vectorize)
STT Options
| Tier | Provider | Cost | Quality |
|---|---|---|---|
| Free | Cloudflare Workers AI Whisper | FREE | Standard |
| Standard | Google Cloud Speech-to-Text v2 | Per-minute pricing | High |
| Premium | Gemini multimodal (audio input) | Token-based | Best |
CRM Context Enrichment
Auto-Linking
- Phone calls: Match caller ID to contact database, auto-link to contact + deal
- Meetings: Match attendees from calendar invite to contacts
- In-person: Founder tags contact(s) when starting recording, or AI suggests from speech
Contact Timeline
Every recording is linked to CRM entities and becomes a queryable part of the contact timeline:
Jane Smith (Acme Corp) -- Contact Timeline
2026-02-27 Phone Call (12 min)
Discussed pricing for Q3 renewal
Action Items: Send updated proposal, schedule follow-up
Sentiment: Positive (0.82)
2026-02-25 Email -- RE: Partnership Opportunity
2026-02-22 In-Person Meeting (45 min)
Product demo at their office
Key Topics: Integration requirements, timeline, budget
Sentiment: Neutral (0.61)
2026-02-20 SMS -- Confirmed meeting time
2026-02-15 Video Call (30 min)
Initial discovery call
Summary: Interested in Restaurant + Voice Agent products
RAG Integration
All conversation data is indexed in Vectorize for AI agent retrieval:
RAG Indexes
| Index | Content |
|---|---|
crm-conversations | Full transcripts, chunked by topic/speaker turn |
crm-contacts | Contact profiles enriched with conversation summaries |
crm-deals | Deal context with all related conversations |
Agent Access
| Agent | How They Use CRM RAG |
|---|---|
| Diana | "What did we discuss with Acme Corp last week?" |
| Fortuna | "What's the status of the Acme renewal?" |
| Saturn | "Prep me for my call with Jane at Acme" |
| Minerva | "What are common objections from restaurant prospects?" |
Privacy & Consent
Recording Consent
Recording requires explicit consent. Configuration varies by jurisdiction.
| Jurisdiction Type | States/Regions | Requirement |
|---|---|---|
| One-Party Consent | 38 US states | Notification only — one party (your side) must consent |
| Two-Party Consent | CA, CT, FL, IL, MA, MD, MI, MT, NH, NV, PA, WA | All parties must explicitly consent before recording |
| International | EU (GDPR), UK, Canada, Australia | Varies — generally requires explicit consent + data processing basis |
Compliance Features
- Auto-Detection: System detects jurisdiction from phone area code or location settings
- Consent Prompts: Two-party states auto-prompt for consent before recording starts
- Opt-Out: Per-contact opt-out for no recording
- Retention Policies: Configurable retention periods with automatic deletion
- Right to Deletion: GDPR/CCPA compliant data export and deletion
- Encryption: All recordings encrypted at rest (GCS) and in transit
- Access Control: Only founder + authorized roles can access recordings
Recording UI
Quick Record Button
A floating action button in the Command Center:
- Tap "Record"
- "Who is this with?" — Select contacts
- Recording starts with consent check
- Stop — Auto-transcribe + link to CRM
Meeting Recorder
Within any AI conversation thread:
"Rex, record this meeting" — Starts recording with real-time transcription, action item extraction, and summary posted to thread.
Database Schema
conversation_recordings (
id STRING(36),
org_id STRING(36),
type STRING(20), -- 'phone', 'in_person', 'video', 'voice_memo'
source STRING(50),
contact_ids JSON,
deal_id STRING(36),
duration_seconds INT64,
audio_url STRING(500),
transcript_url STRING(500),
transcript_text STRING(MAX),
summary STRING(MAX),
action_items JSON,
sentiment_score FLOAT64,
speaker_diarization JSON,
consent_status STRING(20),
created_at TIMESTAMP
) PRIMARY KEY (org_id, id)
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/v1/agent/founder/recordings/upload | POST | Upload audio + metadata |
/api/v1/agent/founder/recordings | GET | List recordings (filter by contact, deal, date) |
/api/v1/agent/founder/recordings/{id} | GET | Recording detail with transcript |
/api/v1/agent/founder/recordings/{id}/transcript | GET | Full transcript with diarization |
/api/v1/agent/founder/recordings/{id}/link | POST | Link recording to contact/deal |
/api/v1/agent/founder/contacts/{id}/timeline | GET | Full interaction timeline |
/api/v1/agent/founder/crm/search | GET | RAG-powered semantic search |
Related Documentation
- Olympus Founder — Product overview
- Recording API Reference — Recording endpoints
- Production-Ready Standards — Recording consent compliance (Section 13)