🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Granola Meeting Transcripts

by @scald

Access Granola meeting transcripts and notes.

Versionv1.0.0
Downloads2,636
Installs8
Stars⭐ 4
TERMINAL
clawhub install granola

πŸ“– About This Skill


name: granola description: Access Granola meeting transcripts and notes. homepage: https://granola.ai metadata: {"clawdbot":{"emoji":"πŸ₯£","requires":{"bins":["python3"]}}}

granola

Access Granola meeting transcripts, summaries, and notes.

Setup

Granola stores meetings in the cloud. To access them locally:

1. Install dependencies:

pip install requests

2. Run initial sync:

python ~/path/to/clawdbot/skills/granola/scripts/sync.py ~/granola-meetings

3. Set up automatic sync via clawdbot cron:

clawdbot_cron({
  action: "add",
  job: {
    name: "Granola Sync",
    description: "Sync Granola meetings to local disk",
    schedule: { kind: "cron", expr: "0 */6 * * *", tz: "America/New_York" },
    sessionTarget: "isolated",
    wakeMode: "now",
    payload: {
      kind: "agentTurn",
      message: "Run the Granola sync: python {skillsDir}/granola/scripts/sync.py ~/granola-meetings",
      deliver: false
    }
  }
})

The sync script reads auth from ~/Library/Application Support/Granola/supabase.json (created when you sign into Granola on macOS).

Data Structure

After sync, each meeting is a folder:

~/granola-meetings/
  {meeting-id}/
    metadata.json   - title, date, attendees
    transcript.md   - formatted transcript  
    transcript.json - raw transcript data
    document.json   - full API response
    notes.md        - AI summary (if available)

Quick Commands

List recent meetings:

for d in $(ls -t ~/granola-meetings | head -10); do
  jq -r '"\(.created_at[0:10]) | \(.title)"' ~/granola-meetings/$d/metadata.json 2>/dev/null
done

Search by title:

grep -l "client name" ~/granola-meetings/*/metadata.json | while read f; do
  jq -r '.title' "$f"
done

Search transcript content:

grep -ri "keyword" ~/granola-meetings/*/transcript.md

Meetings on a specific date:

for d in ~/granola-meetings/*/metadata.json; do
  if jq -e '.created_at | startswith("2026-01-03")' "$d" > /dev/null 2>&1; then
    jq -r '.title' "$d"
  fi
done

Notes

  • Sync requires the Granola desktop app to be signed in (for auth tokens)
  • Tokens expire after ~6 hours; open Granola to refresh them
  • macOS only (auth file path is macOS-specific)
  • For multi-machine setups, sync on one machine and rsync the folder to others
  • βš™οΈ Configuration

    Granola stores meetings in the cloud. To access them locally:

    1. Install dependencies:

    pip install requests
    

    2. Run initial sync:

    python ~/path/to/clawdbot/skills/granola/scripts/sync.py ~/granola-meetings
    

    3. Set up automatic sync via clawdbot cron:

    clawdbot_cron({
      action: "add",
      job: {
        name: "Granola Sync",
        description: "Sync Granola meetings to local disk",
        schedule: { kind: "cron", expr: "0 */6 * * *", tz: "America/New_York" },
        sessionTarget: "isolated",
        wakeMode: "now",
        payload: {
          kind: "agentTurn",
          message: "Run the Granola sync: python {skillsDir}/granola/scripts/sync.py ~/granola-meetings",
          deliver: false
        }
      }
    })
    

    The sync script reads auth from ~/Library/Application Support/Granola/supabase.json (created when you sign into Granola on macOS).

    πŸ“‹ Tips & Best Practices

  • Sync requires the Granola desktop app to be signed in (for auth tokens)
  • Tokens expire after ~6 hours; open Granola to refresh them
  • macOS only (auth file path is macOS-specific)
  • For multi-machine setups, sync on one machine and rsync the folder to others