Notion · Arazzo Workflow

Notion Audit a Single Page Property

Version 1.0.0

Retrieve a page, then fetch one named property item from it in full (including paginated values).

1 workflow 1 source API 1 provider
View Spec View on GitHub CollaborationDatabaseIdeasNotesProductivityProjectsT1TasksWikiWorkspaceArazzoWorkflows

Provider

notion

Workflows

page-property-audit
Retrieve a page and fetch the full value of one named property.
Retrieves a page, extracts the property ID for the named property from the page's properties map, and retrieves that property item in full to support paginated property types.
2 steps inputs: notionVersion, pageId, propertyName, token outputs: pageId, propertyId, propertyItem
1
retrievePage
retrievePage
Retrieve the page and capture the ID of the named property from the returned properties map.
2
retrieveProperty
retrievePageProperty
Retrieve the named property item in full, paginating up to 100 items per request for paginated property types.

Source API Descriptions

Arazzo Workflow Specification

notion-page-property-audit-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Notion Audit a Single Page Property
  summary: Retrieve a page, then fetch one named property item from it in full (including paginated values).
  description: >-
    A targeted property-inspection pattern. The workflow retrieves a page to
    capture its properties map, reads the property ID for a caller-named
    property out of that map, and then retrieves that property item in full —
    which is necessary for paginated property types such as relation, rollup,
    people, and rich text. Every step spells out its request inline — including
    the Authorization bearer token and the required Notion-Version header — so
    the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: notionApi
  url: ../openapi/notion-openapi.yml
  type: openapi
workflows:
- workflowId: page-property-audit
  summary: Retrieve a page and fetch the full value of one named property.
  description: >-
    Retrieves a page, extracts the property ID for the named property from the
    page's properties map, and retrieves that property item in full to support
    paginated property types.
  inputs:
    type: object
    required:
    - token
    - notionVersion
    - pageId
    - propertyName
    properties:
      token:
        type: string
        description: Notion integration token passed as a bearer credential.
      notionVersion:
        type: string
        description: The Notion API version date sent in the Notion-Version header.
      pageId:
        type: string
        description: The ID of the page to audit.
      propertyName:
        type: string
        description: The name of the property whose ID will be read from the page's properties map.
  steps:
  - stepId: retrievePage
    description: >-
      Retrieve the page and capture the ID of the named property from the
      returned properties map.
    operationId: retrievePage
    parameters:
    - name: page_id
      in: path
      value: $inputs.pageId
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    - name: Notion-Version
      in: header
      value: $inputs.notionVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pageId: $response.body#/id
      propertyId: $response.body#/properties/$inputs.propertyName/id
  - stepId: retrieveProperty
    description: >-
      Retrieve the named property item in full, paginating up to 100 items per
      request for paginated property types.
    operationId: retrievePageProperty
    parameters:
    - name: page_id
      in: path
      value: $steps.retrievePage.outputs.pageId
    - name: property_id
      in: path
      value: $steps.retrievePage.outputs.propertyId
    - name: page_size
      in: query
      value: 100
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    - name: Notion-Version
      in: header
      value: $inputs.notionVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      propertyItem: $response.body
  outputs:
    pageId: $steps.retrievePage.outputs.pageId
    propertyId: $steps.retrievePage.outputs.propertyId
    propertyItem: $steps.retrieveProperty.outputs.propertyItem