transcript-search
Meeting transcript search from Fireflies.ai and Google Drive. Use this skill when searching for meeting transcripts, finding past client calls, retrieving conversation history, or exporting meeting notes. Triggers on transcript search, meeting history, call recordings, or Fireflies queries.
What this skill does
# 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
```bash
# 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
```bash
python scripts/fireflies_transcript_search.py "Microsoft" --days-back 30
```
### Get Full Transcript
```bash
python scripts/fireflies_transcript_search.py --id 01KCM2G0YX1GMPWYQ8GPAABBCK --content
```
### Save Formatted Transcript
```bash
python scripts/fireflies_transcript_search.py --id abc123 --content --save transcript.md
```
### Search Drive Transcripts
```bash
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_KEY` in `.env` file (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_KEY` is 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-back` parameter
- 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 `--content` flag 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:**
1. Retrieve full transcript from Fireflies
2. Extract key discussion points and decisions
3. Generate formatted summary document via content-generation
### Transcript to Voice Agent
**Skills:** transcript-search → voice-agents
**Use case:** Build context-aware voice agents
**Flow:**
1. Search for past meetings with client
2. Extract relationship history and previous discussions
3. 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:**
1. Search transcripts for client meetings
2. Extract summary, action items, and key quotes
3. Create note on Attio company record with meeting details
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.