notion-mcp__notion_create_page
Creates one Notion page: under a page, or as a row of a data source. Takes the parent, a title, property values as plain values (for a row), content as markdown, and an optional template. For a row, the data source schema is read once and each value is encoded against it. Returns the new page's id, url, title, parent and properties. A failed create is not sent again; a create that got no answer may still have happened, and notion_search by title shows whether it did. Content and a template are not taken together.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "notion-mcp__notion_create_page"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The page's title as plain text. Over 2,000 characters is split into several text pieces; the limit is 200,000. | |
| account | No | Optional email address of the connected account to use (e.g. 'user@gmail.com'). If omitted, the default account is used. | |
| content | No | The page content as Notion's enhanced markdown, with headings, lists, tables, code and to-dos. Absent creates an empty page. | |
| template | No | "default" for the data source's default template, or a template page's id or URL. Notion fills in the template's content and properties in the background after the call returns. | |
| properties | No | Property values as plain values keyed by property name, the shape notion_get_page returns: {"Status": "Done", "Tags": ["Docs"], "Due": "2026-10-30", "Estimate": 3, "Owner": ["<user id>"], "Done": true}. Values are checked against the data source schema before the write: an unknown name, a wrong value type or a select or status option that does not exist is refused in words, with the names the schema has. People and relations take ids; files take links; null clears a value. Formula, rollup, created and edited times, and unique ids are set by Notion and refused. | |
| allow_async | No | With content, true lets Notion accept a large page and build it in the background; the result is then a task id, not the page. | |
| parent_page_id | No | The parent page's Notion id or URL. Exactly one of parent_page_id and parent_data_source_id is set. | |
| parent_data_source_id | No | The parent data source's Notion id (notion_get_database lists a database's data sources). The page becomes a row of it. Exactly one of parent_page_id and parent_data_source_id is set. |