Search documentation

Search guides, connectors and tools

Notion

Notion workspace connector to search pages and databases, read and write page content as markdown, and manage database entries, users and comments.

notionOAuth12 tools

Tools

Ask an agent for what you need in plain language — it picks the right tool itself. You can also limit which of these an agent may use, and require your approval before any of them runs.

Search Notion

searchNotion€0.01 per call

Search pages and data sources (database tables) shared with the integration by title; returns ids to use with the other Notion tools.

ParameterTypeDescription
querystringWords matched against page and database titles; omit to list everything shared with the integration.
objectType"page" | "data_source"Only pages or only data sources (database tables); defaults to both.
sortDirection"ascending" | "descending"Order by last edited time; defaults to descending (most recently edited first).
pageSizeintegerItems per page (1-100); defaults to 25.
startCursorstringCursor from a previous call's nextCursor to fetch the next page; omit for the first page.

Get Page

getPage€0.01 per call

Get a Notion page: title, parent, URL and its property values (for database entries). Use getPageContent for the page body.

ParameterTypeDescription
pageIdrequiredstringPage id from searchNotion, queryDataSource or a Notion URL.

Get Page Content

getPageContent€0.01 per call

Read the body of a Notion page as markdown (headings, lists, to-dos, tables, code, callouts, toggles, child page/database links). Blocks Notion cannot render are listed in unknownBlockIds.

ParameterTypeDescription
pageIdrequiredstringPage id whose body to read.

Create Page

createPage€0.01 per call

Create a Notion page under a parent page, or as an entry of a data source (database table) with property values, with an optional markdown body.

ParameterTypeDescription
parentPageIdstringCreate the page as a child of this page. Exactly one of parentPageId / parentDataSourceId.
parentDataSourceIdstringCreate the page as an entry of this data source (a data source id from searchNotion/getDataSource, or a database id).
titlerequiredstringPage title (sets the title property of a database entry).
propertiesobjectProperty values keyed by property NAME (call getDataSource first to see the names, types and options). title/rich_text/url/email/phone_number: string; number: number; checkbox: boolean; select/status: option name; multi_select: array of option names; date: "YYYY-MM-DD" (or date-time) or {start, end, timeZone}; people: array of user ids (see listUsers); relation: array of page ids; null clears a property. Formula, rollup, unique_id, created/edited fields are read-only and files cannot be set. Only for data source parents.
contentstringPage body as markdown: headings (#), lists (-, 1.), to-dos (- [ ]), quotes (>), code fences, tables, dividers (---), links and images.
iconstringPage icon: an emoji or an image URL.
coverstringCover image URL.

Update Page

updatePage€0.01 per call

Update a Notion page: title, property values (database entries), icon, cover, or move it to / restore it from the trash. Use updatePageContent or appendPageContent for the body.

ParameterTypeDescription
pageIdrequiredstringPage to update.
titlestringNew title.
propertiesobjectProperty values keyed by property NAME (call getDataSource first to see the names, types and options). title/rich_text/url/email/phone_number: string; number: number; checkbox: boolean; select/status: option name; multi_select: array of option names; date: "YYYY-MM-DD" (or date-time) or {start, end, timeZone}; people: array of user ids (see listUsers); relation: array of page ids; null clears a property. Formula, rollup, unique_id, created/edited fields are read-only and files cannot be set. Only for database entries; omitted properties are left unchanged.
iconstringNew icon: an emoji or an image URL.
coverstringNew cover image URL.
inTrashbooleantrue moves the page to the trash, false restores it.

Append Page Content

appendPageContent€0.01 per call

Add markdown content to the end (or start) of a Notion page body; returns the updated page markdown.

ParameterTypeDescription
pageIdrequiredstringPage to add content to.
contentrequiredstringMarkdown to add: headings (#), lists (-, 1.), to-dos (- [ ]), quotes (>), code fences, tables, dividers (---), links and images.
position"end" | "start"Where to insert: at the end (default) or the start of the page body.

Update Page Content

updatePageContent€0.01 per call

Edit the body of a Notion page: exact-text search-and-replace edits on its markdown (call getPageContent first), or replace the whole body. Returns the updated page markdown.

ParameterTypeDescription
pageIdrequiredstringPage whose body to edit.
editsobject[]Search-and-replace edits applied to the page markdown. Exactly one of edits / replaceWith.
edits[].findrequiredstringExact text to find in the page markdown as returned by getPageContent (case-sensitive).
edits[].replacerequiredstringReplacement markdown; empty string deletes the found text.
edits[].replaceAllMatchesbooleanReplace every occurrence; by default the text must occur exactly once.
replaceWithstringReplace the entire page body with this markdown.
allowDeletingContentbooleanRequired when an edit removes child pages or databases from the page.

Get Data Source

getDataSource€0.01 per call

Get the schema of a Notion data source (database table): property names, types, select/status options and relations. Call it before queryDataSource, createPage or updatePage on database entries.

ParameterTypeDescription
dataSourceIdrequiredstringData source id from searchNotion, or a database id (a database with several data sources returns the first plus siblingDataSources).

Query Data Source

queryDataSource€0.01 per call

List the entries (pages) of a Notion data source (database table) with optional filter, sort and paging; returns each entry with its property values.

ParameterTypeDescription
dataSourceIdrequiredstringData source id (or database id) to query.
filterobjectNotion filter object (see getDataSource for property names and types). Single condition: {"property":"Status","status":{"equals":"Done"}}; compound: {"and":[...]} or {"or":[...]}; timestamp: {"timestamp":"last_edited_time","last_edited_time":{"past_week":{}}}. Conditions by type — title/rich_text/url/email/phone_number: contains, does_not_contain, equals, starts_with, ends_with; number: equals, greater_than, less_than, greater_than_or_equal_to, less_than_or_equal_to; select/status: equals, does_not_equal; multi_select: contains, does_not_contain; date/created_time/last_edited_time: equals, before, after, on_or_before, on_or_after, past_week, past_month, next_week, this_week; checkbox: equals; people/relation: contains, does_not_contain; every type: is_empty, is_not_empty (value true).
sortsobject[]Sort order; earlier entries take precedence.
sorts[].propertystringProperty name to sort by.
sorts[].timestamp"created_time" | "last_edited_time"Sort by a timestamp instead of a property.
sorts[].directionrequired"ascending" | "descending"
filterPropertiesstring[]Property names to include in the results (others are omitted); defaults to all.
pageSizeintegerItems per page (1-100); defaults to 25.
startCursorstringCursor from a previous call's nextCursor to fetch the next page; omit for the first page.

List Users

listUsers€0.01 per call

List the members and bots of the Notion workspace with their ids (needed for people properties and mentions).

ParameterTypeDescription
pageSizeintegerItems per page (1-100); defaults to 25.
startCursorstringCursor from a previous call's nextCursor to fetch the next page; omit for the first page.

List Comments

listComments€0.01 per call

List the unresolved comments on a Notion page (or block), grouped by discussion thread.

ParameterTypeDescription
blockIdrequiredstringPage id (or block id) whose comment threads to list.
pageSizeintegerItems per page (1-100); defaults to 25.
startCursorstringCursor from a previous call's nextCursor to fetch the next page; omit for the first page.

Create Comment

createComment€0.01 per call

Add a comment to a Notion page, or reply in an existing comment thread.

ParameterTypeDescription
pageIdstringStart a new comment thread on this page. Exactly one of pageId / discussionId.
discussionIdstringReply in an existing thread (discussionId from listComments).
textrequiredstringComment text as markdown (inline formatting and links).