granola-organizer saves every Granola transcript as a markdown file and puts it where it belongs, on its own. Then you can ask Claude about any call you have ever had.
Download for Claude Desktop granola-organizer.mcpb · 20 MB · macOSYou need a Granola Business plan. This reads Granola's official API, and API keys are a Business feature. It cannot work on the free plan. Why that trade is deliberate.
One markdown file per meeting: the details up top, Granola's summary, then the full transcript with who said what and when.
---
title: "Quarterly review"
date: 2026-07-31 11:30 EDT
attendees:
- dana@example-client.com
---
# Quarterly review
## Transcript
[00:00] Me: Thanks for making the time.
[00:04] Dana Smith: Of course. Where do you want to start?
[01:12] Dana Smith: Twelve percent on the expedited tier,
effective the first of next month.
That file lands in clients/Example Client/transcripts/ without you
doing anything, because the meeting had someone from that company on the invite.
Two ways. Pick the one that matches how you use Claude.
Download the extension and double-click it. Claude Desktop installs it.
In Granola: Settings → Connectors → API keys,
create a key, and save it to a file called api-key inside a
folder named .granola-organizer in your home directory.
Ask Claude: "turn on always-on saving." That sets up the background job. From then on your meetings file themselves, whether or not Claude is open.
Signed and notarized with Apple, so it just opens. No terminal, no security warning to click through.
uv tool install git+https://github.com/adampaulwalker/granola-organizer
Then set it up:
# save your Granola API key
mkdir -p ~/.granola-organizer
echo 'grn_your_key_here' > ~/.granola-organizer/api-key
chmod 600 ~/.granola-organizer/api-key
# choose where transcripts go
echo '{"transcript_folder": "~/Documents/Meetings"}' > ~/.granola-organizer/settings.json
# pull your history, then turn on automatic filing
granola-organizer backfill --dry-run # preview, writes nothing
granola-organizer backfill
granola-organizer install
granola-organizer status tells you whether automatic filing is on,
and granola-organizer uninstall turns it off again.
It reads the attendees and the title. A call with
dana@example-client.com goes to that client's folder. Rules live in a
small JSON file you control.
| Matched on | Use it for |
|---|---|
| Attendee email domain | The normal case |
| Title keyword | Calls with nobody from the company on the invite |
| A single meeting, by id | The one-off nothing else reaches |
When it cannot tell, it does not guess. The meeting goes to a
holding folder and status tells you why. A transcript in the wrong
client's folder is worse than one that is visibly unsorted, and roughly half of a
normal calendar is one-to-ones on personal addresses where nothing identifies a
company.
You choose the folder. It has been tested writing into Dropbox, Google Drive, OneDrive, an Obsidian vault, and plain local disk.
| Surface | Can read your transcripts |
|---|---|
| Claude Code | Yes, directly |
| Claude Cowork | Yes, directly. No terminal needed |
| Claude Desktop | Yes, through this extension |
| Claude in a browser | No. It cannot reach your filesystem |
Granola encrypted its local cache in 2026. Every tool that read that file stopped working, and several have been retired by their authors since:
The official API is the durable way to get your own transcripts out. It needs Granola Business. That is a deliberate trade: paying for a stable interface beats rebuilding after every release.
No. The filing is done by a small background program that macOS starts when you log in. Claude is only involved when you want to ask about a meeting.
A few minutes, not instantly. Granola has to finish writing its summary before the API will return the meeting.
granola-organizer uninstall, or ask Claude to turn off always-on
saving. Transcripts already saved stay where they are. Note that removing the
Desktop extension does not stop the background job, since the job runs
independently of Claude.
Only the request to Granola's own API for your own meetings. Transcripts are written straight to your disk. There is no server in the middle, and the tool has no third-party dependencies.
The command-line tool runs anywhere Python does. Automatic filing currently
uses macOS launchd; on Linux, run granola-organizer poll --interval 120
from a systemd user service. The Desktop extension is macOS only for now.
That was the earlier version, which read the local cache and stopped working when Granola encrypted it. This is the replacement. It reuses your old config folder if it finds one.