Skip to content

Supported Properties

N2O maps every Notion database property to YAML frontmatter in your Obsidian files. The table below shows the exact format and whether each property survives a push back to Notion.

Round-trip key:

  • ✓ — Full round-trip. Value preserved in both directions.
  • ◑ — Partial. Pulls correctly, but something is lost or changed on push. See notes.
  • ↓ — Pull only. Read-only in Notion API — cannot be written back.

Notion TypeFrontmatterExampleRound-tripNotes
Titlestringtitle: "My Page"Also used as the filename
Textstringdescription: "Some text"
Numbernumberpriority: 5
Selectstringstatus: "Active"Must match an existing option
Multi-selectstring[]tags: [a, b, c]Creates options if they don’t exist
Statusstringstatus: "In Progress"Must match an existing status group
Datestring (ISO)due: 2026-01-15
Date rangeobjectdate: {start: "2026-01-15", end: "2026-01-20"}
Checkboxbooleancompleted: true
URLstringwebsite: "https://..."
Emailstringemail: "user@example.com"
Phonestringphone: "+1234567890"
Peoplestring[]assignees: ["Alice", "Bob"]Display names shown; UUID stored internally for push
Filesstring[]attachments: ["file.pdf"]Downloaded locally; only external URLs are pushed back
Relationstring[] (wikilinks)related: ["[[Page A]]", "[[Page B]]"]Wikilinks that don’t resolve to synced pages are dropped on push
Formuladependsformula_result: 42Computed — cannot be written via API
Rollupdependsrollup_result: "Summary"Aggregated — cannot be written via API
Created timestring (ISO)created: 2026-01-10T09:00:00ZSystem-managed
Last edited timestring (ISO)updated: 2026-01-15T14:30:00ZSystem-managed
Created bystringcreated-by: "Alice"System-managed
Last edited bystringlast-edited-by: "Bob"System-managed
Unique IDstringuid: "PROJ-42"Auto-generated by Notion

Files attached to a Notion property are downloaded to your vault immediately during sync (Notion’s S3 URLs expire after ~1 hour). The frontmatter shows only the local filename:

attachments:
- report.pdf
- screenshot.png

On push, only external URL entries (items containing ://) are sent back to Notion. Local file paths are skipped — this prevents N2O from overwriting your Notion-hosted files with broken references.

Relations render as wikilinks:

related:
- "[[Project Alpha]]"
- "[[Meeting Notes — Jan 15]]"

On push, N2O resolves each wikilink back to a Notion page ID. If a linked page isn’t in your sync scope, the wikilink has no ID to resolve to and is dropped silently on push.

Formula results can be strings, numbers, booleans, or dates depending on the formula expression. Rollups can be numbers, dates, or arrays. Both are read-only — editing them in frontmatter has no effect on Notion.


These properties are never pushed back to Notion, even if you edit them in frontmatter:

  • formula — computed from other properties
  • rollup — aggregated from relations
  • created_time / last_edited_time — system timestamps
  • created_by / last_edited_by — system user references
  • unique_id — auto-generated by Notion

TypeReason
verificationNotion URL verification status — not writable via API
buttonUI-only trigger — no data to sync

Notion property names are converted to YAML-safe keys automatically:

Notion PropertyFrontmatter Key
Due Datedue-date
Statusstatus
Assignee(s)assignees
Priority #priority
My Property!my-property

Rules applied in order: lowercase → spaces to hyphens → strip non-alphanumeric (except _ and -) → collapse consecutive hyphens → trim leading/trailing hyphens.


In Sync Configuration > Database Configuration, click a database and open Property Mappings to rename, reorder, or exclude any property. Custom mappings override the default sanitized key:

  • Rename: Due Datedeadline instead of due-date
  • Exclude: Hide a property from frontmatter entirely
  • Format: Change how dates appear (ISO, human-readable, etc.)

Custom mappings are stored per database and survive across syncs.


A Notion property named “Tags” (case-insensitive, multi_select type) maps to Obsidian’s native tags: frontmatter key instead of tags as a regular property. This makes synced pages appear in Obsidian’s tag search and Dataview tag queries automatically.

All other multi_select properties render as regular YAML arrays.


Every synced file has three sections in its frontmatter:

---
# 1. Visual metadata (icon, cover)
icon: "🚀"
cover: "cover-photo.jpg"
# 2. User properties (from your database schema)
status: "In Progress"
due-date: 2026-01-15
tags:
- frontend
- feature
# 3. N2O sync metadata (do not edit)
notion_id: "abc123..."
notion_url: "https://notion.so/..."
created: 2026-01-10T09:00:00.000Z
updated: 2026-01-15T14:30:00.000Z
n2o_type: "database-item"
n2o_database: "db-uuid..."
n2o_parent_id: "parent-uuid..."
n2o_parent_type: "database"
---

The N2O sync metadata section is used internally to track sync state and resolve wikilinks. Editing these fields manually may cause sync issues.