Notion Read
Overview
The Notion Read node fetches the content of a Notion page or the rows of a Notion database using the Notion API. It requires a Notion integration token configured at the workflow or account level. Use it to pull structured data (database query results) or rich-text page content into a battle workflow — for example, seeding a battle prompt from a Notion doc or retrieving evaluation criteria stored in a Notion table. If the page or database is not found, access is denied, or the API returns an error, execution routes to the error output port.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
resource_type | enum (page, database) | Yes | Whether to read a single Notion page or query a full database. |
resource_id | string | Yes | The Notion page ID or database ID to read. Accepts the UUID form (with or without hyphens) or a full Notion URL. |
filter | object | No | A Notion filter object applied when resource_type is database. Follows the Notion API filter schema (e.g. {property, rich_text, contains}). |
sorts | array | No | An array of Notion sort descriptors applied when resource_type is database. Each entry specifies a property name and direction (ascending |
page_size | number | No | Maximum number of results to return for a database query. Defaults to 100; maximum is 100 per the Notion API. |
credential_id | string | No | ID of the stored Notion integration credential to use. Falls back to the workflow-level default credential when omitted. |
Inputs
| Port | Type | Description |
|---|---|---|
input | any | Trigger signal that initiates the read operation. Carries workflow context; any payload fields are available for dynamic expression interpolation in config values (e.g. injecting a resource_id at runtime). |
Outputs
| Port | Type | Description |
|---|---|---|
output | object | Emitted on success. For a page, contains the Notion page object including properties and rich-text content blocks. For a database, contains a results array of page objects matching the query, plus has_more and next_cursor fields for pagination. |
error | object | Emitted when the Notion API returns an error (e.g. 404 not found, 403 insufficient permissions, 429 rate-limited, or network failure). Contains code, message, and status fields. |
Example
json
{
"nodeType": "notion_read",
"config": {
"resource_type": "database",
"resource_id": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"filter": {
"property": "Status",
"select": {
"equals": "Published"
}
},
"page_size": 50
}
}