bryanbans443 downloadsTwo-way sync for your Markdown notes and Notion: one-click connect, wiki-links become Notion page mentions, and conflict-aware Push/Pull that never overwrites silently.
Two-way Obsidian ↔ Notion sync that turns your private vault into an AI-ready second brain for Claude, ChatGPT, and any Notion-aware agent.
Notional is a free, open-source Obsidian plugin for two-way Obsidian ↔ Notion sync. It's the missing bridge between the app where you think and the apps where your team — and your AI — work. Draft in the speed and privacy of Obsidian, then send polished, fully‑formatted pages to Notion in one click — links intact, structure preserved, nothing overwritten by surprise.
And because Notion is where AI agents like Claude, ChatGPT, and OpenClaw can read and write your knowledge, Notional doubles as the pipe that turns your private Obsidian vault into an AI-ready second brain — on your terms, with nothing leaving your device but the notes you choose. Jump to AI use cases ↓
You live in Obsidian. It's fast, it's private, it's yours. But the rest of the world lives in Notion — your clients, your teammates, your shared wikis.
So you copy. You paste. And it falls apart:
[[wiki-links]] turn into dead plain text.Notional ends the copy‑paste tax. One command, and your note lands in Notion looking the way it should.
You finish a note in Obsidian. You hit Push. Seconds later it's a clean Notion page your client can read — headings, checklists, tables, callouts, and your internal links converted into real Notion page mentions. You keep writing in Obsidian. Notion stays in sync. You never touch the clipboard.
The short version: Obsidian is where you (and local AI agents) write. Notion is where AI agents can read. Notional connects them — so your notes power Claude, ChatGPT, and friends without you copy-pasting into a chat box ever again.
Today's AI assistants split along one line. Local agents — Claude Code, Hermes, Cursor — read and write the plain Markdown in your vault directly. Cloud agents — OpenClaw, plus the Notion connectors and MCP (Model Context Protocol) integrations now built into Claude and ChatGPT — reach your knowledge through Notion's API. Obsidian has no official cloud API; Notion does. Notional is the bridge that lets both sides work from the same source of truth.
💡 Why route AI through Notion at all? Your Obsidian vault lives on disk with no shared cloud endpoint. Notion gives it a clean, permissioned API that every major AI agent already speaks — so Notional lets you grant AI access to a slice of your knowledge instead of all-or-nothing local file access.
🧑💼 The consultant You draft rough, honest notes in private — then your client expects a tidy Notion page. Push selected notes (or a whole project folder) straight to their workspace. Obsidian stays your backstage; Notion is the polished stage.
🔬 The researcher Your vault is a web of linked ideas. Notional turns those wiki-links into clickable Notion page mentions and preserves your deep nesting — so your research becomes a real, navigable team knowledge base instead of a flat copy-paste dump.
🗓️ The team lead Meeting notes start as fast local typing during the call. One click later they're a shared Notion doc your team can act on — and follow-up edits keep flowing.
🛠️ The builder Specs and docs are faster to write in Markdown, but review and discovery happen in Notion. Keep your Markdown the source of truth, let the team comment in Notion, and pull their changes back when you're ready.
📣 The publisher You want to share part of your vault, not expose every file path. Notional's scoped, folder-level publishing keeps you in control of exactly what goes public.
🤖 The AI tinkerer You run Claude, ChatGPT, or a custom agent against Notion and want it grounded in your notes — not the open web. Sync the relevant folders and your agent gets a curated, always-current knowledge base, while you keep writing in Obsidian. See Notional for AI agents.
Most sync tools make you nervous because you never know what they'll overwrite. Notional is built to be the opposite — calm, predictable, and honest:
Easiest: open Obsidian → Settings → Community plugins → Browse, search “Notional”, Install, then Enable.
Via BRAT (for early updates):
bryanbans/Notional
Or manually from the latest release into <vault>/.obsidian/plugins/notional/ (main.js, manifest.json, styles.css), then reload Obsidian.
Open Settings → Notional and pick whichever path you like:
Option A — Paste a token (fastest)
Option B — One-click “Connect with Notion” (OAuth)
https://bryanbans.github.io/Notional/oauth-callback.html.Then, point it at a home for your notes:
Open any note and Push it (ribbon icon, the Open sync panel command, or the command palette). After that first push the note is linked — use Sync from then on for the safe, timestamp-aware path.
| Command | What it does |
|---|---|
| Upload current note to Notion | Publishes the note you're in |
| Upload current folder to Notion | Publishes a whole project folder at once |
| Pull current note from Notion | Brings teammates' Notion edits back into Obsidian |
| Sync current note with Notion | Picks the right direction automatically |
| Open sync panel | One-click control center for the active note |
The sync panel is your at-a-glance cockpit: linked status, last-synced and last-edited times, change indicators on both sides, one-click Push / Pull / Sync, a recent-activity log, and — when both sides changed — a clear choice between Keep local and Keep Notion. No guessing.
flowchart LR
A["Obsidian Markdown"] --> B["Front matter parser"]
B --> C["Wiki-link resolver"]
C --> D["Martian Markdown -> Notion blocks"]
D --> E["Recursive Notion append"]
E --> F["Notion page"]
F --> G["Notion block reader"]
G --> H["Block -> Markdown converter"]
H --> I["Conflict-aware file update"]
I --> A
Sync state is stored in each note's front matter, so the link travels with the file:
notionPageId: ...
notionPageUrl: ...
notionLastEditedTime: ...
obsidianLastSyncedAt: ...
| File | Responsibility |
|---|---|
main.ts |
Plugin lifecycle, commands, scoped folder upload, OAuth, autosync |
view.ts |
Sync side panel and conflict actions |
settingTab.ts |
Connection and setup UI |
service/index.ts |
Upload, pull, sync orchestration |
service/notion.ts |
Notion REST calls and block conversion |
service/oauth.ts |
OAuth URL + token exchange (direct, secret stays local) |
service/utils.ts |
Front matter, wiki-link parsing, URL helpers |
service/types.ts |
Shared settings and sync result types |
> [!missing] callout — never dropped silently.Shipped
Next
Requires Node.js.
npm install
npm run build
npm run lint
npm test
Release assets are main.js, manifest.json, and styles.css. Tagging a commit whose name matches the manifest.json version (no v prefix) publishes a GitHub release with those assets and build-provenance attestations.
How do I sync Obsidian with Notion? Install Notional from Obsidian's Community plugins → Browse (search “Notional”), connect your Notion workspace with an API token or one-click OAuth, then use the Push, Pull, and Sync commands on any note. Notional converts Markdown to Notion blocks and keeps both sides in sync.
Does Notional do true two-way sync, or just export to Notion? True two-way. Push Markdown notes to Notion and pull Notion edits back into Obsidian. When both sides changed, it asks you which version to keep instead of guessing.
Is Notional free and open source? Yes — completely free, released under GPL v3.0, with full source on GitHub.
What happens to my [[wiki-links]] and nested notes?
Wiki-links become clickable Notion page mentions, and deeply nested outlines upload past Notion's per-call block limit, so your structure survives.
Is my data private? Yes. Notional runs entirely on your device, and during normal operation your notes and Notion token go directly from your machine to the Notion API — there's no Notional-operated server in the middle. Credentials are stored locally in the plugin's settings (not in an OS credential vault). The one exception is opt-in: if you configure a custom OAuth token-exchange endpoint, the authorization code is sent there instead. See the privacy policy.
Can I use Notional with AI agents like Claude, ChatGPT, or OpenClaw? Yes — that's a sweet spot. Local agents (Claude Code, Hermes) work directly on your Obsidian Markdown, while cloud agents reach knowledge through Notion's API. Notional syncs the two, so you can publish AI-drafted notes from Obsidian to Notion, expose a scoped slice of your vault as an agent-readable "second brain," and pull agent edits back — without silent overwrites. See Notional for AI agents.
How is Notional different from Nobsidion / obsidian-to-notion? Notional is an actively maintained continuation with one-click OAuth connect, a conflict-aware sync panel, folder-level publishing, and timestamp-based Pull/Sync. See Acknowledgements for lineage.
Notional is a maintained fork of the original Nobsidion work by Quan Phan, which itself traces back to Obsidian to Notion by EasyChris.
Notional is released under the GNU General Public License v3.0.