Access Granola meeting transcripts and notes.
Scanned 2/12/2026
Install via CLI
openskills install openclaw/skills---
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:**
```bash
pip install requests
```
2. **Run initial sync:**
```bash
python ~/path/to/clawdbot/skills/granola/scripts/sync.py ~/granola-meetings
```
3. **Set up automatic sync via clawdbot cron:**
```javascript
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:**
```bash
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:**
```bash
grep -l "client name" ~/granola-meetings/*/metadata.json | while read f; do
jq -r '.title' "$f"
done
```
**Search transcript content:**
```bash
grep -ri "keyword" ~/granola-meetings/*/transcript.md
```
**Meetings on a specific date:**
```bash
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
No comments yet. Be the first to comment!