AudioPen

by Louis Pereira
5
4
3
2
1
Score: 50/100
New Plugin

Description

Sync your AudioPen voice notes into your Obsidian vault.

Reviews

No reviews yet.

Stats

0
stars
downloads
0
forks
0
days
0
days
0
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
3
commits

Latest Version

4 hours ago

Changelog

  • Notes no longer include the AudioPen note ID. The audiopen_id property is gone, and notes with the same title are named Title (2).md instead of using the ID.
  • To remove the ID from notes synced by an earlier version, run Full re-sync once. Notes you've edited in Obsidian are left as they are.

README file from

Github

AudioPen for Obsidian

The official AudioPen plugin: syncs your AudioPen voice notes into your Obsidian vault as Markdown files. Requires an AudioPen Prime plan.

What it does

  • Works in any vault: install it in your everyday vault and your notes land in an AudioPen folder (you can rename it), or give AudioPen a vault of its own.
  • Each note becomes AudioPen/<folder>/<title>.md, with its title, dates, folder and tags in the frontmatter, the note text as the body, and the original transcript in a collapsed callout underneath. Notes with the same title become Title.md, Title (2).md, and so on.
  • Files carry no AudioPen note id. The plugin remembers which file belongs to which note in its own data file.
  • Sync is one way, AudioPen → Obsidian. It runs on startup, on a timer (default every 5 minutes), when you switch back to Obsidian (at most once a minute), from the ribbon icon, or with the Sync now command. Setting Sync automatically to Off leaves only startup and manual syncs.
  • Notes you edit in Obsidian are never overwritten. If the note later changes in AudioPen, that change is skipped and the sync notice says so.
  • Notes you delete in Obsidian stay deleted. Full re-sync restores them.
  • Notes you move or rename in Obsidian stay where you put them; they are still updated in place (unless you've also edited them). Moves are noticed while the plugin is enabled; a note moved while it's disabled counts as deleted until a Full re-sync, which puts a fresh copy back in the AudioPen folder.
  • Notes deleted in AudioPen keep their Obsidian file. The plugin just stops tracking them.

The login token is kept in Obsidian's secret storage, not in the vault, so it isn't synced or committed along with your notes.

Disclosures

  • Payment required: this plugin needs an AudioPen Prime subscription.
  • Account required: you sign in with your AudioPen account (email and a one-time code).
  • Network use: the plugin connects to AudioPen's servers (xcmm-5zfz-tplj.n7c.xano.io) to sign you in and download your notes. It only reads your notes; it never changes or deletes anything in AudioPen, and sends nothing from your vault.

How it talks to AudioPen

All calls go to the AudioPen Xano backend with Obsidian's requestUrl:

Purpose Endpoint
Send login code POST api:x4ocgg3f/auth/magic-otp-post
Verify code → token (valid 1 year) POST api:x4ocgg3f/auth/magic-login_otp
Check plan at connect time GET api:mcp/me
Incremental sync feed GET api:sync/changes?since=&until=&after_id=&per_page=

sync/changes returns notes created or modified in the window (since, until] plus ids of notes deleted in it. Pages are keyed on note id with until held fixed, and the final until becomes the next sync's since.

Development

npm install
npm run dev        # rebuilds main.js on change
npm test           # unit tests (render + sync engine against a fake vault)
npm run build      # typecheck + production main.js

To try it in a vault, copy main.js and manifest.json into <vault>/.obsidian/plugins/audiopen/, then enable AudioPen under Settings → Community plugins.

Testing against a Xano branch

Before the sync endpoints are on the live Xano branch, point the plugin at a test branch: close Obsidian, edit <vault>/.obsidian/plugins/audiopen/data.json and set settings.branch to the branch name (for example "obsidian-sync"). Every request then carries an X-Branch header. Set it back to "" afterwards.

Releasing

  1. npm version patch (or minor/major) bumps manifest.json and versions.json.
  2. npm run build.
  3. Create a GitHub release whose tag is exactly the version (no v prefix) and attach main.js and manifest.json.
  4. First release only: sign in at community.obsidian.md, link the GitHub account that owns the repo, and add the plugin to the Community directory as Optional payment: the plugin itself is free, but it relies on a paid third-party service (AudioPen Prime). Fix anything the automated review flags and publish a new release. After that, each new GitHub release reaches users as an update.