Notion
Notion centralizes notes, docs, wikis, and tasks in a unified workspace, letting teams build custom workflows for collaboration and knowledge management
Verdict
Common use cases
- Draft meeting notes from chat transcripts
- Log bug reports into a triage database
- Append daily standup updates to a team page
- Archive outdated project docs in bulk
- Query sprint board for overdue tasks
Integration
- Vendor
- Notion
- Category
- other
- 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. Inside any Switchy Project, type '@Notion' and select 'Connect Notion' from the dropdown. 2. You'll land on Notion's OAuth consent screen — choose which pages or databases Switchy can access (or grant workspace-wide access if you're an admin). 3. Click 'Allow access' to authorize read and write permissions. 4. Switchy confirms the connection and returns you to the Project. 5. Test it by typing '@Notion create a page titled Test in my Personal workspace' — if a new page appears in Notion, you're live. 6. To invoke any tool, @mention Notion in a message, describe what you want (create a page, append a block, query a database), and the AI routes your request to the right endpoint.
What teammates see: by default, memories from Notion are scoped to the Project (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
Create Project Brief
@Notion create a page titled 'Q2 Redesign Brief' in the Design workspace with sections for Goals, Scope, Timeline, and open questions from the last 10 messages.Open in a Project →
Sync Sprint Board
@Notion query the Sprint Planning database for all tasks due this week, then group them by status and list assignees for each.Open in a Project →
Log Customer Feedback
@Notion append a new entry to the Customer Feedback page: timestamp now, source 'support chat', summary of the user's feature request from the last message.Open in a Project →
Archive Old Docs
@Notion archive all pages in the Archive workspace with 'Draft' in the title that haven't been edited in 90 days.Open in a Project →
Add Inline Comment
@Notion add a comment to the Roadmap page: 'Should we push the mobile launch to Q3 given the API delays?'Open in a Project →
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.