Your Granola notes want to live in Obsidian. Granola disagrees.
By Fazit
Granola writes excellent meeting notes — into Granola. There is no official Obsidian export, no Markdown folder, no local files you can point your vault at. So the community built the bridge itself, three different ways. Here is how each one works, where each one breaks, and the question the whole exercise raises: if the destination you actually want is a Markdown file in your vault, why does the note have to take a round trip through someone else’s database to get there?
Why this page exists
Search GitHub for “granola obsidian” and you will find multiple independently-built sync plugins, cache scrapers, and scripts — separate people solving the same problem from scratch. That is not a niche request; it is a product gap with a user base. Obsidian people want notes as files they own: greppable, linkable, versionable, readable in thirty years by anything that opens text. Granola’s notes live as rows in a cloud database and a local ProseMirror cache, readable by Granola.
Method 1 — community sync plugins
Community plugins (the best known is Granola Sync, with several forks and successors) authenticate against Granola’s unofficial API and pull your notes into a vault folder on a schedule. Setup is genuinely quick: install the plugin, extract your login token, choose a folder, sync.
Where it breaks. The API these plugins call is unofficial and undocumented. The token step means handing your Granola session credential to a third-party plugin. And every sync is one-directional and lossy — you get a Markdown rendering of a ProseMirror document, not the document itself. When Granola changes its API or its cache format, the plugin breaks until a volunteer maintainer catches up.
Method 2 — scraping the local cache
Granola keeps a local cache of your notes as ProseMirror JSON inside its application-support folder. Several published scripts parse that file directly and emit Markdown — no API, no token, works offline.
Where it breaks. You are reverse-engineering an app’s internal cache. The format is undocumented, unversioned for outsiders, and one update away from silently changing shape. This is the most fragile bridge of the three, and the fact that people run it anyway tells you how much they want the files.
Method 3 — copy-paste
The manual fallback: open the note in Granola, copy, paste into Obsidian, fix the formatting, add your links and tags. Five minutes per meeting, forever. Most people who start here end up at Method 1 or 2, which is how those projects got written.
GRANOLA WORKFLOW call → Granola cloud → web app → plugin/scraper → vault FILE-NATIVE call → note.md appears in your vault
The catch all three share
Every method above is a workaround for the same architectural decision: Granola stores your notes in its cloud first, and your vault is a downstream copy. That has two consequences no plugin can fix.
- The sync can always break. Unofficial API, undocumented cache — the bridge is permanently load-bearing and permanently unsupported.
- The audio still went to the cloud. Syncing the note to Obsidian does not change how it was made: your call audio was streamed to third-party transcription services, and the transcript lives on Granola’s servers. The file in your vault is a copy of a record someone else holds. The full data path is in our Granola alternatives comparison.
The architectural fix: skip the sync
Fazit approaches the same job from the opposite end. It captures the call on your Mac, transcribes it on-device, writes the note with a local model, and saves it as a Markdown file directly into your vault — YAML frontmatter, tags, wiki-linkable, one file per call. There is no cloud copy to sync from, no token to extract, no plugin to maintain. The vault is not the export destination; it is the only place the note has ever existed. And because transcription happens in memory on your machine, the audio was never sent anywhere — a property no sync method can retrofit. How that works is in Why “Never Records” Is Not Marketing.
Fair caveats in the other direction: Granola has mobile apps, Windows support, and team features; Fazit is a macOS app for 1:1 calls, and it is early. If you need meeting notes on an iPhone, keep the plugin. If your notes’ permanent home is an Obsidian vault on a Mac, the sync problem is optional.