Meeting Notes Sync - Obsidian Plugin
Meeting Notes Sync<br>Andrea Grandi14 downloads
Sync meeting transcripts, notes, and AI summaries from MacParakeet and Fellow into your vault.
Add to Obsidian
Overview<br>Scorecard<br>Updates6
*]:md:h-full">
Obsidian plugin that syncs your meeting transcripts, notes, and AI summaries into your vault — from MacParakeet and Fellow, one folder per meeting. A meeting recorded by both sources merges into a single folder instead of duplicating.
What it does
One folder per meeting , with a folder-note index plus the meeting's artifacts. Each artifact is tagged by source (Summary (MacParakeet).md, Summary (Fellow).md), so a meeting captured by both stays unambiguous.
Cross-source merge : meetings recorded by both sources land in one folder, matched by time-interval overlap (title similarity breaks ties). The index carries both source ids and the meeting interval; uncertain matches are flagged merge-confidence: low for review.
Incremental & non-destructive : each sync skips unchanged meetings, and a late Fellow recap merges into the folder MacParakeet already made. The vault is your archive — deleting a meeting in a source never touches your vault, and files you add to a meeting folder are left alone.
Meetings/2026/06 - June/2 - Weekly Standup - Jun 11th/<br>2 - Weekly Standup - Jun 11th.md ← index: macparakeet-id + fellow-id + interval<br>Summary (MacParakeet).md<br>Transcript (MacParakeet).md<br>Notes.md<br>Summary (Fellow).md<br>Action Items (Fellow).md<br>Transcript (Fellow).md
Sources
Each source is toggled independently; a disabled source is completely inert — no requests, writes, or notices.
MacParakeet — local CLI, opt-in
Reads meetings from macparakeet-cli (no network, no accounts, no database access). Requires macOS with MacParakeet installed (the CLI ships inside the app) or the standalone CLI (brew install moona3k/tap/macparakeet-cli), and Obsidian desktop. The plugin auto-detects the CLI (Homebrew paths, then the app bundle); override the path in settings if needed, and the health check confirms it. Enable it in Settings → Meeting Notes Sync.
Fellow — REST API, opt-in
Polls Fellow's REST Developer API for cloud AI recaps. Setup:
A paid Fellow plan , with a workspace admin enabling the API (Workspace Settings → Security).
Generate a personal API key (User Settings → Developer Tools) — scoped to what you can see, revocable, audit-logged.
In Settings → Meeting Notes Sync: enable Fellow, enter your subdomain (the acme in acme.fellow.app) and key , then use Check connection to verify.
⚠️ The Fellow key is stored in plaintext in data.json (standard for API-backed plugins). If your vault is in git or a synced folder, exclude that file and treat the key as a secret; revoke it in Fellow if it leaks.
Installation
Pending community-store review — until it lands there, install via BRAT (Add beta plugin → andreagrandi/obsidian-meeting-notes-sync), or manually drop main.js + manifest.json from a release into /.obsidian/plugins/meeting-notes-sync/ and enable the plugin. To build from source:
git clone https://github.com/andreagrandi/obsidian-meeting-notes-sync<br>cd obsidian-meeting-notes-sync && npm install && npm run build<br># copy main.js + manifest.json into /.obsidian/plugins/meeting-notes-sync/
Migrating from "MacParakeet Sync"
If you used an earlier build under the macparakeet-sync id: quit Obsidian, rename /.obsidian/plugins/macparakeet-sync/ → meeting-notes-sync/, reopen, and re-enable. This keeps data.json (numbering, snapshots, file ownership) so the next sync is a no-op instead of re-importing. Existing folders keep their names; only new artifacts get the source suffix.
Settings & usage
Sync runs shortly after launch and every 30 minutes (configurable; 0 disables), or on demand via the ribbon icon / Sync now . The main settings:
Sources — enable MacParakeet and/or Fellow (see above).
Base folder — where meeting folders go (empty = vault root, so the default template's Meetings/… is the root).
Path template — folder path per meeting (see tokens below).
Content — AI results (on), meeting notes (on), full transcript (off; transcripts are long). Applies to every source.
Sync since — only meetings on/after this date import (default: install date). Move it back to backfill history.
Path template tokens
{year} · {month} · {monthName} (June) · {monthShort} (Jun) · {day} · {dayOrdinal} (2nd) · {date} (YYYY-MM-DD) · {n} (per-month number) · {title}. Unknown tokens are left as-is.
Default: Meetings/{year}/{month} - {monthName}/{n} - {title} - {monthShort} {dayOrdinal} → Meetings/2026/06 - June/4 - Core sync-discovery - Jun 2nd. The trailing date disambiguates recurring meetings that share a title.
Merge tuning
Overlap threshold (fraction of the shorter meeting, default 0.5) and minimum overlap (minutes) govern when two sources' meetings are treated as one. Raise them to merge more conservatively.
Commands
Command<br>What it does
Sync now<br>Sync enabled sources; reports X new, Y...