Notion node reference - all 43 operations, the credential it needs, and a worked example.
Calls the Notion API with an internal integration token across 43 operations, grouped by resource: pages (create in a database, create a row from JSON, create under a page, get, get as markdown, get one property, update properties, set icon and cover, lock/unlock, move to a new parent, trash, restore), blocks (append a paragraph, append a heading/list/to-do/quote/callout/code/divider, append raw JSON blocks, get, list children, update text, trash, restore), databases (create, get with its data sources, update title and appearance, query rows, trash), data sources (query rows, get the property schema, add one to a database, change the schema), users (list, get, get the integration's own bot user), comments (add to a page or block or reply to a discussion, list, get, edit, delete), title search across pages and data sources, and the file-upload flow (start, upload contents, finish a multi-part upload, get status, list). Requests are sent with Notion-Version 2026-03-11, so database rows are read through data sources; every operation names the integration capability it needs, and every list returns Notion's cursor so a Loop node can walk all pages.
Credential: Notion integration token - see Credentials.
Each operation below lists the capability it needs. Capabilitys are ticked on the integration at notion.so/my-integrations — and the page or database must ALSO be shared with the integration under ••• → Connections. If a run fails with a permission error, the node names the missing capability in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Capability |
|---|
createPage | Create page in a database | Insert content |
createDatabaseItem | Create database row from JSON | Insert content |
createChildPage | Create page under a page | Insert content |
retrievePage | Get page | Read content |
retrievePageMarkdown | Get page as markdown | Read content |
retrievePageProperty | Get one page property | Read content |
updatePageProperties | Update page properties | Update content |
updatePageIcon | Set page icon and cover | Update content |
setPageLock | Lock or unlock page editing | Update content |
movePage | Move page to a new parent | Update content |
archivePage | Move page to trash | Update content |
restorePage | Restore page from trash | Update content |
| Operation | What it does | Capability |
|---|
appendBlock | Append paragraph | Insert content |
appendRichBlock | Append heading, list, to-do or code | Insert content |
appendBlocksJson | Append blocks from JSON | Insert content |
retrieveBlock | Get block | Read content |
retrieveBlockChildren | List child blocks | Read content |
updateBlock | Update block text | Update content |
deleteBlock | Move block to trash | Update content |
restoreBlock | Restore block from trash | Update content |
| Operation | What it does | Capability |
|---|
createDatabase | Create database | Insert content |
retrieveDatabase | Get database and its data sources | Read content |
updateDatabase | Update database title or appearance | Update content |
queryDatabase | Query database rows | Read content |
archiveDatabase | Move database to trash | Update content |
| Operation | What it does | Capability |
|---|
queryDataSource | Query data source rows | Read content |
retrieveDataSource | Get data source schema | Read content |
createDataSource | Add data source to a database | Insert content |
updateDataSource | Update data source schema | Update content |
| Operation | What it does | Capability |
|---|
listUsers | List workspace users | Read user information |
retrieveUser | Get user | Read user information |
retrieveBotUser | Get my integration user | Read user information |
| Operation | What it does | Capability |
|---|
createComment | Add comment | Insert comments |
listComments | List comments | Read comments |
retrieveComment | Get comment | Read comments |
updateComment | Update comment | Insert comments |
deleteComment | Delete comment | Insert comments |
| Operation | What it does | Capability |
|---|
search | Search pages and data sources | Read content |
| Operation | What it does | Capability |
|---|
createFileUpload | Start a file upload | Insert content |
sendFileUpload | Upload file contents | Insert content |
completeFileUpload | Finish a multi-part upload | Insert content |
retrieveFileUpload | Get upload status | Read content |
listFileUploads | List uploads | Read content |
File each inbound support email as a row in a Notion database
A Gmail trigger delivers a new support email. The node creates a page in the support database using the subject as the row title, and drops the body in as the page's first paragraph block so the whole ticket is readable without leaving Notion.
Set Operation to createPage, then fill in:
| Field | Value | Notes |
|---|
databaseId | 1a2b3c4d5e6f7890abcdef1234567890 | The 32-character id from the database URL. Open it in Notion, ••• -> Connections, and add your integration or every call 404s |
titleProperty | Name | The database's title column; defaults to Name when left empty |
title | {{trigger.subject}} | The value written into that title column |
iconEmoji | 📨 | Optional page icon |
Sets {{ticket.id}} (the new page id), {{ticket.url}} (its Notion link), {{ticket.properties}} and the full page at {{ticket.page}}. Feed {{ticket.id}} into a second Notion node's blockId to append more blocks.