Use Notion with AI Agents

A modern project management tool designed for efficiency and performance.
🔗 Connect and Use Notion
1. 🔑 Connect your Notion account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?

API actions for Notion for AI assitants/agents

Language
JS
PYTHON

Get About Me

Gets 1. The user id associated with the Notion Integration. 2. The information about notion account like name of organisation. To get more details about user, you can use the user id to g
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_GET_ABOUT_ME])

Add Page Content

Adds a single content block to a Notion page. If multiple blocks need to be added, use this function multiple times.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_ADD_PAGE_CONTENT])

Archive Notion Page

Archive or unarchive a page in Notion.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_ARCHIVE_NOTION_PAGE])

Create Database

Creates a database as a subpage in the specified parent page, with the specified properties schema/columns. Currently, the parent of a new database must be a Notion page. You cannot update
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_CREATE_DATABASE])

Create Comment

Create a comment on a page in Notion. There are two locations where a new comment can be added (via the public API). To add a new comment to a 1. Page, a parent object with a page_id must be p
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_CREATE_COMMENT])

Create Notion Page

Create a page in Notion under page with ID parent_id. * If a specific parent_id is given, directly create the page under that parent. * If no parent_id is given, search for all the pages in no
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_CREATE_NOTION_PAGE])

Delete Block

Sets a Block object, including page blocks, to archived: true using the ID specified. This can be used to delete a block, page, or database. Note: in the Notion UI application, this moves the
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_DELETE_BLOCK])

Fetch Comments

Retrieves a list of un-resolved Comment objects from a page or block.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_FETCH_COMMENTS])

Fetch Database

Retrieves a database object — information that describes the structure and columns of a database — for a provided database ID. The response adheres to any limits to an integration’s capabilities.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_FETCH_DATABASE])

Fetch Row

Each row in database is a page in notion so page_id & row_id is a UUID of that page. ID of the Notion page to fetch. To fetch content of a page, "fetch block children" action can be used.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_FETCH_ROW])

Search Notion Page

Search a page in Notion. Keep the value of parameter query "" to get list of all pages and their IDs. This api can be used to search for all available pages currently to get their page Ids. It
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_SEARCH_NOTION_PAGE])

Update Schema Database

Update a database schema in Notion. Using this you can change the columns/properties of a database.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_UPDATE_SCHEMA_DATABASE])

Fetch Notion Block

Retrieves a Block object using the ID specified. If the block returned contains the key has_children: true, use the Retrieve block children endpoint to get the list of children. To retrieve pa
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_FETCH_NOTION_BLOCK])

Fetch Notion Child Block

Returns a paginated array of child block objects contained in the block using the ID specified. Page content is represented by block childrens. Use this function to get complete content of page.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_FETCH_NOTION_CHILD_BLOCK])

Get About User

Get information about the user account using the user ID
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_GET_ABOUT_USER])

List Users

List all users Returns a paginated list of Users for the workspace. The response may contain fewer than page_size of results. Guests are not included in the response.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_LIST_USERS])

Insert Row Database

Each row in the database is a new page in notion.So inserting a row in the database is same as creating a page in notion. It also contains Extra properties field which is a list of key,values for
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_INSERT_ROW_DATABASE])

Update Row Database

Each row in the database is a new page in notion.So updating a row in the database is same as updating a property of a page in notion. This action updates a specific value in a row in notion datab
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_UPDATE_ROW_DATABASE])

Query Database

Get list of rows from a Notion database filtered and sorted. Each row in notion database is represented as a page. Each column in the database is represented as a property. To use sorting,
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_QUERY_DATABASE])

Main

Page Added To Database

Triggers when a new page is added to a Notion database.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.NOTION_PAGE_ADDED_TO_DATABASE])

Frequently asked questions

What is Composio.dev?

Composio.dev is a platform for building AI applications, designed to make the process of developing AI solutions super easy and fun! It provides a comprehensive set of tools and libraries that simplify the process of developing AI solutions, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Notion?

Composio.dev seamlessly integrates with Notion, allowing you to leverage its capabilities within the Composio.dev platform. You can utilize Notion to call functions across various platforms, including Google, GitHub, and others, making it a breeze to incorporate different services into your AI applications. Additionally, it supports user authentication via OAuth2 and can work in conjunction with other popular frameworks like LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Notion?

With Notion, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Notion into my project?

Composio.dev provides a seamless integration for Notion, making it super easy to incorporate this powerful framework into your projects. You can leverage the Composio.dev API to call functions from Notion, allowing you to tap into its capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with your preferred programming language and integrate Notion into your projects seamlessly.

What is the pricing for Notion?

Notion is completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes it accessible for developers and organizations of all sizes to explore and experiment with this powerful tool without any upfront costs. Whether you're a student working on a personal project or a startup building the next big thing, you can get started with Notion without worrying about breaking the bank.

What kind of authentication is supported for Notion?

Notion supports OAuth2 authentication, ensuring secure and authorized access to its functionalities. You can leverage the Composio.dev API to handle authentication and call functions from Notion seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Notion to my project?

Absolutely! You can easily incorporate Notion into your project by utilizing the Composio.dev API. This API allows you to call functions from Notion, enabling you to leverage its capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add Notion to your project with ease.

What is the accuracy of Notion?

Notion is designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. Notion's comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Notion?

Notion can be used for a wide range of AI applications, making it a versatile tool for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. It's particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, Notion can help you bring your ideas to life.

How does Notion handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Notion takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Notion provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Notion for your AI development needs.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪