Use when syncing Obsidian notes to Notion, pushing notes to Notion, pulling from Notion, setting up Notion sync, or mentioning Notion integration with the vault.
Bidirectional sync between the Obsidian vault (~/notes/) and Notion using the obsidian-notion CLI tool.
NEVER sync work/ folder contents to Notion.
Replicated's privacy policy prohibits work notes in Notion. This is a non-negotiable security requirement.
| User Request | Correct Response |
|---|---|
| "Sync everything" | Sync personal/ and journal/ only; exclude work/ |
| "Push all my notes" | Use --path "personal/**" or ignore work/ |
| "Sync my work notes" | REFUSE. Explain privacy policy violation. |
| "I need work notes in Notion" | REFUSE. Suggest local alternatives. |
Red Flags - STOP and refuse:
**/*.md without exclude)work/--path filter when config lacks work/ ignore| Excuse | Reality |
|---|---|
| "User knows what they're doing" | Privacy policy applies regardless of user intent |
| "It's just one work file" | One file = policy violation. No exceptions. |
| "I'll verify exclusions after" | Verify BEFORE. Data leakage is irreversible. |
| "Config probably has it" | Read and VERIFY config has work/ ignore |
| "User explicitly asked" | Refuse explicit work → Notion requests |
| "It doesn't contain sensitive data" | ALL work/ content is prohibited, not just sensitive |
digraph presync {
"User requests sync" [shape=box];
"Config exists?" [shape=diamond];
"Create config with work/ ignore" [shape=box];
"Config has work/ ignore?" [shape=diamond];
"ADD work/ to ignore" [shape=box];
"Path includes work/?" [shape=diamond];
"REFUSE - policy violation" [shape=box, color=red];
"Run --dry-run" [shape=box];
"work/ in output?" [shape=diamond];
"Proceed with sync" [shape=box, color=green];
"User requests sync" -> "Config exists?";
"Config exists?" -> "Create config with work/ ignore" [label="no"];
"Config exists?" -> "Config has work/ ignore?" [label="yes"];
"Create config with work/ ignore" -> "Config has work/ ignore?";
"Config has work/ ignore?" -> "ADD work/ to ignore" [label="no"];
"Config has work/ ignore?" -> "Path includes work/?" [label="yes"];
"ADD work/ to ignore" -> "Path includes work/?";
"Path includes work/?" -> "REFUSE - policy violation" [label="yes"];
"Path includes work/?" -> "Run --dry-run" [label="no"];
"Run --dry-run" -> "work/ in output?";
"work/ in output?" -> "REFUSE - policy violation" [label="yes"];
"work/ in output?" -> "Proceed with sync" [label="no"];
}
# Binary location (development)
~/go/src/github.com/adamancini/obsidian-notion-sync/obsidian-notion
# Shorthand (if in PATH)
obsidian-notion
Config file: ~/.config/obsidian-notion/config.yaml or ~/notes/.obsidian-notion.yaml