Notion
io.notion Storage v0.1.0 Works with Notion: create a page (in a database or under a page), get or update a page's properties, query a database (filter/sorts, cursor pagination), or append blocks to a page. Uses a Notion OAuth2 credential or a pasted internal-integration token.
Ports
| Direction | Port | Label |
|---|---|---|
| Input | input | Payload |
| Output | output | Result |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
CredentialcredentialId | credential | "" | Use a stored credential for this connection — its fields are filled in at run start. Pick "None" to enter the connection details manually. accepts credential templates: notion-oauth2notion-token |
Access tokenaccessToken | string | "" | Notion access token — a connected OAuth2 credential or a pasted internal-integration token (secret_…). Empty is allowed here; it must resolve by run time. |
Operationoperation | select | "queryDatabase" | Create a page, get or update a page's properties, query a database, or append blocks to a page. createPagegetPageupdatePagequeryDatabaseappendBlocks |
Parent typeparentType | select | "database" | Create the page inside a database (row) or under another page (subpage). databasepage Shown when (operation ?? "queryDatabase") === "createPage" |
Parent IDparentId | string | "" | The database or page ID the new page is created in — the 32-char token in its URL. Shown when (operation ?? "queryDatabase") === "createPage" |
Propertiesproperties | json | {} | Notion page properties as JSON, e.g. { "Name": { "title": [{ "text": { "content": "Task" } }] } }. Shown when ["createPage", "updatePage"].includes(operation ?? "queryDatabase") |
Children blockschildren | json | [] | JSON array of Notion block objects — initial content for Create page, the appended blocks for Append blocks. Shown when ["createPage", "appendBlocks"].includes(operation ?? "queryDatabase") |
Page IDpageId | string | "" | The page to get or update. Shown when ["getPage", "updatePage"].includes(operation ?? "queryDatabase") |
Block IDblockId | string | "" | The block (a page ID works) the children are appended to. Shown when (operation ?? "queryDatabase") === "appendBlocks" |
Database IDdatabaseId | string | "" | The database to query. Shown when (operation ?? "queryDatabase") === "queryDatabase" |
Filterfilter | json | {} | Notion filter object as JSON, e.g. { "property": "Status", "select": { "equals": "Open" } }. Empty = no filter. Shown when (operation ?? "queryDatabase") === "queryDatabase" |
Sortssorts | json | [] | JSON array of Notion sort objects, e.g. [{ "property": "Due", "direction": "ascending" }]. Empty = database order. Shown when (operation ?? "queryDatabase") === "queryDatabase" |
Return allreturnAll | boolean | false | Follow the page cursor until every match is returned. Shown when (operation ?? "queryDatabase") === "queryDatabase" |
Limitlimit | int | 100 | Without Return all, stop after this many results (page size is capped at Notion's 100). Shown when (operation ?? "queryDatabase") === "queryDatabase" |
Notion versionnotionVersion | string | "2022-06-28" | The Notion-Version header sent with every call. |
Base URLbaseUrl | string | "" | Notion API base URL (override for testing; also NINER_NOTION_API_BASE). Blank = https://api.notion.com. |
Timeout (ms)timeoutMs | int | 30000 | Abort each API request after this many milliseconds. |
This page is generated from the node registry by gen-node-docs.mjs on every
site build — ports, properties, defaults and visibility rules cannot drift from the code.