# Notion (/integrations/notion)





{/* MANUAL-CONTENT-START:intro */}

Use Notion to read and manage pages, databases, blocks, and comments. Query a database or search the workspace to find the content a workflow needs; webhook triggers can start workflows when content changes.

{/* MANUAL-CONTENT-END */}

Connection guides: [Internal integrations](/integrations/notion-service-account).

## OAuth scopes [#oauth-scopes]

Sim requests no OAuth scopes for Notion. For a self-hosted deployment, register your own app with the provider using the settings below. See [Integrations and OAuth](/platform/self-hosting/integrations-oauth) for setup.

| Setting | Value |
| - | - |
| Redirect URI | `<NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/notion` |
| Environment variables | `NOTION_CLIENT_ID`, `NOTION_CLIENT_SECRET` |

## Use the block [#usage-instructions]

Choose an operation and select a connected account. Use Search Workspace to find content, Query Database to retrieve rows from a database, or Append Content to add blocks to a page.

## Actions [#actions]

### Notion Reader [#notion-reader]

Read content from a Notion page

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `pageId` | string | Yes | The UUID of the Notion page to read |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `url` | string | Notion page URL |
  | `created_time` | string | ISO 8601 creation timestamp |
  | `last_edited_time` | string | ISO 8601 last edit timestamp |
  | `content` | string | Page content in markdown format |
  | `title` | string | Page title |
</ReferenceDetails>

### Read Notion Database [#read-notion-database]

Read database information and structure from Notion

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `databaseId` | string | Yes | The UUID of the Notion database to read |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Database UUID |
  | `url` | string | Notion database URL |
  | `created_time` | string | ISO 8601 creation timestamp |
  | `last_edited_time` | string | ISO 8601 last edit timestamp |
  | `properties` | object | Database properties schema |
  | `title` | string | Database title |
</ReferenceDetails>

### Notion Content Appender [#notion-content-appender]

Append content to a Notion page

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `pageId` | string | Yes | The UUID of the Notion page to append content to |
  | `content` | string | Yes | The content to append to the page |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `appended` | boolean | Whether content was successfully appended |
</ReferenceDetails>

### Notion Page Creator [#notion-page-creator]

Create a new page in Notion

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `parentId` | string | Yes | The UUID of the parent Notion page where this page will be created |
  | `title` | string | No | Title of the new page |
  | `content` | string | No | Optional content to add to the page upon creation |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Page UUID |
  | `url` | string | Notion page URL |
  | `created_time` | string | ISO 8601 creation timestamp |
  | `last_edited_time` | string | ISO 8601 last edit timestamp |
  | `title` | string | Page title |
</ReferenceDetails>

### Notion Page Updater [#notion-page-updater]

Update properties of a Notion page

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `pageId` | string | Yes | The UUID of the Notion page to update |
  | `properties` | json | Yes | JSON object of properties to update |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Page UUID |
  | `url` | string | Notion page URL |
  | `last_edited_time` | string | ISO 8601 last edit timestamp |
  | `title` | string | Page title |
</ReferenceDetails>

### Query Notion Database [#query-notion-database]

Query and filter Notion database entries with advanced filtering

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `databaseId` | string | Yes | The UUID of the Notion database to query |
  | `filter` | string | No | Filter conditions as JSON (optional) |
  | `sorts` | string | No | Sort criteria as JSON array (optional) |
  | `pageSize` | number | No | Number of results to return (default: 100, max: 100) |
  | `startCursor` | string | No | Pagination cursor returned by a previous request |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `results` | array | Array of page objects from the database |
  | ↳ `object` | string | Always "page" |
  | ↳ `id` | string | Page UUID |
  | ↳ `created_time` | string | ISO 8601 creation timestamp |
  | ↳ `last_edited_time` | string | ISO 8601 last edit timestamp |
  | ↳ `created_by` | object | Partial user object |
  | ↳ `object` | string | Always "user" |
  | ↳ `id` | string | User UUID |
  | ↳ `last_edited_by` | object | Partial user object |
  | ↳ `object` | string | Always "user" |
  | ↳ `id` | string | User UUID |
  | ↳ `archived` | boolean | Whether the page is archived |
  | ↳ `in_trash` | boolean | Whether the page is in trash |
  | ↳ `url` | string | Notion page URL |
  | ↳ `public_url` | string | Public web URL if shared, null otherwise |
  | ↳ `parent` | object | Parent object specifying hierarchical relationship |
  | ↳ `type` | string | Parent type: "database\_id", "data\_source\_id", "page\_id", "workspace", or "block\_id" |
  | ↳ `database_id` | string | Parent database UUID (if type is database\_id) |
  | ↳ `data_source_id` | string | Parent data source UUID (if type is data\_source\_id) |
  | ↳ `page_id` | string | Parent page UUID (if type is page\_id) |
  | ↳ `workspace` | boolean | True if parent is workspace (if type is workspace) |
  | ↳ `block_id` | string | Parent block UUID (if type is block\_id) |
  | ↳ `icon` | object | Page/database icon (emoji, custom\_emoji, or file) |
  | ↳ `type` | string | Icon type: "emoji", "custom\_emoji", or "file" |
  | ↳ `emoji` | string | Emoji character (if type is emoji) |
  | ↳ `custom_emoji` | object | Custom emoji object (if type is custom\_emoji) |
  | ↳ `id` | string | Custom emoji UUID |
  | ↳ `name` | string | Custom emoji name |
  | ↳ `url` | string | URL to custom emoji image |
  | ↳ `file` | object | Notion-hosted file (if type is file) |
  | ↳ `url` | string | Authenticated URL valid for one hour |
  | ↳ `expiry_time` | string | ISO 8601 timestamp when URL expires |
  | ↳ `external` | object | External file (if type is external) |
  | ↳ `url` | string | External file URL, returned as supplied; availability depends on the external host |
  | ↳ `cover` | object | Page/database cover image |
  | ↳ `type` | string | File type: "file", "file\_upload", or "external" |
  | ↳ `file` | object | Notion-hosted file object (when type is "file") |
  | ↳ `url` | string | Authenticated URL valid for one hour |
  | ↳ `expiry_time` | string | ISO 8601 timestamp when URL expires |
  | ↳ `file_upload` | object | API-uploaded file object (when type is "file\_upload") |
  | ↳ `id` | string | File upload UUID |
  | ↳ `external` | object | External file object (when type is "external") |
  | ↳ `url` | string | External file URL, returned as supplied; availability depends on the external host |
  | ↳ `properties` | object | Page property values (structure depends on parent type - database properties or title only) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for next page of results |
  | `total_results` | number | Number of results returned |
</ReferenceDetails>

### Search Notion Workspace [#search-notion-workspace]

Search across all pages and databases in Notion workspace

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `query` | string | No | Search terms to find pages and databases (leave empty to get all pages) |
  | `filterType` | string | No | Filter by object type: "page", "database", or leave empty for all |
  | `pageSize` | number | No | Number of results to return (default: 100, max: 100) |
  | `startCursor` | string | No | Pagination cursor returned by a previous request |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `results` | array | Array of search results (pages and/or databases) |
  | ↳ `object` | string | Object type: "page" or "database" |
  | ↳ `id` | string | Object UUID |
  | ↳ `created_time` | string | ISO 8601 creation timestamp |
  | ↳ `last_edited_time` | string | ISO 8601 last edit timestamp |
  | ↳ `created_by` | object | Partial user object |
  | ↳ `object` | string | Always "user" |
  | ↳ `id` | string | User UUID |
  | ↳ `last_edited_by` | object | Partial user object |
  | ↳ `object` | string | Always "user" |
  | ↳ `id` | string | User UUID |
  | ↳ `archived` | boolean | Whether the object is archived |
  | ↳ `in_trash` | boolean | Whether the object is in trash |
  | ↳ `url` | string | Object URL |
  | ↳ `public_url` | string | Public web URL if shared |
  | ↳ `parent` | object | Parent object specifying hierarchical relationship |
  | ↳ `type` | string | Parent type: "database\_id", "data\_source\_id", "page\_id", "workspace", or "block\_id" |
  | ↳ `database_id` | string | Parent database UUID (if type is database\_id) |
  | ↳ `data_source_id` | string | Parent data source UUID (if type is data\_source\_id) |
  | ↳ `page_id` | string | Parent page UUID (if type is page\_id) |
  | ↳ `workspace` | boolean | True if parent is workspace (if type is workspace) |
  | ↳ `block_id` | string | Parent block UUID (if type is block\_id) |
  | ↳ `properties` | object | Object properties |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for next page of results |
  | `total_results` | number | Number of results returned |
</ReferenceDetails>

### Create Notion Database [#create-notion-database]

Create a new database in Notion with custom properties

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `parentId` | string | Yes | ID of the parent page where the database will be created |
  | `title` | string | Yes | Title for the new database |
  | `properties` | json | No | Database properties as JSON object (optional, will create a default "Name" property if empty) |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Database UUID |
  | `url` | string | Notion database URL |
  | `created_time` | string | ISO 8601 creation timestamp |
  | `properties` | object | Database properties schema |
  | `title` | string | Database title |
</ReferenceDetails>

### Add Notion Database Row [#add-notion-database-row]

Add a new row to a Notion database with specified properties

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `databaseId` | string | Yes | ID of the database to add the row to |
  | `properties` | json | Yes | Row properties as JSON object matching the database schema (e.g., \{"Name": \{"title": \[\{"text": \{"content": "Task 1"}}]}, "Status": \{"select": \{"name": "Done"}}}) |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Page UUID |
  | `url` | string | Notion page URL |
  | `created_time` | string | ISO 8601 creation timestamp |
  | `last_edited_time` | string | ISO 8601 last edit timestamp |
  | `title` | string | Row title |
</ReferenceDetails>

### Notion Append Block Children [#notion-append-block-children]

Append new block children (content) to a Notion page or block

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the page or block to append children to |
  | `children` | json | Yes | Array of Notion block objects to append (max 100) |
  | `after` | string | No | UUID of an existing block to append the new children after |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Retrieve Block [#notion-retrieve-block]

Retrieve a single Notion block by its UUID, including its type-specific content

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the block to retrieve |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Retrieve Block Children [#notion-retrieve-block-children]

Retrieve the block children (content) of a Notion page or block

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the page or block whose children to retrieve |
  | `startCursor` | string | No | Pagination cursor returned by a previous request |
  | `pageSize` | number | No | Number of results to return (1-100, default 100) |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Update Block [#notion-update-block]

Update the content or archived state of a single Notion block

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the block to update |
  | `block` | json | Yes | Block-type object with the fields to update, e.g. \{"paragraph": \{"rich\_text": \[...]}} |
  | `archived` | boolean | No | Set to true to archive (delete) the block, or false to restore it |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Delete Block [#notion-delete-block]

Delete (move to trash) a single Notion block

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the block to delete |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Create Comment [#notion-create-comment]

Create a comment on a Notion page or within an existing discussion thread

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `pageId` | string | No | UUID of the page to comment on (provide either pageId or discussionId) |
  | `discussionId` | string | No | UUID of an existing discussion thread to reply to |
  | `content` | string | Yes | The text content of the comment |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion List Comments [#notion-list-comments]

List unresolved comments on a Notion page or block

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `blockId` | string | Yes | The UUID of the page or block whose comments to list |
  | `startCursor` | string | No | Pagination cursor returned by a previous request |
  | `pageSize` | number | No | Number of results to return (1-100, default 100) |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion List Users [#notion-list-users]

List all users (members and bots) in the Notion workspace

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `startCursor` | string | No | Pagination cursor returned by a previous request |
  | `pageSize` | number | No | Number of results to return (1-100, default 100) |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

### Notion Retrieve User [#notion-retrieve-user]

Retrieve a single Notion user by their UUID

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `userId` | string | Yes | The UUID of the user to retrieve |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | string | Page content in markdown format, or comment text for create comment |
  | `title` | string | Page or database title |
  | `url` | string | Notion URL |
  | `id` | string | Page, database, block, comment, or user ID |
  | `created_time` | string | Creation timestamp |
  | `last_edited_time` | string | Last edit timestamp |
  | `results` | array | Array of results (pages, blocks, comments, or users) |
  | `has_more` | boolean | Whether more results are available |
  | `next_cursor` | string | Cursor for pagination |
  | `total_results` | number | Number of results returned |
  | `properties` | json | Database properties schema |
  | `appended` | boolean | Whether content was successfully appended |
  | `type` | string | Block type |
  | `block` | json | The full Notion block object |
  | `has_children` | boolean | Whether the block has nested blocks |
  | `archived` | boolean | Whether the block is archived |
  | `discussion_id` | string | Discussion thread ID |
  | `name` | string | User display name |
  | `avatar_url` | string | User avatar image URL |
  | `email` | string | User email address (person users only) |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

### Notion Comment Created [#notion-comment-created]

Trigger workflow when a comment or suggested edit is added in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Comment ID |
  | ↳ `entity_type` | string | Entity type (comment) |
  | `data` | object | |
  | ↳ `page_id` | string | Page ID that owns the comment thread |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page or block ID |
  | ↳ `parent_type` | string | Parent type (page or block) |
</ReferenceDetails>

### Notion Database Created [#notion-database-created]

Trigger workflow when a new database is created in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Database properties updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace, or space ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Database Deleted [#notion-database-deleted]

Trigger workflow when a database is deleted in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Database properties updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace, or space ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Database Schema Updated [#notion-database-schema-updated]

Trigger workflow when a database schema is modified in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Database properties updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace, or space ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Page Content Updated [#notion-page-content-updated]

Trigger workflow when page content is changed in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Property IDs updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace (space), or block ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `block`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Page Created [#notion-page-created]

Trigger workflow when a new page is created in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Property IDs updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace (space), or block ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `block`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Page Deleted [#notion-page-deleted]

Trigger workflow when a page is deleted in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Property IDs updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace (space), or block ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `block`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Page Properties Updated [#notion-page-properties-updated]

Trigger workflow when page properties are modified in Notion

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Property IDs updated as part of the event, when provided by Notion |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent page, database, workspace (space), or block ID |
  | ↳ `parent_type` | string | Parent type: `page`, `database`, `block`, `workspace`, or `space` |
</ReferenceDetails>

### Notion Webhook (All Events) [#notion-webhook-all-events]

Trigger workflow on any Notion webhook event

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | The verification\_token sent by Notion during webhook setup. This same token is used to verify X-Notion-Signature HMAC headers on all subsequent webhook deliveries. |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Webhook event ID |
  | `type` | string | Event type (e.g., page.created, database.schema\_updated) |
  | `timestamp` | string | ISO 8601 timestamp of the event |
  | `api_version` | string | Notion API version included with the event |
  | `workspace_id` | string | Workspace ID where the event occurred |
  | `workspace_name` | string | Workspace name |
  | `subscription_id` | string | Webhook subscription ID |
  | `integration_id` | string | Integration ID that received the event |
  | `attempt_number` | number | Delivery attempt number (1-8 per Notion retries) |
  | `accessible_by` | array | Users and bots with access to the entity (`id` + `type` per object); `type` is `person` or `bot`. Omitted on some deliveries (treat as empty). |
  | `authors` | array | Actors who triggered the event (`id` + `type` per object); `type` is `person`, `bot`, or `agent` per Notion |
  | `entity` | object | |
  | ↳ `id` | string | Entity ID (page, database, block, comment, or data source ID) |
  | ↳ `entity_type` | string | Entity type: `page`, `database`, `block`, `comment`, or `data_source` |
  | `data` | object | |
  | ↳ `parent` | object | |
  | ↳ `id` | string | Parent entity ID, when provided by Notion |
  | ↳ `parent_type` | string | Parent type (`page`, `database`, `block`, `workspace`, `space`, …), when present |
  | ↳ `page_id` | string | Page ID related to the event, when present |
  | ↳ `updated_blocks` | array | Blocks updated as part of the event, when provided by Notion |
  | ↳ `updated_properties` | array | Updated properties included with the event, when provided by Notion |
</ReferenceDetails>
