Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Akbun Notion Sync

choisungwookchoisungwook85 downloads

Sync your vault's markdown notes to Notion pages.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates13

Desktop-only Obsidian plugin that syncs every markdown note in your vault to Notion as child pages of a parent page.

How it works

  • Walks the whole vault, hashes each note with sha256, and compares against the last synced state (~/.config/akbun-notion-sync/sync-state.json).
  • New notes are created as Notion pages, changed notes are updated in place, and notes deleted from the vault are archived in Notion.
  • Notion API calls are throttled to 3 requests per second, and progress is shown via Obsidian notices.

Authentication

Two options, selectable in the settings tab:

  1. Integration token — paste an internal integration secret from notion.so/my-integrations. Remember to share the parent page with the integration.
  2. OAuth — enter your public integration's client ID and secret, register http://localhost:43110/callback as its redirect URI, then click Connect. Your browser opens Notion's consent page and the plugin receives the code on a temporary localhost server.

Credentials are stored in ~/.config/akbun-notion-sync/credentials.json with 0600 permissions — never inside the vault, so syncing your vault with git or cloud storage cannot leak tokens.

OAuth public integration guide

Notion's OAuth flow requires your own public integration — Notion does not support a client-less (PKCE-only) flow, so a client ID and secret are always needed. Set one up once:

  1. Open notion.so/my-integrations and click New integration.

  2. Under Type, choose Public. Fill in the required fields (name, company/website, privacy policy and terms URLs — personal links are fine for private use).

  3. In Redirect URIs, add exactly:

    http://localhost:43110/callback
    

    The plugin listens on this port only while the Connect button is waiting for the callback.

  4. Save, then copy the OAuth client ID and OAuth client secret from the integration's Configuration tab.

  5. In Obsidian, open the plugin settings, select OAuth as the authentication method, paste the client ID and secret, and click Connect.

  6. Your browser opens Notion's consent page. Pick the workspace and pages to share (include the parent page you sync into), then approve. The tab will say you can close it, and Obsidian shows a "Connected to Notion" notice.

The client secret and the access token are saved to ~/.config/akbun-notion-sync/credentials.json; you only need the secret again if you reconnect.

If this feels heavy, the Integration token method is simpler for a single personal workspace — create an internal integration, paste its token, and share the parent page with it.

Settings

  • Notion parent page ID — the page under which synced notes are created.
  • Folders to sync — comma-separated vault folder paths (e.g. notes, work/projects). Empty syncs the whole vault. Notes outside these folders are never created, updated, or archived — narrowing the scope leaves already-synced Notion pages untouched.
  • Sync interval (minutes) — 0 means manual only; otherwise the vault syncs automatically at that interval.
  • Sync now — trigger a sync immediately; the last sync time and result are shown next to the button.

Development

npm install
npm run dev     # watch build
npm test        # vitest unit tests
npm run build   # type-check + production bundle (main.js)

Copy main.js and manifest.json into <vault>/.obsidian/plugins/akbun-notion-sync/ to install a local build.

HealthExcellent
ReviewSatisfactory
About
Sync every Markdown note in your vault to Notion as child pages under a chosen parent page. Hash notes with SHA-256 to detect new, changed, or deleted files and create, update, or archive Notion pages; throttle API calls and show progress. Authenticate via integration token or OAuth with credentials stored outside the vault for safety.
SyncingIntegrations
Details
Current version
0.1.11
Last updated
2 months ago
Created
2 months ago
Updates
13 releases
Downloads
85
Compatible with
Obsidian 1.5.7+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
choisungwookchoisungwookchoisungwook
GitHubchoisungwook
  1. Community
  2. Plugins
  3. Syncing
  4. Akbun Notion Sync

Related plugins

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Sync Engine

The extensible vault synchronization engine: Fast · Free · Reliable. Supports WebDAV, S3, and Google Drive.

Nutstore Sync

Sync your vault with Nutstore (坚果云) using WebDAV protocol.

OneDrive Sync

Sync your Obsidian vault with OneDrive Personal/Consumer

Remotely Save

Sync notes between local and cloud with smart conflict: S3, Dropbox, webdav, OneDrive, Google Drive, Box, pCloud, Yandex Disk, Koofr, Azure Blob Storage.

Nextcloud Sync

Bidirectional sync between Obsidian and Nextcloud using hash-based change detection.

Air Sync

Keep your vault in sync across devices without managing sync—sync only what changed, preserve conflicting edits, and use your own Google Drive, OneDrive, or Dropbox.

BRAT

Easily install a beta version of a plugin for testing.