Notion Operations Reference
Orkes Conductor integrates with Notion to let you create and manage pages, databases, and blocks directly from your workflows. You can use the following operations to create, retrieve, update, and delete content in Notion, without leaving your workflow.
This page covers the parameters and expected output for each operation available in the Notion integration.
Create Page
Create a new page in Notion under a specified parent page or database.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Parent | The parent object for the new page, provided as a JSON string. Use page_id when the parent is a page, and database_id when the parent is a database.For example:
| string (JSON) | Required. |
| Properties | The page properties as a JSON string. For example, {"title":[{"text":{"content":"My Page"}}]}. | string (JSON) | Required. |
| Children | The page content as a JSON array of Notion block objects. Each block must follow the Notion block structure. For example, to add a paragraph: [{"object":"block","type":"paragraph","paragraph":{"rich_text":[{"type":"text","text":{"content":"Hello world"}}]}}]. | string (JSON array) | Optional. |
Returns the created Notion page object, including its ID, parent, properties, URL, and timestamps.
Retrieve Page
Retrieve the details and properties of a page by its ID.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Page Id | The ID of the page to retrieve. The page ID can be provided with or without dashes. To get the page ID, open the page shared with your integration in Notion. The page ID is the string of characters at the end of the URL:
| string | Required. |
Returns the Notion page object, including its ID, parent, properties, URL, and timestamps.
Update Page
Update the properties or archive status of an existing page.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Page Id | The ID of the page to update. The page ID can be provided with or without dashes. To get the page ID, open the page shared with your integration in Notion. The page ID is the string of characters at the end of the URL:
| string | Required. |
| Properties | The page properties to update as a JSON string. Property names must match the exact names defined in your database. For example, {"title":[{"text":{"content":"Updated Title"}}]}. | string (JSON) | Required. |
| Archived | Whether to archive the page. Set to true to archive the page, or false to restore it. | boolean | Optional. |
Returns the updated Notion page object, including its ID, parent, properties, URL, and timestamps.
Retrieve Page Property
Retrieve the value of a specific property from a page.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Page Id | The ID of the page to retrieve the properties from. The page ID can be provided with or without dashes. To get the page ID, open the page shared with your integration in Notion. The page ID is the string of characters at the end of the URL:
| string | Required. |
| Property Id | The ID of the property to retrieve. To get the property ID, use the Retrieve Page operation and copy the required id value from the property in the response. | string | Required. |
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of property item objects to return. Maximum value is 100. | integer | Optional. |
Returns the value and data of the specified property.
Create Database
Create a new database as a subpage under a specified parent page.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Parent | The parent page under which the new database will be created, provided as a JSON string. For example, {"type":"page_id","page_id":"<page-id>"}.To get the page ID, open the page shared with your integration in Notion. The page ID is the string of characters at the end of the URL:
| string (JSON) | Required. |
| Title | The database title as a JSON array string. For example, [{"type":"text","text":{"content":"My Database"}}]. | string (JSON array) | Required. |
| Properties | The database properties schema as a JSON string. For example, {"Name":{"title":{}},"Status":{"select":{}}}. | string (JSON) | Required. |
Returns the created Notion database object, including its ID, parent, title, properties schema, and timestamps.
Retrieve Database
Retrieve the details and schema of a database by its ID.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Database Id | The ID of the database to retrieve. The database ID can be provided with or without dashes. To get the database ID, open the database in Notion. The database ID is the string of characters at the end of the URL:
| string | Required. |
Returns the Notion database object, including its ID, parent, title, properties schema, URL, and timestamps.
Update Database
Update the title, properties schema, or archive status of an existing database.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Database Id | The ID of the database to update. The database ID can be provided with or without dashes. To get the database ID, open the database in Notion. The database ID is the string of characters at the end of the URL:
| string | Required. |
| Title | The updated database title as a JSON array string. For example, [{"type":"text","text":{"content":"My Database"}}]. | string (JSON array) | Optional. |
| Properties | The updated database properties schema as a JSON string. For example, {"Name":{"title":{}},"Status":{"select":{}}}. | string (JSON) | Optional. |
| Archived | Whether to archive the database. Set to true to archive, or false to restore it. | boolean | Optional. |
Returns the updated Notion database object, including its ID, parent, title, properties schema, URL, and timestamps.
List Databases
List databases accessible to the integration.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of entries to return. Maximum value is 100. | integer | Optional. |
Returns a list of database objects accessible to the integration, a nextCursor for pagination, and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.
Query Database
Query a database to retrieve entries based on filter and sort criteria.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Database Id | The ID of the database to query. The database ID can be provided with or without dashes. To get the database ID, open the database in Notion. The database ID is the string of characters at the end of the URL:
| string | Required. |
| Filter | The filter conditions as a JSON string. Leave empty to return all entries. | string (JSON) | Optional. |
| Sorts | The sort conditions as a JSON array string. For example, [{"property":"Name","direction":"ascending"}]. | string (JSON array) | Optional. |
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of entries to return. Maximum value is 100. | integer | Optional. |
Returns a list object containing the query results. The response includes a results array of page objects matching the filter criteria, a nextCursor for pagination, and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.
Retrieve Block
Retrieve the details of a block by its ID.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the block to retrieve. The block ID can be provided with or without dashes. To get the block ID, hover over the block in Notion, select the ⋮⋮ icon on the left, and select Copy link to block. The block ID is the string after # in the copied URL: https://www.notion.so/<page-title>-<page-id>?source=copy_link#<block-id>. | string | Required. |
Returns the Notion block object, including its ID, parent, type, content, and timestamps.
Update Block
Update the content or archive status of an existing block.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the block to update. The block ID can be provided with or without dashes. To get the block ID, hover over the block in Notion, select the ⋮⋮ icon on the left, and select Copy link to block. The block ID is the string after # in the copied URL: https://www.notion.so/<page-title>-<page-id>?source=copy_link#<block-id>. | string | Required. |
| Block Content | The block content as a JSON string. The structure depends on the block type. For example, for a paragraph: {"paragraph":{"rich_text":[{"text":{"content":"Updated text"}}]}}. | string (JSON) | Optional. |
| Archived | Whether to archive the block. Set to true to archive, or false to restore it. | boolean | Optional. |
Returns the updated Notion block object, including its ID, parent, type, content, and timestamps.
Delete Block
Delete a block by its ID. Deleting a block in Notion archives it rather than permanently removing it.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the block to delete. The block ID can be provided with or without dashes. To get the block ID, hover over the block in Notion, select the ⋮⋮ icon on the left, and select Copy link to block. The block ID is the string after # in the copied URL: https://www.notion.so/<page-title>-<page-id>?source=copy_link#<block-id>. | string | Required. |
Returns the Notion block object with archived and inTrash set to true, confirming the block has been deleted.
List Block Children
Get child blocks of a page or block (with pagination)
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the page or block whose children you want to retrieve. The ID can be provided with or without dashes.
| string | Required. |
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of blocks to return. Maximum value is 100. | integer | Optional. |
Returns a list of child block objects, a nextCursor for pagination, and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.
Append Block Children
Append new blocks to an existing page or block.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the page or block to append children to. The ID can be provided with or without dashes.
| string | Required. |
| Children | The blocks to append as a JSON array string. For example, [{"object":"block","type":"paragraph","paragraph":{"rich_text":[{"text":{"content":"Hello"}}]}}]. | string (JSON array) | Required. |
Returns a list of the newly appended block objects.
Create Comment
Add a comment to a page or a discussion thread.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Parent | The parent page for the comment, provided as a JSON string. For example, {"type":"page_id","page_id":"<page-id>"}.To get the page ID, open the page in Notion. The page ID is the string of characters at the end of the URL:
| string (JSON) | Required. |
| Rich Text | The comment as a JSON array string. For example, [{"text":{"content":"This is a comment"}}]. | string (JSON array) | Required. |
| Discussion Id | The ID of an existing discussion thread to add the comment to. If provided, the comment is added as a reply to that thread. To get the discussion ID, copy the link to the comment in Notion. The discussion ID is the value of the d= parameter in the URL: https://www.notion.so/<page-title>-<page-id>?d=<discussion-id>&source=copy_link. | string | Optional. |
Returns the created Notion comment object, including its ID, parent, rich text content, and creation details.
List Comments
Retrieve comments for a page or block.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Block Id | The ID of the page or block to list comments from. The ID can be provided with or without dashes.
| string | Required. |
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of comments to return. Maximum value is 100. | integer | Optional. |
Returns a list of comment objects, a nextCursor for pagination, and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.
List Users
Retrieve all users in the Notion workspace.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of users to return. Maximum value is 100. | integer | Optional. |
Returns a list of user objects in the workspace. Each user object includes the user's ID, type (person or bot), name, avatar URL, and type-specific details. The response also includes a nextCursor for pagination and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.
Retrieve User
Retrieve the details of a user by their ID.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| User Id | The ID of the user to retrieve. The user ID can be provided with or without dashes. To get the user ID, use the List Users operation and copy the id value from the response. | string | Required. |
Returns the user object, including the user's ID, type (person or bot), name, avatar URL, and type-specific details.
Get Current User
Retrieve the bot user associated with the API token used in the integration.
- Input Parameters
- Output Parameters
This operation has no input parameters.
Returns the bot user associated with the API token, including its ID, name, and workspace details.
Search
Search for pages and databases in the Notion workspace by title.
- Input Parameters
- Output Parameters
| Parameter | Description | Type | Required/Optional |
|---|---|---|---|
| Query | The search query string to match against page and database titles. | string | Required. |
| Filter | Filter results by object type. Use page or database, or provide a full JSON string. For example, {"property":"object","value":"page"}. | string | Optional. |
| Sort | The sort direction for results. Use ascending or descending, or provide a full JSON string. For example, {"direction":"ascending","timestamp":"last_edited_time"}. | string | Optional. |
| Start Cursor | The start cursor for pagination. To paginate through results, pass the nextCursor value from the previous response into this field. | string | Optional. |
| Page Size | The maximum number of results to return. Maximum value is 100. | integer | Optional. |
Returns a list of page and database objects matching the search query, a nextCursor for pagination, and a hasMore flag indicating whether there are more results. If hasMore is true, pass the nextCursor value into the Start Cursor parameter to retrieve the next page.