Daemon Behr58 downloadsDeploy and run Zoom Notes transcript sync into this vault (Python + Playwright backend).
Obsidian desktop plugin that deploys and controls a Python + Playwright backend to download Zoom AI Companion / My Notes transcripts into your vault.
| Plugin ID | zoom-mynotes-sync |
| Platform | Obsidian desktop on Windows, macOS, and Linux (isDesktopOnly) |
| Repo | script-repo/Zoom-MyNotes-Obsidian-plugin |
| Latest release | GitHub Releases |
.venv, installs dependencies, prepares the transcripts folder, registers a background job every 30 minutes, and ensures the plugin files are in the vaultscripts/register-task.ps1 when present)launchd)crontab entryZOOM_TRANSCRIPTS_DIR to <vault>/<output folder> on every run so notes land in your vaultZOOM_BROWSER_CHANNEL to msedge on Windows and chromium on macOS/Linux (overridable)The Python sync backend is bundled inside the plugin. Deploy wizard installs it automatically under your vault config folder — no separate clone or path setup.
Once this plugin is listed in the Obsidian community plugin directory:
BRAT installs plugins directly from GitHub releases.
Install BRAT from Community plugins (obsidian42-brat).
Open Settings → BRAT → Add beta plugin.
Paste:
https://github.com/script-repo/Zoom-MyNotes-Obsidian-plugin
Choose the latest release version when prompted.
Enable Zoom MyNotes Sync under Settings → Community plugins.
Continue with First-time setup.
Open the latest release.
Download these three files (do not download source zip only):
main.jsmanifest.jsonstyles.cssIn your vault, create this folder (create .obsidian / plugins if missing):
<YourVault>/.obsidian/plugins/zoom-mynotes-sync/
The folder name must match the plugin id: zoom-mynotes-sync.
Copy the three files into that folder. You should have:
<YourVault>/.obsidian/plugins/zoom-mynotes-sync/main.js
<YourVault>/.obsidian/plugins/zoom-mynotes-sync/manifest.json
<YourVault>/.obsidian/plugins/zoom-mynotes-sync/styles.css
In Obsidian: Settings → Community plugins — turn off Restricted mode if it is on.
Click Reload plugins (or restart Obsidian).
Find Zoom MyNotes Sync in the installed list and toggle it on.
Continue with First-time setup.
git clone https://github.com/script-repo/Zoom-MyNotes-Obsidian-plugin.git
cd Zoom-MyNotes-Obsidian-plugin
npm install
npm run build
Copy main.js, manifest.json, and styles.css into:
<YourVault>/.obsidian/plugins/zoom-mynotes-sync/
Or install straight into a vault:
# macOS / Linux
npm run install-vault -- "/path/to/your/vault"
# Windows (PowerShell)
npm run install-vault -- "D:\path\to\your\vault"
Then enable the plugin in Obsidian and reload.
<vault>/<configDir>/zoom-mynotes-backend.venv, pip installs dependenciesmynotes)Transcripts appear under the configured vault folder (default mynotes/), often with month subfolders.
The only interactive step after deploy is Zoom login (SSO cannot be automated without your credentials).
| Command | Action |
|---|---|
| Sync now | Run sync.py |
| Login (interactive SSO) | Run login.py (visible browser) |
| Open deploy wizard | Full backend + vault setup |
| Show latest sync log | Tail logs/sync-*.log from the sync repo |
| Open transcripts folder | Focus the vault output folder |
| Cancel running job | Kill the active child process |
| Setting | Default | Notes |
|---|---|---|
| Sync repo path | (empty / auto) | Absolute path to folder with sync.py |
| Python path | (auto) | .venv/Scripts/python.exe (Windows) or .venv/bin/python3 (macOS/Linux) |
| Transcripts folder | mynotes |
Vault-relative |
| Headless sync | on | Login always opens a window |
| Auto-sync (minutes) | 0 (off) |
While Obsidian is open; OS job covers background |
| Background job name | ZoomNotesSync |
Task Scheduler / LaunchAgent / cron marker |
| Symptom | What to try |
|---|---|
| Plugin missing after copy | Folder must be named zoom-mynotes-sync; enable under Community plugins; reload Obsidian |
| “Set … Sync repo path” | Point settings at the folder that contains sync.py |
| “Python not found” | Install Python 3.11+ (python3 on macOS/Linux), then re-run Deploy wizard |
| Login / sync browser fails | Re-run deploy (installs Chromium on macOS/Linux; Edge on Windows). Override with env ZOOM_BROWSER_CHANNEL if needed |
| macOS LaunchAgent failed | Check ~/Library/LaunchAgents/com.zoom-mynotes-sync.*.plist and logs/launchd-*.log in the sync repo |
| Linux cron failed | Ensure crontab is available; inspect crontab -l and logs/cron-sync.log |
| No notes in vault | Confirm Transcripts folder and that sync exited successfully (Show latest sync log) |
npm install
npm run dev # watch build → main.js
npm run build # production build
Bump version in manifest.json and package.json (same value, no v prefix).
Add "<version>": "<minAppVersion>" to versions.json.
Commit and push to main.
Tag and push the version (triggers .github/workflows/release.yml):
git tag 1.0.0
git push origin 1.0.0
Confirm the GitHub Release attaches main.js, manifest.json, and styles.css.
Obsidian loads community installs from GitHub release assets, not from the git tree alone. The manifest.json at the repo root must match the latest release tag.
To list this plugin in Obsidian’s Community plugins browser, a pull request is opened against obsidianmd/obsidian-releases adding an entry to community-plugins.json:
{
"id": "zoom-mynotes-sync",
"name": "Zoom MyNotes Sync",
"author": "DaemonBehr",
"description": "Deploy and run Zoom Notes transcript sync into this vault (Python + Playwright backend).",
"repo": "script-repo/Zoom-MyNotes-Obsidian-plugin"
}
Requirements before/during review:
manifest.json → version, with main.js, manifest.json, and styles.css attachedid never changes after publish (zoom-mynotes-sync)Until the PR is merged, use BRAT or manual install above.
MIT — see LICENSE.