Notion
Shared wikis, docs, databases.
Verdict
Common use cases
- Draft meeting notes from Slack threads
- Append action items to project pages
- Create database entries from form responses
- Archive outdated pages in bulk
- Query database for sprint status
Integration
- Vendor
- Notion
- Category
- docs
- Auth
- OAUTH2
- Tools
- 28
- Composio slug
notion
Tools
- Add content to Notion page
Deprecated: appends a single content block to a notion page or a parent block (must be page, toggle, to-do, bulleted/numbered list, callout, or quote); invoke repeatedly to add multiple blocks.
- Add multiple content blocks (bulk, user-friendly)
Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and parses markdown formatting including headers
- Append complex blocks (advanced, full control)
Appends complex blocks with full notion block structure to a parent block or page. use for advanced scenarios requiring precise control: code blocks, tables, embeds, nested children within blocks, or when working with pre-built notion block
- Archive Notion Page
Archives (moves to trash) or unarchives (restores from trash) a specified notion page.
- Create comment
Adds a comment to a notion page (via `parent page id`) or to an existing discussion thread (via `discussion id`); cannot create new discussion threads on specific blocks (inline comments).
- Create Notion Database
Creates a new notion database as a subpage under a specified parent page with a defined properties schema; use this action exclusively for creating new databases.
- Create Notion page
Creates a new empty page in a notion workspace.
- Delete a blockdestructive
Archives a notion block, page, or database using its id, which sets its 'archived' property to true (like moving to "trash" in the ui) and allows it to be restored later.
- Duplicate page
Duplicates a notion page, including all its content, properties, and nested blocks, under a specified parent page or workspace.
- Fetch comments
Fetches unresolved comments for a specified notion block or page id.
- Fetch Database
Fetches a notion database's structural metadata (properties, title, etc.) via its `database id`, not the data entries; `database id` must reference an existing database.
- Fetch database row
Retrieves a notion database row's properties and metadata; use fetch block contents for page content blocks.
- Fetch Notion Block Children
Retrieves a paginated list of direct, first-level child block objects along with contents for a given parent notion block or page id; use block ids from the response for subsequent calls to access deeply nested content.
- Fetch Notion block metadata
Fetches metadata for a notion block (or page, as pages are blocks) using its valid uuid; if the block has children, use fetch block contents to fetch their contents.
- Fetch Notion Data
Fetches notion items (pages and/or databases) from the notion workspace, use this to get minimal data about the items in the workspace with a query or list all items in the workspace with minimal data
- Get About Me
Retrieves the user object for the bot associated with the current notion integration token, typically to obtain the bot's user id for other api operations.
- Get about user
Retrieves detailed information about a specific notion user, such as their name, avatar, and email, based on their unique user id.
- Get page property
Call this to get a specific property from a notion page when you have a valid `page id` and `property id`; handles pagination for properties returning multiple items.
- Insert row database
Creates a new page (row) in a specified notion database.
- List users
Retrieves a paginated list of users (excluding guests) from the notion workspace; the number of users returned per page may be less than the requested `page size`.
- Query database
Queries a notion database for pages (rows), where rows are pages and columns are properties; ensure sort property names correspond to existing database properties.
- Retrieve Comment
Tool to retrieve a specific comment by its id. use when you have a comment id and need to fetch its details.
- Retrieve Database Property
Tool to retrieve a specific property object of a notion database. use when you need to get details about a single database column/property.
- Search Notion page
Searches notion pages and databases by title; an empty query lists all accessible items, useful for discovering ids or as a fallback when a specific query yields no results.
- Update block
Updates an existing notion block's textual content or type-specific properties (e.g., 'checked' status, 'color'), using its `block id` and the specified `block type`.
- Update database schema
Updates an existing notion database's title, description, and/or properties; at least one of these attributes must be provided to effect a change.
- Update Page
Tool to update the properties, icon, cover, or archive status of a page. use when you need to modify existing page attributes.
- Update row database
Updates or archives an existing notion database row (page) using its `row id`, allowing modification of its icon, cover, and/or properties; ensure the target page is accessible and property details (names/ids and values) align with the data
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find Notion in the MCP directory and click Connect. 3. You'll be redirected to Notion's OAuth consent screen — sign in with the account that has access to the workspace you want to connect. 4. Grant Switchy permission to read content, insert content, and read comments (the exact scopes depend on which tools you plan to use). 5. After authorizing, you'll return to Switchy and see a green Connected badge next to Notion. 6. To test the connection, open any Space and type '@Notion create a new page titled Test in my workspace' — if the MCP responds with a page URL, you're all set. 7. From now on, @mention Notion in any Space to invoke its tools; the AI will automatically choose the right tool based on your request.
What teammates see: by default, memories from Notion are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
How Switchy teams use it
Starter prompts
Draft Weekly Update
@Notion create a new page titled 'Weekly Update [current date]' in my team workspace and add a bulleted list summarizing the three biggest wins from this Space's recent messages.Open in a Space →
Append Action Items
@Notion find the page titled 'Q1 Planning' and append a to-do list with these action items: finalize budget, schedule kickoff, assign owners.Open in a Space →
Create Project Database
@Notion create a new database called 'Client Projects' under the 'Operations' page with columns for Status (select), Owner (person), and Deadline (date).Open in a Space →
Archive Old Pages
@Notion archive all pages in the 'Archive Candidates' folder that haven't been edited in the last 90 days.Open in a Space →
Query Sprint Progress
@Notion query the 'Sprint Board' database for all tasks with Status = In Progress and list any that have a Deadline in the past.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@notion search for all pages tagged 'Q1 Planning' and summarize the key action items across them
Found 7 pages tagged 'Q1 Planning'. Key action items include: (1) Finalize budget allocation by Jan 15 (Marketing Roadmap page), (2) Complete hiring for 3 engineering roles (Team Growth page), (3) Ship v2.0 feature set by Feb 28 (Product Roadmap page), (4) Schedule quarterly all-hands (Operations page). Most items have assigned owners except the all-hands scheduling. Two pages mention dependencies on the budget finalization before proceeding with other initiatives.
This example demonstrates cross-page search and AI synthesis. Requires OAuth scope to read page content and properties. Search results depend on your workspace's tagging consistency—if pages use different property names for tags, you may need to specify the exact property name in your prompt.
@notion create a new page in the Engineering Wiki called 'Deployment Runbook' with sections for prerequisites, steps, and rollback procedures
Created page 'Deployment Runbook' in Engineering Wiki. Added three heading blocks: 'Prerequisites', 'Deployment Steps', and 'Rollback Procedures'. Each section includes a placeholder bulleted list to get you started. The page is now live and editable—you can @mention me again to populate specific sections with content, or edit directly in Notion.
This showcases page creation plus bulk content addition using markdown parsing. The MCP creates the structure but doesn't infer detailed content—you'll need to provide specifics or iterate. Write scope required. If the parent page name is ambiguous, provide the page ID instead.
@notion add a comment to the 'Launch Plan' page saying we need to revisit the timeline given the vendor delay announced this morning
Added comment to 'Launch Plan' page: 'We need to revisit the timeline given the vendor delay announced this morning.' The comment is now visible to all collaborators with access to that page. Note that this creates a page-level comment, not an inline comment on a specific block—Notion's API doesn't support creating new inline discussion threads programmatically.
Demonstrates the comment creation tool, useful for async team coordination from Switchy. Limitation: comments attach to the page as a whole, not to specific text or blocks. If multiple pages share similar names, confirm the correct page ID first to avoid posting to the wrong location.
Use-case deep-dives
When Notion MCP wins for distributed async standup notes
A 6-person remote engineering team runs async standups in Slack, then needs those updates logged in Notion for the weekly retro. The Notion MCP is the right call here: use 'Add multiple content blocks (bulk, user-friendly)' to push formatted standup summaries from Slack threads into a shared Notion page in one shot. The markdown auto-parsing handles code snippets and links without manual formatting. OAuth2 means each team member authenticates once and the integration stays live. The trade-off: if your team generates more than 20 standup entries per day, the bulk-add tool can hit rate limits—at that scale, batch the writes or use Notion's native Slack integration instead. For most small teams, this MCP turns standup notes into searchable Notion history with zero manual copy-paste.
When this MCP handles support ticket knowledge base updates
A 3-person support team logs customer feedback in Zendesk, then manually copies high-signal issues into a Notion database for product review. The Notion MCP solves this: 'Create Notion Database' sets up the schema once, then a nightly script uses the page-creation tools to push new feedback rows with tags and priority fields. The 28 tools give you full CRUD control—archive resolved issues, add comments when engineering responds, update status fields as tickets close. The boundary: if your feedback volume exceeds 100 new entries per week, Notion's search gets sluggish and you'll want a dedicated tool like Airtable. Below that threshold, this MCP keeps your product team's knowledge base current without a second data-entry pass. OAuth2 setup takes 10 minutes and runs unattended after that.
When Notion MCP automates sprint kickoff documentation
A 5-person product team starts each sprint by copying a Notion template, filling in goals from Linear, and pasting in the previous sprint's retro notes. The Notion MCP cuts that 20-minute ritual to zero: 'Create Notion page' spawns the new sprint doc, 'Add multiple content blocks' pulls Linear issue titles and descriptions via markdown, and 'Append complex blocks' embeds the retro table from last sprint. The full block-structure control means you can nest toggle lists for each workstream and pre-populate owner fields. The catch: if your sprint docs need custom database views or linked databases, you'll still need one manual setup step—the MCP can't configure database rollups or formulas. For straightforward sprint docs with text, lists, and embeds, this MCP turns template-copy into a one-click deploy.
Frequently asked
What can the Notion MCP do in Switchy?
It creates pages, appends content blocks, manages databases, and posts comments in your Notion workspace. You can build pages from scratch, add markdown-parsed text in bulk, or use advanced block structures for tables and embeds. It also archives pages and deletes blocks. Think of it as programmatic access to Notion's editing surface, not a read-only viewer.
Which Notion OAuth scopes does Switchy request?
Switchy asks for read and write access to pages, databases, and comments in the workspaces you authorise. You'll see a consent screen listing the specific pages or databases the integration can touch. If your Notion admin has restricted integrations, you may need workspace owner approval before connecting.
Can the Notion MCP read existing page content or search my workspace?
No. The 28 tools focus on writing and structuring content — creating pages, appending blocks, managing databases. If you need to query existing pages or search across your workspace, use Notion's native search or their separate API endpoints. This MCP is for building and editing, not retrieval.
How does this compare to using Notion's API directly?
The MCP wraps Notion's API with tools optimised for conversational workflows. You get markdown auto-parsing and bulk block creation without writing JSON payloads. If you're already comfortable with Notion's REST API and need custom logic, stick with that. If you want an AI to draft pages or update databases in plain English, the MCP is faster.
Who on my team should connect the Notion integration?
Anyone who needs to create or edit Notion content from Switchy. Each connection is scoped to the pages and databases that person authorises, so connect with an account that has write access to the workspaces your team uses. If you're centralising documentation, one admin connection usually suffices.