Package Information
Downloads: 2 weekly / 95 monthly
Latest Version: 1.3.1
Author: Abdo
Documentation
n8n-nodes-notion-markdown-unified
Unified n8n node that converts Markdown to Notion blocks and creates them in a page
✨ Features
- Single Operation: Markdown → Notion blocks in one step
- Smart Page Resolution: Accepts IDs, URLs, or page titles
- Full Markdown Support: All standard syntax + tables, code blocks, etc.
- Optional Base64 Images: Avoid Notion's URL expiration
- Flexible Creation: Append or replace existing content
📦 Installation
npm install n8n-nodes-notion-markdown-unified
🚀 Quick Start
- Install the node in your n8n instance
- Add your Notion integration token in n8n credentials
- Create a workflow with the "Notion Markdown Unified" node
- Configure parameters:
- Page: Notion page ID, URL, or title
- Content: Your Markdown content
- Mode: Append or replace existing content
🔧 Configuration
Required Parameters
- Notion Integration Token: Your Notion API integration token
- Page Identifier: Notion page ID, URL, or page title
- Markdown Content: The markdown content to convert and create
Optional Parameters
- Creation Mode:
append- Add blocks to the end of the page (default)replace- Replace all page content with new blocks
- Convert Images to Base64: Convert image URLs to base64 to avoid expiration
- Preserve List Hierarchy: When flattening nested lists, preserve visual hierarchy with indentation (default: true)
- Max List Nesting Depth: Maximum nesting depth for lists (1-2, default: 2)
- Max Table Rows: Maximum rows per table before automatic splitting (10-100, default: 80)
- Tables exceeding this limit are automatically split into multiple tables
- Header rows are duplicated for each split table
- Notion API enforces a maximum of 100 rows per table
📋 Supported Markdown
Text Formatting
- Bold, italic,
strikethrough,code - Headers (H1-H6)
- Paragraphs and line breaks
- Blockquotes
- Horizontal rules
Lists
- Bulleted lists
- Numbered lists
- Todo lists with checkboxes
- Nested lists (automatically flattened to Notion's 2-level limit)
Advanced Elements
- Tables with headers (automatically split if exceeding row limits)
- Code blocks with syntax highlighting
- Images (with optional base64 conversion)
- Links
- Dividers
🔗 Page Resolution
The node accepts multiple page identifier formats:
// Page ID
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
// Page URL
"https://notion.so/My-Page-a1b2c3d4e5f67890abcdef1234567890"
// Page Title (requires title resolution enabled)
"My Project Documentation"
🛠️ Technical Details
- Built with: TypeScript
- Markdown Parser:
@tryfabric/martian - Notion API: Version 2022-06-28
- n8n Compatibility: Workflow version 1
- Dependencies:
@tryfabric/martian,node-fetch - Nested List Handling: Automatically flattens deeply nested lists to comply with Notion's 2-level nesting limit while preserving visual hierarchy
- Large Table Handling: Automatically splits tables exceeding 100 rows (configurable) into multiple tables with duplicated headers to comply with Notion API limits
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT License - see the LICENSE file for details.
🔗 Links
🛠️ Development
This project uses the Claude Fast framework for AI-assisted development. For developers working on this package, see CLAUDE.md for the complete development workflow and AI agent coordination system.