Notion tools
Look up the eight Notion tools, selectors, access boundaries, inputs, and outputs available to workflows.
This reference lists the eight shipped Notion tools. See the Notion overview for authentication and access boundaries.
Permissions
Notion tools can access only pages shared with the integration connection. Sharing a parent page also shares its child pages.
Read tools need read access to the target page. Write tools need the matching
Notion content or comment capability. Agent steps must also set allow_write: true. A tool step opts into a write by naming that tool directly.
For tool step and agent integration fields, see the workflow schema reference.
Read a page from an event
Notion events contain IDs instead of current page values. Add this fragment
under an existing job's steps list to fetch the current page:
- key: page
tool: get_page
connection: notion_acme # Replace with your Notion integration connection slug.
with:
page_id: ${{ event.entity.id }}The get_page result becomes available as steps.page.outputs.result.
Tool catalog
Tools
searchSearch shared Notion pages and data sources by title. This is not full-text search. The result is paginated and can be filtered by object type.
readParameters
querystringTitle text to search for
objectstringOnly return pages or data sources
Possible values: page, data_source
page_sizeintegerNumber of results to return, from 1 to 100
Minimum 1. Maximum 100.
cursorstringNotion pagination cursor from the previous response
Returns
resultsarray of objectnext_cursorstring | nullCursor for the next page
has_morebooleanWhether another page is available
get_pageRetrieve a shared Notion page by URL or ID, including its title, parent, properties, and timestamps.
readParameters
page_idstringRequiredNotion page URL or page ID
Returns
idstringNotion page ID
urlstringNotion page URL
titlestringPage title
parentobjectNotion object with provider-defined fields
propertiesobjectNotion object with provider-defined fields
created_timestringCreation timestamp
last_edited_timestringLast edit timestamp
get_page_contentRetrieve the Markdown content of a shared Notion page by URL or ID.
readParameters
page_idstringRequiredNotion page URL or page ID
Returns
markdownstringPage content in Markdown
truncatedbooleanWhether Notion truncated the content
unknown_block_idsarray of stringQuery rows in a shared Notion data source. Notion filter and sort objects pass through unchanged.
readParameters
data_source_idstringRequiredNotion data source URL or data source ID
filterobjectNotion object with provider-defined fields
sortsarray of objectpage_sizeintegerNumber of results to return, from 1 to 100
Minimum 1. Maximum 100.
cursorstringNotion pagination cursor from the previous response
Returns
resultsarray of objectnext_cursorstring | nullCursor for the next page
has_morebooleanWhether another page is available
get_commentsList comments on a shared Notion page or block. The result is paginated.
readParameters
block_idstringRequiredNotion page URL, block URL, or block ID
cursorstringNotion pagination cursor from the previous response
Returns
resultsarray of objectnext_cursorstring | nullCursor for the next page
has_morebooleanWhether another page is available
create_pageCreate a Notion page under a page or data source. Properties use Notion's shape and markdown is optional. Notion limits each rich text item to 2,000 characters, block arrays to 100 items, and each request to 500 KB.
writeParameters
parentobjectRequiredNotion page or data source parent, with page_id or data_source_id
propertiesobjectRequiredNotion page properties in Notion's property shape
markdownstringMarkdown page content
Returns
idstringNotion page ID
urlstringNotion page URL
titlestringPage title
parentobjectNotion object with provider-defined fields
propertiesobjectNotion object with provider-defined fields
created_timestringCreation timestamp
last_edited_timestringLast edit timestamp
update_pageUpdate a Notion page properties and/or its Markdown content. Properties are updated first when both are provided; content mode is append or replace. Notion limits each rich text item to 2,000 characters, block arrays to 100 items, and each request to 500 KB.
writeParameters
page_idstringRequiredNotion page URL or page ID
propertiesobjectNotion page properties in Notion's property shape
markdownstringMarkdown page content
modestringWhether to append or replace Markdown content
Possible values: append, replace
Returns
This tool returns the provider response without declared fields.
add_commentAdd plain text to a Notion page or reply to a discussion. Text over 2,000 characters is split into multiple rich text items. Notion limits block arrays to 100 items and each request to 500 KB.
writeParameters
page_idstringNotion page URL or page ID
discussion_idstringNotion discussion ID for a reply
textstringRequiredPlain-text comment content
Returns
This tool returns the provider response without declared fields.