Granola API Sync

approved

by StratosHouse

Sync meeting notes and full transcripts from Granola into your vault using the official Granola API. Just paste an API key, no credential scraping. - This plugin has not been manually reviewed by Obsidian staff.

87 downloadsUpdated 19d agoMIT

Granola API Sync

Sync your Granola meeting notes and full transcripts into Obsidian using the official Granola API.

No credential scraping, no keychain access, no native binaries. You paste an API key, your meetings appear in your vault.

Why this plugin

Earlier Granola↔Obsidian integrations worked by borrowing the Granola desktop app's encrypted local credentials. That approach breaks every time Granola changes its internal storage (most recently July 2026), and it needs deep OS access (keychain / DPAPI) to work at all.

Granola released an official public API in February 2026. This plugin is built on it exclusively:

  • Stable, a documented, versioned API instead of reverse-engineered internals
  • Private, the only thing stored is your API key, locally in your vault
  • Portable, pure API calls; works on desktop and mobile
  • Complete, meeting summaries and full timestamped transcripts

Requirements

A Granola Business (or Enterprise) plan. API keys are a Granola Business feature, that's Granola's gate, not this plugin's. Any workspace member on a Business plan can create a personal key.

Setup

  1. In the Granola desktop app: Settings → API → Create new key. Copy the grn_... key.
  2. In Obsidian: Settings → Granola API Sync, paste the key.
  3. Set your notes folder (default Granola/) and sync interval.
  4. Run "Granola API Sync: Sync now" from the command palette, or just wait, it syncs automatically.

Optionally set Your email so you're excluded from attendee lists and your own transcript lines are labeled with your name.

What you get

For each meeting, a note like:

---
granola_id: 874b7bfd-...
title: Weekly Planning
type: note
created: 2026-07-16T18:59:50.339Z
updated: 2026-07-16T20:06:42.499Z
attendees:
- colleague@company.com
transcript: '[[Granola/transcripts/Weekly Planning-transcript.md]]'
granola_url: https://notes.granola.ai/d/874b7bfd-...
source: granola-api-sync
---

### Meeting summary
- ...

plus a linked transcript note with the full conversation as timestamped, speaker-labeled turns.

Notes are keyed by granola_id: re-syncs update in place (Granola keeps enriching summaries for a while after a meeting ends, those updates flow in automatically). Recurring meetings with identical titles get date-suffixed filenames. Notes previously created by other Granola sync plugins that use the same granola_id convention are adopted in place, not duplicated.

Settings

SettingDefaultNotes
API key(none)grn_..., stored locally
Notes folderGranolacreated if missing
Sync transcriptsonfull transcript as a linked note
Transcripts folderGranola/transcripts
Sync interval5 min1–60
Days to look back7window kept in sync, 1–90
Your email(none)excluded from attendees; labels your lines
Show sync notificationsonerrors always shown

Privacy & disclosure

  • Your API key and meeting content never leave your machine except for direct calls to public-api.granola.ai.
  • No telemetry, no third-party services.
  • This plugin is not affiliated with Granola. Use is subject to Granola's Terms of Service.

License

MIT © Arshia Navabi (Stratos House AI)

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.