Skip to content

Syncing Notes

After configuring your Notion database in the plugin settings, you can start syncing your Obsidian notes to Notion.

Manual Sync

To sync a note, open the note you want to sync and use the "Share to NotionNext" command from the command palette or the note context menu. This will create a new page in your Notion database with the content of your Obsidian note.

Attachment Upload

The plugin automatically detects and uploads local attachments (images, PDFs, etc.) from your notes to Notion.

Supported Attachment Formats

Image formats:

  • PNG, JPG, JPEG, GIF, WebP, SVG, HEIC, TIF, TIFF, BMP

Other formats:

  • PDF

Currently supported:

markdown
![[image.png]]
![[folder/image.png]]
![[image.png|alt text]]

[[document.pdf]]
[[folder/document.pdf]]

Standard Markdown Format

markdown
![alt text](image.png)
![alt text](folder/image.png)
![](./relative/path/image.png)

[document.pdf](document.pdf)
[document.pdf](folder/document.pdf)

TODO

  • [ ] Obsidian URL Format

    markdown
    ![](obsidian://open?vault=MyVault&file=path/to/image.png)
  • [ ] App URL Format

    markdown
    ![](app://local/path/to/image.png)

How Attachment Upload Works

  1. Auto Detection: During sync, the plugin scans your note content and identifies all local attachment references
  2. Upload to Notion: Detected attachments are uploaded via the Notion File Upload API
  3. Link Replacement: After successful upload, local links are replaced with Notion file references
  4. Image Display: Images are displayed as Notion image blocks
  5. File Embedding: Non-image files like PDFs are embedded as file blocks

Notes

  • Attachment references inside code blocks are not processed
  • External URLs (http:// or https://) are not processed
  • Single file size limit is 5MB
  • Ensure attachment files exist in your Vault

Auto Sync

The plugin supports automatic syncing that monitors your notes for changes and automatically syncs them to Notion.

Enabling Auto Sync

  1. Open the plugin settings
  2. Find the "Auto Sync" toggle under General Settings
  3. Enable the toggle
  4. Configure the "Auto Sync Delay" (default: 5 seconds, minimum: 2 seconds)

Prepare the Frontmatter

Auto sync reads the database list from the frontmatter key you configured in Settings → Auto Sync Frontmatter Key (default: autosync-database). To make sure your notes can sync automatically:

  • Add the configured key to your note's frontmatter
  • List one or more database abbreviations that you defined in the plugin settings
  • Keep the list updated if you change the databases a note should sync to

Example with the default key:

yaml
---
title: My Article
autosync-database: [blog, portfolio]
---

If you change the key name in the settings, update your frontmatter to match.

How Auto Sync Works

When auto sync is enabled:

  • The plugin monitors markdown files for changes
  • Only files with the auto sync key in frontmatter will be processed
  • Files without the auto sync key are silently skipped - no sync operations or notices
  • Files containing internal attachments (local images/PDFs) are skipped - sync them manually
  • After you stop editing for the configured delay period, auto sync is triggered
  • First-time upload is supported: No need to manually sync first - just add the frontmatter key and the plugin will handle the initial upload
  • If a file is linked to multiple databases, it will sync to all of them automatically
  • After the first sync, a NotionID-{database} will be added to the frontmatter for future updates

Auto Sync Scenarios

Scenario A: New Document (First-Time Auto Upload)

yaml
---
title: My New Article
autosync-database: [blog]
---

Behavior:

  • ✅ Detects no NotionID present but autosync-database is configured
  • ✅ Automatically performs first-time upload to the Blog database
  • ✅ Adds NotionID-blog: xxx to the frontmatter after successful upload
  • ✅ Shows success/failure notification
  • 📝 No Action Required: The plugin handles the initial upload automatically

Scenario B: Synced to One Database

yaml
---
title: My Article
NotionID-blog: abc123
autosync-database: [blog]
---

Behavior:

  • ✅ Detects 1 NotionID
  • ✅ Automatically syncs to the Blog database
  • ✅ Shows success/failure notification from the upload command
  • 📝 No Action Required: Changes are automatically synced

Scenario C: Synced to Multiple Databases

yaml
---
title: My Article  
NotionID-blog: abc123
NotionID-portfolio: def456
NotionID-notes: ghi789
autosync-database: [blog, portfolio, notes]
---

Behavior:

  • ✅ Detects 3 database targets
  • ✅ Shows notice: "🔄 Auto sync: Syncing to 3 database(s)..."
  • ✅ Syncs to all 3 databases sequentially
  • ✅ Shows individual result notifications for each database
  • 📝 No Action Required: Changes are automatically synced to all linked databases

Scenario D: Custom Frontmatter Key

yaml
---
title: My Article
NotionID-blog: abc123
NotionID-portfolio: def456
🚀-sync-targets: [blog, portfolio]
---

Behavior:

  • ✅ Uses your custom key (for example 🚀-sync-targets) configured in settings
  • ✅ Syncs to the listed databases when NotionIDs are present
  • 📝 Remember: Update both the setting and your frontmatter if you rename the key

Auto Sync Best Practices

  1. Add Frontmatter Key: Just add autosync-database: [your-db] to enable auto sync - no manual upload needed
  2. Configure Delay Appropriately: Set a longer delay (5-10 seconds) if you make frequent edits
  3. Monitor Sync Status: Check the notifications to ensure syncs complete successfully
  4. Check Logs: Open the developer console (Ctrl+Shift+I / Cmd+Option+I) to view detailed sync logs

Troubleshooting

Having issues with auto sync? Check the Troubleshooting Guide for detailed solutions to common problems.