Notion - Create Page
↩ Part of the Notion integration.
Description
Section titled “Description”This module creates a page in Notion with POST /pages. The parent can be a database — in which case the new page is a row of that database — or another page, in which case the new page is a subpage.
Properties are passed as JSON in Notion’s own typed format, and you can optionally send an array of content blocks to fill the page from the start.
Configuration
Section titled “Configuration”| Field | Type | Required | Description |
|---|---|---|---|
credentials_id | credentials | Yes | Notion credential |
database_id | text | Conditional | Parent database id (the page becomes a row) |
parent_page_id | text | Conditional | Parent page id (if the parent is not a database) |
properties | json | Yes | Page properties in Notion format |
children | json | No | Initial content blocks (JSON array) |
You must provide either database_id or parent_page_id. If both are set, database_id wins.
Credentials
Section titled “Credentials”This module requires a Notion credential.
| Field | Description |
|---|---|
token | Internal Integration Secret from notion.so/my-integrations |
notion_version | Optional. Value for the Notion-Version header (default 2022-06-28) |
Output
Section titled “Output”{ "nextModule": null, "data": { "object": "page", "id": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e", "created_time": "2026-03-04T10:22:00.000Z", "url": "https://www.notion.so/8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e", "parent": { "type": "database_id", "database_id": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d" }, "properties": { "Name": { "title": [ { "text": { "content": "Acme Ltd" } } ] } } }, "_meta": { "moduleVersion": "1.0.0", "success": true, "id": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e", "url": "https://www.notion.so/8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e", "totalMs": 412 }}Usage Example
Section titled “Usage Example”New row in a leads database
Section titled “New row in a leads database”{ "credentials_id": 12, "database_id": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d", "properties": { "Name": { "title": [ { "text": { "content": "{{data.company}}" } } ] }, "Email": { "email": "{{data.email}}" }, "Status": { "select": { "name": "New" } }, "Score": { "number": 87 } }}Subpage with initial content
Section titled “Subpage with initial content”{ "credentials_id": 12, "parent_page_id": "5c6d7e8f-9a0b-1c2d-3e4f-5a6b7c8d9e0f", "properties": { "title": [ { "text": { "content": "Weekly report" } } ] }, "children": [ { "object": "block", "type": "heading_2", "heading_2": { "rich_text": [ { "type": "text", "text": { "content": "Summary" } } ] } }, { "object": "block", "type": "paragraph", "paragraph": { "rich_text": [ { "type": "text", "text": { "content": "{{data.summary}}" } } ] } } ]}- When the parent is a database, the property names must match the database columns exactly, including capitalisation, or Notion answers 400.
- When the parent is a page, the only property is
title. - If
propertiesis not valid JSON, the node stops with avalidationerror before calling Notion. - The page or database must be shared with the integration (··· → Add connections), otherwise the call returns 404.
_meta.urlgives you the public Notion URL of the new page, handy for a follow-up notification.
Related Nodes
Section titled “Related Nodes”- Notion - Update Page — change the properties of the page you just created.
- Notion - Append Content — add more blocks afterwards.
- Notion - Query Database — check whether the row already exists before creating it.