Notion
Description: Enable agents to interact with Notion.
Author: Arcade
Code: GitHub
Auth: User authorization via the Notion auth provider
The Arcade Notion toolkit provides a pre-built set of tools for interacting with Notion. These tools make it easy to build agents and AI apps that can:
- Get a page’s content
- Create a new page
- Search for pages or databases by title
- Get the metadata of a Notion object (page or database)
- Get a workspace’s folder structure
Install
pip install arcade_notion_toolkit
pip installing the toolkit is only needed if you are self-hosting Arcade. You do not need to install the toolkit if you’re using Arcade Cloud.
Available tools
These tools are currently available in the Arcade Notion toolkit.
Tool Name | Description |
---|---|
GetPageContentById | Get the content of a Notion page as markdown by page ID. |
GetPageContentByTitle | Get the content of a Notion page as markdown by title. |
CreatePage | Create a new Notion page by specifying a parent page title. |
SearchByTitle | Search for pages or databases by title. |
GetObjectMetadata | Get the metadata of a Notion object (page or database) using its title or ID. |
GetWorkspaceStructure | Get the complete workspace structure of your Notion workspace. |
If you need to perform an action that’s not listed here, you can get in touch with us to request a new tool, or create your own tools with the Notion auth provider.
GetPageContentById
Get the content of a Notion page as markdown with the page’s ID.
Parameters
page_id
(string, required) The ID of the page to get content from.
GetPageContentByTitle
Get the content of a Notion page as markdown with the page’s title.
Parameters
title
(string, required) The title of the page to get content from.
CreatePage
Create a new Notion page by specifying an existing parent page and the new page details.
Parameters
parent_title
(string, required) Title of an existing page where the new page will be created.title
(string, required) Title of the new page.content
(string, optional) The content of the new page.
SearchByTitle
Search for similar titles of pages, databases, or both within the user’s Notion workspace. This tool returns minimal information about matching objects without their content.
Parameters
query
(string, optional) A substring to search for within page and database titles. If not provided, all items are returned.select
(str, optional) Limit the search to only pages or only databases. If provided, must be one ofpage
ordatabase
. Defaults to both.order_by
(str, optional) The direction to sort search results by last edited time. Must be eitherascending
ordescending
. Defaults todescending
.limit
(int, optional) The maximum number of results to return. Defaults to 100. Use -1 for no limit.
GetObjectMetadata
Get the metadata of a Notion object (page or database) using its title or ID. One of object_title
or object_id
must be provided (but not both). The returned metadata includes the object’s ID, timestamps, properties, URL, and more.
Parameters
object_title
(string, optional) The title of the page or database whose metadata to retrieve.object_id
(string, optional) The ID of the page or database whose metadata to retrieve.object_type
(str, optional) The type of object to match the title against. If provided, must be one ofpage
ordatabase
. Defaults to both if not provided.
GetWorkspaceStructure
Get the complete workspace structure of your Notion workspace. This tool returns a hierarchical view of pages and databases, making it easier to understand the organization of your workspace.
Parameters
None
Auth
The Arcade Notion toolkit uses the Notion auth provider to connect to users’ Notion accounts.
With the hosted Arcade Engine, there’s nothing to configure. Your users will see Arcade
as the name of the application that’s requesting permission.
With a self-hosted installation of Arcade, you need to configure the Notion auth provider with your own Notion app credentials.