Skip to content

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

FieldTypeRequiredDescription
resource_typeenum (page, database)YesWhether to read a single Notion page or query a full database.
resource_idstringYesThe Notion page ID or database ID to read. Accepts the UUID form (with or without hyphens) or a full Notion URL.
filterobjectNoA Notion filter object applied when resource_type is database. Follows the Notion API filter schema (e.g. {property, rich_text, contains}).
sortsarrayNoAn array of Notion sort descriptors applied when resource_type is database. Each entry specifies a property name and direction (ascending
page_sizenumberNoMaximum number of results to return for a database query. Defaults to 100; maximum is 100 per the Notion API.
credential_idstringNoID of the stored Notion integration credential to use. Falls back to the workflow-level default credential when omitted.

Inputs

PortTypeDescription
inputanyTrigger 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

PortTypeDescription
outputobjectEmitted 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.
errorobjectEmitted 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
  }
}