Sync Modes
N2O gives you full control over how and when content flows between Notion and Obsidian. All automation settings live in Sync Configuration > Automation (open from N2O Settings or the Dashboard).
Sync Direction
Section titled “Sync Direction”The Sync Direction setting (Sync Configuration > Sync Behavior) controls which way data flows:
| Setting | What it does |
|---|---|
| Bidirectional | Pull from Notion + push Obsidian changes back |
| Notion → Obsidian only | Pull only — Obsidian edits are never pushed |
| Obsidian → Notion only | Push only — useful for writing-first workflows |
Free tier is always pull-only regardless of this setting.
Pull sync (Notion → Obsidian)
Section titled “Pull sync (Notion → Obsidian)”Free + Pro
Fetches content from Notion and writes it to your vault:
- Reads pages, databases, and media from the Notion API
- Converts Notion blocks to Markdown via N2O’s intermediate format
- Writes
.mdfiles with YAML frontmatter to your sync folder - Downloads images and file attachments to
_files/subfolders
Pull sync is incremental — only pages with a newer last_edited_time in Notion since the last sync are re-fetched.
Commands:
N2O: Pull from Notion— pull only, no pushN2O: Sync with Notion (merge)— pull + push (bidirectional)N2O: Preview sync (dry run)— shows what would change without writing anything
Push sync (Obsidian → Notion)
Section titled “Push sync (Obsidian → Notion)”Pro only
Detects changes you make in Obsidian and writes them back to Notion:
- Compares file content hashes to detect changes since the last push
- Parses Markdown back into N2O’s intermediate format
- Uses content-aware block diffing — only changed blocks are updated in Notion, not the whole page
- Pushes updated frontmatter properties back to Notion database fields
Commands:
N2O: Push changes to Notion— push all changed filesN2O: Push current file to Notion— push the active file onlyN2O: Sync with Notion (merge)— pull + push together
Auto-sync (timed full sync)
Section titled “Auto-sync (timed full sync)”Pro only — Sync Configuration > Automation > Sync Mode
Set Sync Mode to Automatic to run a full pull sync on a timer:
- Interval: 1–60 minutes (default: 5 minutes)
- Each cycle runs a complete pull: discovery, new page pickup, orphan detection
- Uses the same Sync Direction setting — if bidirectional, also pushes changes
When to use: Catching structural changes — new pages, deleted pages, database schema updates.
Fast polling (real-time pull)
Section titled “Fast polling (real-time pull)”Pro only — Sync Configuration > Automation > Fast Polling
A lightweight check that detects Notion edits quickly without a full sync:
- Interval: 5–120 seconds (default: 30 seconds)
- Uses a single Notion Search API call per poll with a 2-minute lookback window
- Only fetches pages that actually changed — no unnecessary work
- Pauses automatically during a full sync to prevent race conditions
When to use: Catching edits to existing pages near-instantly. Pairs well with auto-sync — use fast polling for real-time edits (every 30s) and auto-sync for structural changes (every 15–30 min).
Auto-push (debounced push)
Section titled “Auto-push (debounced push)”Pro only — Sync Configuration > Automation > Auto-Push
Watches for file saves in your vault and pushes changes to Notion automatically:
- Delay: 3–30 seconds (default: 5 seconds)
- The timer resets each time you save — only pushes after you stop editing
- Works only on files that have already been synced (have a
notion_idin frontmatter) - Skips files just written by pull sync to prevent push-pull loops
- Pauses during a full sync
When to use: Live bidirectional editing — you write in Obsidian, Notion updates automatically a few seconds later.
Manual sync
Section titled “Manual sync”Free + Pro
Run any sync operation on demand:
| Command | What it does |
|---|---|
N2O: Sync with Notion (merge) | Full bidirectional sync |
N2O: Pull from Notion | Pull only |
N2O: Push changes to Notion | Push all changed files |
N2O: Sync current file with Notion | Bidirectional sync for the active file |
N2O: Pull current file from Notion | Pull the active file only |
N2O: Push current file to Notion | Push the active file only |
N2O: Preview sync (dry run) | Show changes without applying them |
You can also trigger sync from the N2O Dashboard (click the sidebar icon or run N2O: Open Dashboard) or by clicking the status bar.
Recommended setups
Section titled “Recommended setups”Casual reading (Free)
Section titled “Casual reading (Free)”Manual pull when you want updates. No automation needed.
Active writing (Pro)
Section titled “Active writing (Pro)”- Sync Direction: Bidirectional
- Auto-Sync: On, 15–30 minute interval
- Fast Polling: On, 30 seconds
- Auto-Push: On, 5-second delay
This gives near-real-time sync in both directions with minimal API usage.
Notion-first, Obsidian read-only
Section titled “Notion-first, Obsidian read-only”- Sync Direction: Notion → Obsidian only
- Fast Polling: On, 30 seconds
Feature comparison
Section titled “Feature comparison”| Feature | Free | Pro |
|---|---|---|
| Pull sync (manual) | ✓ | ✓ |
| Push sync (manual) | — | ✓ |
| Auto-sync (timed) | — | ✓ |
| Fast polling | — | ✓ |
| Auto-push | — | ✓ |
| Incremental sync | ✓ | ✓ |
| Page limit | 100 | Unlimited |
| Database limit | Unlimited | Unlimited |