transcript-search
Transcript Search
Overview
Search and retrieve meeting transcripts from Fireflies.ai and Google Drive with full text and speaker attribution.
Quick Decision Tree
Where are your transcripts?
│
├── Fireflies.ai (API)
│ └── references/fireflies.md
│ └── Script: scripts/fireflies_transcript_search.py
│
└── Google Drive (uploaded files)
└── references/drive-transcripts.md
└── Script: scripts/gdrive_transcript_search.py
Environment Setup
# For Fireflies
FIREFLIES_API_KEY=your_api_key
# For Google Drive
# OAuth credentials (mycreds.txt) - see google-workspace skill
Get Fireflies API key: https://app.fireflies.ai/integrations (Custom Integrations)
Common Usage
Search Fireflies by Company
python scripts/fireflies_transcript_search.py "Microsoft" --days-back 30
Get Full Transcript
python scripts/fireflies_transcript_search.py --id 01KCM2G0YX1GMPWYQ8GPAABBCK --content
Save Formatted Transcript
python scripts/fireflies_transcript_search.py --id abc123 --content --save transcript.md
Search Drive Transcripts
python scripts/gdrive_transcript_search.py "Acme Corp" --days 30
Output Formats
Search Results
- Transcript ID, title, date, duration
- AI-generated summary, keywords, action items
- Speaker list with names
Full Transcript
- Complete text with speaker labels
- Timestamps for each sentence
- Formatted markdown output
Cost
| Service | Cost |
|---|---|
| Fireflies API | Free (with subscription) |
| Google Drive | Free |
Security Notes
Credential Handling
- Store
FIREFLIES_API_KEYin.envfile (never commit to git) - Google OAuth credentials for Drive (see google-workspace skill)
- Regenerate Fireflies API key via Custom Integrations if compromised
- Never log or print API keys in script output
Data Privacy
- Transcripts contain verbatim meeting conversations
- Speaker names and voices are identifiable
- Business discussions may include confidential information
- Action items and summaries capture sensitive decisions
- Avoid sharing full transcripts without authorization
Access Scopes
- Fireflies API: Full access to transcripts user has access to
- Google Drive: Access to uploaded transcript files
- Transcripts inherit meeting participants' access permissions
Compliance Considerations
- Recording Consent: Ensure all meeting participants consent to recording
- Speaker Privacy: Transcripts identify speakers by name
- Confidential Meetings: Some meetings should not be transcribed
- GDPR: Meeting recordings containing EU participants require consent
- Data Retention: Follow policies for transcript retention/deletion
- Legal Holds: Transcripts may be subject to legal discovery
- Client Confidentiality: Client meeting content is sensitive
- Internal Use Only: Mark transcripts as confidential where appropriate
Troubleshooting
Common Issues
Issue: Transcript not found
Symptoms: "Transcript not found" error with known meeting Cause: Invalid transcript ID, no access, or not yet processed Solution:
- Verify transcript ID from Fireflies dashboard
- Check if recording is still processing (wait and retry)
- Ensure API key has access to the transcript
- Confirm meeting was actually recorded and transcribed
Issue: API unauthorized
Symptoms: 401 error or "invalid API key" Cause: API key expired, invalid, or not set Solution:
- Regenerate API key at https://app.fireflies.ai/integrations
- Verify
FIREFLIES_API_KEYis set correctly in.env - Check for leading/trailing whitespace in key
- Ensure Custom Integration is enabled in Fireflies
Issue: Empty search results
Symptoms: Search returns no transcripts despite existing meetings Cause: Search query too narrow, date range issue, or access restrictions Solution:
- Broaden search query (fewer keywords)
- Expand date range with
--days-backparameter - Check if transcripts are shared with your account
- Verify search is using correct field (title, participants, content)
Issue: Missing transcript content
Symptoms: Metadata returned but full content is empty Cause: Transcript still processing or content access restricted Solution:
- Wait for transcript processing to complete (check Fireflies dashboard)
- Use
--contentflag explicitly to request full transcript - Verify subscription tier includes API content access
- Check if transcript has processing errors
Issue: Speaker attribution missing
Symptoms: Transcript text present but speakers not identified Cause: Low audio quality or speakers not enrolled Solution:
- Speaker identification depends on audio quality
- Enroll frequent speakers in Fireflies for better recognition
- This is a Fireflies processing issue, not API issue
- Re-upload recording if possible with better audio
Issue: Google Drive transcript search fails
Symptoms: Can't find transcripts stored in Drive Cause: OAuth issue, folder structure, or file format Solution:
- Verify Google OAuth is working (see google-workspace skill)
- Check transcripts are in searchable folder
- Ensure transcripts are in readable format (txt, md, docx)
- Search by exact filename if full-text search fails
Resources
- references/fireflies.md - Fireflies.ai API guide
- references/drive-transcripts.md - Drive transcript search
Integration Patterns
Transcript to Summary
Skills: transcript-search → content-generation Use case: Create meeting summaries and action item docs Flow:
- Retrieve full transcript from Fireflies
- Extract key discussion points and decisions
- Generate formatted summary document via content-generation
Transcript to Voice Agent
Skills: transcript-search → voice-agents Use case: Build context-aware voice agents Flow:
- Search for past meetings with client
- Extract relationship history and previous discussions
- Include context in voice agent prompt for personalized calls
Transcript to CRM
Skills: transcript-search → attio-crm Use case: Add meeting notes to CRM records Flow:
- Search transcripts for client meetings
- Extract summary, action items, and key quotes
- Create note on Attio company record with meeting details