n8n has two built-in Notion nodes: the Notion node, which works with blocks, data sources, databases, database pages, pages and users, and the Notion Trigger, which starts a workflow when a page is added to or updated in a database. Most Notion community nodes are helpers around it: they convert between Markdown and Notion blocks, split long text, or upload media. This guide covers the built-in nodes and their credential (from n8n’s documentation) and the Notion community packages on our hub (from the descriptions and READMEs their authors publish on npm, and our own download data).
Quick comparison
| Built-in Notion nodes | Notion community nodes | |
|---|---|---|
| Covers | Blocks, data sources, databases, database pages, pages and users, plus a trigger for database pages | Markdown conversion, long text, media uploads, page icons |
| Credential | Notion integration token or OAuth2 | Most reuse a Notion integration; the media and icon packages use your Notion session cookie (see below) |
| Comes with n8n | Yes | No, installed as a community package |
| n8n Cloud | Available | Only packages that n8n has verified |
What the built-in Notion node can do
- Block: Append After, Get Many, Get Markdown
- Data Source: Get, Search
- Database: Get
- Database Page: Create, Get, Get Many, Update
- Page: Archive, Create, Get Markdown, Search, Update Markdown
- User: Get, Get Many
The Notion Trigger has two events: Page added to database and Page updated in database.
Common issues from n8n’s documentation
- A relation property doesn’t show: the node only displays two-way relations. In Notion, turn on Show on [name of related database] for the relation, or update a one-way relation with the HTTP Request node and your Notion credential (a
PATCHtohttps://api.notion.com/v1/pages/<page_id>). - Toggleable headings: the node can add headings but not toggleable ones. Add a regular heading, then set
is_toggleableon that block with HTTP Request nodes. - Validation errors on empty values: fields with empty or null values can fail. Check the data with an If node first, or set a default value.
Set up the Notion credential
The credential needs a Notion account with admin level access and supports two methods: an API integration token for internal integrations (one workspace) and OAuth2 for public integrations. For an internal integration:
- In your Notion integration dashboard, select + New integration, give it a name and select Submit.
- On the Capabilities tab, select
Read content,Update content,Insert contentandUser information without email addresses, then save. - On the Secrets tab, copy the token into the Internal Integration Secret of your n8n credential.
- Share the pages n8n should use with the integration: on each page, open the triple dot menu, then Connections > Connect to, and pick your integration. Requests to a page that isn’t shared return an error.
For OAuth2, make the integration public on its Distribution tab, add n8n’s OAuth Redirect URL as a Redirect URI, and copy the Client ID and Client Secret into n8n.
Notion community nodes
Our Notion hub lists the Notion packages that pass our quality rule. The ones with a usable README, with the description each author gives on npm (weekly npm downloads as of 27 October 2026):

| Package | Weekly downloads | Author’s description |
|---|---|---|
| n8n-nodes-notion-markdown | 392 | Notion blocks and Markdown conversion |
| n8n-nodes-notion-upload-media | 180 | Uploading and listing media files in Notion blocks |
| n8n-nodes-md2notion | 12 | Markdown to Notion pages, with chunking for large documents |
| n8n-nodes-notion-advanced | 11 | Workflow node and AI Agent tool with 25+ block types (beta) |
| n8n-nodes-notion-set-icon | 7 | Setting custom icons on Notion pages |
| n8n-nodes-notion-rich-text-splitter | 0 | Split and append rich text past the 2,000 character limit |
| n8n-nodes-markdown-to-notion | 0 | Markdown to Notion blocks with the Martian library |
Markdown and Notion
n8n-nodes-notion-markdown, the most used Notion package, converts in both directions: Markdown to Notion blocks and Notion blocks to Markdown, with an option to turn images into base64. n8n-nodes-md2notion converts Markdown into Notion page blocks and, per its README, splits large documents into chunks, keeps math formulas and supports 16+ block types. n8n-nodes-markdown-to-notion converts Markdown, including GitHub Flavored Markdown, into Notion API blocks with the Martian library. The built-in node’s newer Get Markdown and Update Markdown operations on pages and blocks may already cover simpler cases, so try those first.
Long text
n8n-nodes-notion-rich-text-splitter works around Notion’s 2,000 character limit for a rich text block: it splits long text on word boundaries into several blocks, keeps formatting, and appends up to 100 blocks per request with delays between batches.
Media uploads and page icons
n8n-nodes-notion-upload-media uploads images, videos, audio and documents to a Notion block, and n8n-nodes-notion-set-icon sets a page icon from a URL or an uploaded image. Both READMEs say they use Notion’s internal API, which may change, and both ask for your Notion token_v2 browser cookie plus your space ID and user ID instead of an integration token. That cookie is your signed-in Notion session, so treat it like a password.
Two packages on the hub, n8n-nodes-unitalk-notion and its test copy, still carry a README that describes a GitHub example node, so we don’t describe them here. Check each node page here for the latest release and, where it has one, its GitHub repository for open issues before you build on a package.
How to choose
- Create, read or update pages and database entries: the built-in Notion node.
- Run a workflow when a database page is added or changed: the built-in Notion Trigger.
- Turn Markdown, such as AI output, into Notion content: the built-in Markdown operations first, then n8n-nodes-notion-markdown or n8n-nodes-md2notion for long or complex documents.
- Text longer than 2,000 characters in one block: n8n-nodes-notion-rich-text-splitter.
- Anything else in Notion’s API: the HTTP Request node with your Notion credential and Notion’s API documentation.
To install a package on a self-hosted instance, an owner or admin enters its npm name in Settings > Community Nodes; full steps are in How to Install n8n Community Nodes. On n8n Cloud only verified community nodes can be installed, see Verified vs Unverified n8n Community Nodes. Similar guides: Slack and GitHub.
FAQ
Does n8n have a Notion node?
Yes, two: the Notion node for blocks, data sources, databases, database pages, pages and users, and the Notion Trigger for new or updated database pages.
Why does the Notion node return an error for my page?
One common cause: the page isn’t shared with your Notion integration. Open the page’s triple dot menu, select Connections > Connect to and pick the integration.
Why can’t I see a relation property in n8n?
The Notion node only displays two-way relations. Turn on Show on [name of related database] for the relation in Notion, or use the HTTP Request node for one-way relations.
What is the most used Notion community node?
n8n-nodes-notion-markdown, with 392 weekly npm downloads on 27 October 2026.



