From granola-pack
Migrate to Granola from Otter.ai, Fireflies, Fathom, tl;dv, or manual note-taking. Covers data export from source tools, parallel-run strategy, team transition, and historical data preservation. Trigger: "migrate to granola", "switch to granola", "granola from otter", "granola from fireflies", "replace meeting tool with granola".
npx claudepluginhub flight505/skill-forge --plugin granola-packThis skill is limited to using the following tools:
Comprehensive guide for migrating to Granola from competing meeting note tools. Covers source-specific export procedures, historical data preservation, parallel-run strategy, team transition, and cutover execution. Granola's key differentiator — no bot joins meetings — means the migration also changes the user experience fundamentally.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Comprehensive guide for migrating to Granola from competing meeting note tools. Covers source-specific export procedures, historical data preservation, parallel-run strategy, team transition, and cutover execution. Granola's key differentiator — no bot joins meetings — means the migration also changes the user experience fundamentally.
granola-install-auth)## Migration Assessment
Source tool: [Otter.ai / Fireflies / Fathom / tl;dv / Manual / Other]
Total meetings in source: [____]
Date range: [____] to [____]
Active users to migrate: [____]
Integrations to recreate: [Slack, Notion, CRM, etc.]
Historical data priority: [Archive all / Selective / Fresh start]
Target cutover date: [____]
Parallel run duration: [1 week / 2 weeks]
| Strategy | When to Use | Data Handling | Effort |
|---|---|---|---|
| Fresh Start | <100 historical meetings, or meetings have low reference value | Archive source data externally, start fresh in Granola | Low |
| Selective Migration | 100-1000 meetings, some have ongoing reference value | Export key meetings (client calls, decisions, contracts) | Medium |
| Full Archive | Enterprise with compliance requirements, everything must be searchable | Export all data, archive in Notion/Drive/cloud storage | High |
Recommended for most teams: Fresh Start or Selective. Granola doesn't import historical data from other tools — there's no import feature. Historical data lives in your archive (Notion, Google Drive, local files).
For important historical meetings, archive before cutting over:
#!/usr/bin/env python3
"""Organize exported meeting notes for archival."""
import os
from pathlib import Path
EXPORT_DIR = Path("~/Downloads/otter-export").expanduser() # Adjust for your source
ARCHIVE_DIR = Path("~/Documents/meeting-archive").expanduser()
# Create organized archive structure
categories = {
"client": ["client", "customer", "deal", "sales", "demo"],
"engineering": ["sprint", "standup", "architecture", "review", "retro"],
"product": ["product", "prd", "design", "feedback", "roadmap"],
"leadership": ["all-hands", "board", "strategy", "planning"],
"general": [], # catch-all
}
ARCHIVE_DIR.mkdir(parents=True, exist_ok=True)
for cat in categories:
(ARCHIVE_DIR / cat).mkdir(exist_ok=True)
for file in EXPORT_DIR.glob("*.txt"):
filename_lower = file.name.lower()
placed = False
for cat, keywords in categories.items():
if any(kw in filename_lower for kw in keywords):
dest = ARCHIVE_DIR / cat / file.name
file.rename(dest)
placed = True
break
if not placed:
(ARCHIVE_DIR / "general" / file.name).rename(file)
print(f"Archived to {ARCHIVE_DIR}")
Alternatively, upload the archive to Notion or Google Drive for team-wide searchability.
Run both tools simultaneously to build confidence:
Week 1: Dual recording
| Metric | Source Tool | Granola | Winner |
|---|---|---|---|
| Transcription accuracy | ___% | ___% | |
| Action item detection | ___/total | ___/total | |
| Summary quality | ___/5 | ___/5 | |
| Processing time | ___ min | ___ min | |
| User experience (no bot) | N/A | Yes | Granola |
Week 2: Granola primary
Cutover day checklist:
Subject: Meeting Notes Migration Complete — Granola is Now Primary
Team,
As of today, we've completed our migration to Granola for meeting notes.
What's changed:
- No more [Otter/Fireflies/etc.] bot joining meetings
- Granola captures audio directly from your device (no bot visible to participants)
- Notes are auto-enhanced with AI summaries and action items
What you need to do:
1. Ensure Granola is running on your device
2. Verify your calendar is connected (Settings > Calendar)
3. Check that microphone + Screen & System Audio permissions are granted
Historical notes: Archived at [Notion link / Drive folder]
Support: Post in #granola-support
Thank you for the smooth transition!
After 1 week on Granola exclusively:
granola-core-workflow-a)| Feature | Bot-Based (Otter, Fireflies, tl;dv) | Granola |
|---|---|---|
| Meeting join | Bot joins as participant | No bot — system audio capture |
| Participant awareness | "Bot is recording" banner | No banner (still announce recording for consent) |
| Platform support | Platform-specific integrations | Any platform (captures system audio) |
| Typed notes | Separate app | Built-in notepad merges with transcript |
| Enhancement | Auto-generated | User-controlled (click Enhance) |
| Templates | Limited | 29 built-in + custom |
| Chat | Limited or none | Full Granola Chat with Recipes |
| Built-in CRM | No | People & Companies |
| Error | Cause | Fix |
|---|---|---|
| Source export incomplete | Free plan limits bulk export | Upgrade source plan temporarily for export, then cancel |
| Team resistance to change | Comfort with existing tool | Share quality comparison data from parallel run |
| Missing historical context | No import feature in Granola | Point team to archived data (Notion/Drive) |
| Audio quality different than bot | System audio vs. platform API | Optimize audio setup (see granola-performance-tuning) |
| Low adoption post-migration | Setup issues | Run drop-in support sessions, share quick-start guide |
After migration, explore granola-performance-tuning to optimize output quality.