GR

granola-migration-deep-dive

A migration framework for transitioning meeting data from competing tools to Granola, covering export procedures, parallel strategies, and historical preservation.

Install

mkdir -p .claude/skills/granola-migration-deep-dive && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5979" && unzip -o skill.zip -d .claude/skills/granola-migration-deep-dive && rm skill.zip

Installs to .claude/skills/granola-migration-deep-dive

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Migrate to Granola from Otter.ai, Fireflies, Fathom, tl;dv, or manual
69 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Export data from Otter.ai, Fireflies, Fathom, or tl;dv
  • Preserve historical meeting data
  • Implement a parallel-run strategy for team transition
  • Execute cutover from old tools to Granola
  • Archive historical data in Notion or Google Drive

How it works

The skill guides users through assessing migration scope, exporting data from specific source tools, choosing a migration strategy, archiving historical data, and conducting a parallel run.

Inputs & outputs

You give it
Meeting notes and data from Otter.ai, Fireflies, Fathom, tl;dv, or manual notes
You get back
Source data exported and archived, team migrated to Granola, source tool deactivated

When to use granola-migration-deep-dive

  • Exporting historical meeting data from Otter.ai or Fireflies
  • Planning a parallel-run strategy for team transition
  • Managing cutover dates between meeting intelligence tools
  • Recreating workspace integrations in a new environment

About this skill

Granola Migration Deep Dive

Overview

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.

Prerequisites

  • Access to source tool with export capability
  • Granola workspace configured (see granola-install-auth)
  • Migration timeline agreed with stakeholders
  • Budget approved for Granola licenses

Instructions

Step 1 — Assess Migration Scope

## 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]

Step 2 — Source-Specific Export

From Otter.ai

  • Export format: TXT, SRT (subtitles), PDF
  • Bulk export: Otter Pro/Business: Settings > Export > Download All
  • Limitations: Free plan only exports individual notes
  • Key data: Transcripts with timestamps, speaker labels, action items

From Fireflies.ai

  • Export format: TXT, JSON, PDF, SRT
  • Bulk export: Admin > Data Management > Export
  • Limitations: Custom fields may not export
  • Key data: Transcripts, AI summaries, custom topics

From Fathom

  • Export format: Markdown, CSV, video clips
  • Bulk export: Settings > Data > Export All
  • Limitations: Video clips don't transfer
  • Key data: Meeting summaries, action items, highlights

From tl;dv

  • Export format: TXT, video recordings
  • Bulk export: Settings > Data Export
  • Limitations: AI highlights may not transfer
  • Key data: Transcripts, timestamps, meeting recordings

From Manual Notes (Google Docs, Notion, Confluence)

  • Already in accessible format
  • No export needed — archive in place
  • Focus on establishing the Granola workflow going forward

Step 3 — Choose Migration Strategy

StrategyWhen to UseData HandlingEffort
Fresh Start<100 historical meetings, or meetings have low reference valueArchive source data externally, start fresh in GranolaLow
Selective Migration100-1000 meetings, some have ongoing reference valueExport key meetings (client calls, decisions, contracts)Medium
Full ArchiveEnterprise with compliance requirements, everything must be searchableExport all data, archive in Notion/Drive/cloud storageHigh

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).

Step 4 — Archive Historical Data

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.

Step 5 — Parallel Run (2 Weeks)

Run both tools simultaneously to build confidence:

Week 1: Dual recording

  • Keep source tool active (bot still joins or captures)
  • Enable Granola on all meetings (system audio capture)
  • Compare output quality daily:
MetricSource ToolGranolaWinner
Transcription accuracy___%___%
Action item detection___/total___/total
Summary quality___/5___/5
Processing time___ min___ min
User experience (no bot)N/AYesGranola

Week 2: Granola primary

  • Keep source tool as backup only (disable auto-record if possible)
  • All sharing and distribution via Granola integrations
  • Team members report any quality issues

Step 6 — Cutover Execution

Cutover day checklist:

  • Final export from source tool (last day of data)
  • Verify archive is complete and accessible
  • Disable source tool recording/bot
  • Remove source tool bot from calendar (if applicable)
  • Cancel source tool subscription (save on unused billing)
  • Announce to team via email/Slack:
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!
  • Monitor for 3 days:
    • Capture rate (% of meetings recorded)
    • Support ticket volume
    • User feedback
    • Integration sync health

Step 7 — Post-Migration Optimization

After 1 week on Granola exclusively:

  • Configure templates for each meeting type (see granola-core-workflow-a)
  • Set up Zapier automation for recurring workflows
  • Create custom recipes for team-specific post-meeting tasks
  • Establish folder structure matching team workflow
  • Delete source tool accounts and data (if no longer needed)

Key Differences from Bot-Based Tools

FeatureBot-Based (Otter, Fireflies, tl;dv)Granola
Meeting joinBot joins as participantNo bot — system audio capture
Participant awareness"Bot is recording" bannerNo banner (still announce recording for consent)
Platform supportPlatform-specific integrationsAny platform (captures system audio)
Typed notesSeparate appBuilt-in notepad merges with transcript
EnhancementAuto-generatedUser-controlled (click Enhance)
TemplatesLimited29 built-in + custom
ChatLimited or noneFull Granola Chat with Recipes
Built-in CRMNoPeople & Companies

Output

  • Source data exported and archived
  • Parallel run completed with quality validation
  • Team migrated and recording in Granola
  • Source tool deactivated and subscription cancelled
  • Historical data accessible in archive

Error Handling

ErrorCauseFix
Source export incompleteFree plan limits bulk exportUpgrade source plan temporarily for export, then cancel
Team resistance to changeComfort with existing toolShare quality comparison data from parallel run
Missing historical contextNo import feature in GranolaPoint team to archived data (Notion/Drive)
Audio quality different than botSystem audio vs. platform APIOptimize audio setup (see granola-performance-tuning)
Low adoption post-migrationSetup issuesRun drop-in support sessions, share quick-start guide

Resources

Next Steps

After migration, explore granola-performance-tuning to optimize output quality.

When not to use it

  • When a fresh start is preferred for historical data
  • When only individual notes need exporting from Otter.ai free plan
  • When video clips from Fathom are critical to transfer

Prerequisites

Access to source tool with export capabilityGranola workspace configuredMigration timeline agreed with stakeholdersBudget approved for Granola licenses

Limitations

  • Granola does not import historical data from other tools
  • Otter.ai free plan only exports individual notes
  • Custom fields from Fireflies.ai may not export

How it compares

This skill provides a structured migration process for meeting notes, unlike manually transferring data or starting fresh without a plan.

Compared to similar skills

granola-migration-deep-dive side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
granola-migration-deep-dive (this skill)127dReviewIntermediate
pptx3936moReviewAdvanced
nano-pdf632moReviewBeginner
video-downloader1017moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

You might also like

pptx

anthropics

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

393763

nano-pdf

openclaw

Edit PDFs with natural-language instructions using the nano-pdf CLI.

63300

video-downloader

ComposioHQ

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

101255

youtube-transcript

michalparkola

Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.

68277

using-superpowers

obra

Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists

95205

browser-automation

browserbase

Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. Triggers include "browse", "navigate to", "go to website", "extract data from webpage", "screenshot", "web scraping", "fill out form", "click on", "search for on the web". When taking actions be as specific as possible.

39230

Search skills

Search the agent skills registry