Deep dive migration guide from other meeting note tools to Granola. Use when migrating from Otter.ai, Fireflies, Fathom, or other tools, planning data migration, or executing transition strategies. Trigger with phrases like "migrate to granola", "switch to granola", "granola from otter", "granola from fireflies", "granola migration".
/plugin marketplace add jeremylongshore/claude-code-plugins-plus-skills/plugin install granola-pack@claude-code-plugins-plusThis skill is limited to using the following tools:
Comprehensive guide for migrating to Granola from other meeting note-taking tools.
| Tool | Export Format | Migration Complexity |
|---|---|---|
| Otter.ai | TXT, SRT, PDF | Medium |
| Fireflies.ai | TXT, JSON, PDF | Medium |
| Fathom | Markdown, CSV | Low |
| Zoom Native | VTT, TXT | Low |
| Google Meet | SRT, DOCX | Low |
| Microsoft Teams | VTT, DOCX | Low |
| Manual Notes | Markdown | Low |
## Pre-Migration Assessment
Data Volume:
- [ ] Total meetings to migrate: ___
- [ ] Date range: ___ to ___
- [ ] Total storage size: ___ GB
- [ ] Number of users: ___
Content Types:
- [ ] Transcripts: ___
- [ ] AI summaries: ___
- [ ] Action items: ___
- [ ] Audio files: ___
Integrations:
- [ ] CRM connections: ___
- [ ] Slack/Teams channels: ___
- [ ] Documentation tools: ___
- [ ] Workflow automations: ___
Timeline:
- [ ] Target cutover date: ___
- [ ] Parallel running period: ___ weeks
- [ ] User training dates: ___
## Clean Start (Recommended for < 100 meetings)
Approach:
- Start fresh with Granola
- Archive historical data externally
- No data import
Pros:
- Simplest approach
- No migration complexity
- Clean slate
Cons:
- Historical search not in Granola
- Need external archive access
Best For:
- Small teams
- Minimal historical needs
- Quick deployment
## Selective Migration (100-1000 meetings)
Approach:
- Migrate key meetings only
- Archive rest externally
- Selective import
Selection Criteria:
- Client meetings (last 6 months)
- Decision-making meetings
- Recurring important meetings
- Referenced action items
Pros:
- Important data preserved
- Manageable scope
- Faster completion
Cons:
- Requires selection effort
- Incomplete history
## Full Migration (Enterprise)
Approach:
- Export all historical data
- Transform to Granola format
- Import everything
Pros:
- Complete history
- Full searchability
- No external archive needed
Cons:
- Complex and time-consuming
- May require professional services
- Higher cost
## Otter.ai Export
1. Log into Otter.ai
2. Go to each conversation
3. Click ... menu > Export
4. Select format:
- TXT for transcript
- PDF for formatted notes
- SRT for subtitles
5. Repeat for all conversations
Bulk Export (Pro/Business):
1. Settings > My Account
2. Click "Export All"
3. Wait for email
4. Download zip file
# Otter.ai → Granola Mapping
Otter Field: Granola Field:
conversation_title → meeting_title
date → meeting_date
transcript → transcript
summary → summary
action_items → action_items
speakers → attendees (partial)
keywords → (no direct mapping)
#!/usr/bin/env python3
"""Convert Otter.ai exports to Granola format"""
import json
import os
from datetime import datetime
def convert_otter_to_granola(otter_file, output_dir):
with open(otter_file, 'r') as f:
content = f.read()
# Parse Otter format (varies by export type)
# This is a simplified example
granola_note = f"""# Meeting Notes
**Imported from:** Otter.ai
**Original Date:** {datetime.now().strftime('%Y-%m-%d')}
## Transcript
{content}
## Action Items
[Review and extract manually]
---
*Migrated to Granola on {datetime.now().strftime('%Y-%m-%d')}*
"""
output_file = os.path.join(output_dir, 'imported_note.md')
with open(output_file, 'w') as f:
f.write(granola_note)
return output_file
## Fireflies Export
1. Log into Fireflies.ai
2. Go to Meetings
3. Select meetings (checkbox)
4. Click "Export"
5. Choose format: JSON (recommended)
6. Download
API Export (Enterprise):
```bash
curl -X GET "https://api.fireflies.ai/v1/transcripts" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-o fireflies_export.json
# Fireflies → Granola Mapping
Fireflies Field: Granola Field:
title → meeting_title
date → meeting_date
transcript → transcript
summary → summary
action_items → action_items
participants → attendees
## Fathom Export
1. Open Fathom dashboard
2. Select call
3. Click "Download"
4. Choose: Markdown or CSV
5. Repeat for all calls
Batch Export:
- Contact Fathom support for bulk export
- Request API access if available
## Zoom Export
1. Go to Zoom web portal
2. Recordings > Cloud Recordings
3. Download:
- Audio/Video file
- VTT transcript
4. Upload audio to transcription service if needed
## Google Meet Export
1. Check Google Drive
2. Find meeting recordings folder
3. Download transcript (if enabled)
4. Convert from SRT/VTT to text
Source Export
↓
Parse Original Format
↓
Normalize Data Structure
↓
Map to Granola Schema
↓
Validate Integrity
↓
Generate Markdown Files
↓
Archive in Notion/Drive
#!/usr/bin/env python3
"""Batch convert meeting notes to Granola format"""
import os
import json
from pathlib import Path
def batch_convert(source_dir, output_dir, source_type):
"""Convert all files from source format to Granola Markdown"""
Path(output_dir).mkdir(parents=True, exist_ok=True)
converters = {
'otter': convert_otter,
'fireflies': convert_fireflies,
'zoom': convert_zoom_vtt,
}
converter = converters.get(source_type)
if not converter:
raise ValueError(f"Unknown source type: {source_type}")
converted = []
for file in Path(source_dir).glob('*'):
try:
output = converter(file, output_dir)
converted.append(output)
print(f"Converted: {file.name}")
except Exception as e:
print(f"Error converting {file.name}: {e}")
print(f"\nConverted {len(converted)} files")
return converted
if __name__ == "__main__":
import sys
batch_convert(sys.argv[1], sys.argv[2], sys.argv[3])
## Week 1 Tasks
Day 1-2: Assessment
- [ ] Inventory all source data
- [ ] Identify critical meetings
- [ ] Document integrations
- [ ] Define success criteria
Day 3-4: Export
- [ ] Export from source tool
- [ ] Verify export completeness
- [ ] Secure backup of exports
- [ ] Document any gaps
Day 5: Granola Setup
- [ ] Configure Granola workspace
- [ ] Set up integrations
- [ ] Create templates
- [ ] Test with sample meeting
## Week 2 Tasks
Day 1-2: Conversion
- [ ] Run conversion scripts
- [ ] Validate converted data
- [ ] Fix any errors
- [ ] Create import packages
Day 3-4: Import
- [ ] Import to external archive (Notion)
- [ ] Tag as historical
- [ ] Verify accessibility
- [ ] Set up search
Day 5: Verification
- [ ] Spot check random samples
- [ ] Verify key meetings accessible
- [ ] Test search functionality
- [ ] Document location
## Parallel Period
Both tools active:
- Record in Granola (primary)
- Source tool as backup
- Compare quality
- Gather feedback
Daily:
- [ ] Monitor both tools
- [ ] Note any issues
- [ ] Collect user feedback
End of parallel:
- [ ] Review comparison
- [ ] Address issues
- [ ] Get sign-off
- [ ] Schedule cutover
## Cutover Tasks
Day 1: Final Export
- [ ] Export any new data from source
- [ ] Run final conversion
- [ ] Complete import
Day 2: Disable Source
- [ ] Turn off source tool recording
- [ ] Downgrade/cancel subscription
- [ ] Remove integrations
Day 3-5: Support
- [ ] Monitor closely
- [ ] Address issues immediately
- [ ] Document lessons learned
- [ ] Celebrate completion!
## Migration Announcement
Subject: Switching to Granola for Meeting Notes
Team,
We're migrating from [Source Tool] to Granola for meeting notes.
**Key Dates:**
- Parallel running: [Start] - [End]
- Full cutover: [Date]
**What You Need to Do:**
1. Install Granola: granola.ai/download
2. Sign in with company SSO
3. Attend training: [Date/Link]
**Why Granola:**
- No meeting bot required
- Better privacy
- Improved integrations
**Historical Notes:**
Your past meeting notes will be available in [Notion/Drive].
Questions? Contact [Support Email].
Thanks,
[Your Name]
## Granola Training (30 min)
1. Introduction (5 min)
- Why Granola
- Key differences from [Source]
2. Setup (10 min)
- Install app
- Connect calendar
- Grant permissions
3. First Meeting (10 min)
- How recording works
- Taking live notes
- Reviewing AI notes
4. Q&A (5 min)
- Common questions
- Where to get help
## Rollback Procedure
Triggers for Rollback:
- > 20% of meetings not captured
- Critical integration failure
- User adoption < 30%
- Data loss detected
Rollback Steps:
1. Communicate pause to team
2. Re-enable source tool
3. Export any Granola notes
4. Investigate issues
5. Plan remediation
6. Attempt migration again
Note: Rollback only possible during parallel period
## 30-Day Review
Adoption:
- [ ] Active users: ___% of total
- [ ] Meetings captured: ___/week
- [ ] Notes shared: ___
Quality:
- [ ] User satisfaction: ___/5
- [ ] Transcription accuracy: ___%
- [ ] Action item detection: ___%
Issues:
- [ ] Open tickets: ___
- [ ] Resolved: ___
- [ ] Escalated: ___
## Post-Migration Review
What Went Well:
-
What Could Improve:
-
Recommendations:
-
Documentation Updates:
-
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.