Notion logo
ConnectorNotion

Notion integration for Claude and Codex

Create a Notion connection, then control which Spaces can use its approved tools and data without pasting credentials into prompts or threads.

Use Notion from Claude

Add the Notion connection to a Space that runs Claude, then use it from every channel in that Space.

Use Notion from Codex

Add the Notion connection to a Space that runs Codex, then use it from every channel in that Space.

Use Notion from Sidekick

Connect your own OpenClaw to Sidekick while Type provides the conversations, permissions, connections, skills, and automations.

Documents & Forms

What the Notion connector can do

Notion centralizes notes, docs, wikis, and tasks in a unified workspace, letting teams build custom workflows for collaboration and knowledge management

One connection, many Spaces

Connect Notion once, then decide which Spaces can use it in threads, skills, automations, and coding work.

Representative actions

  • Add multiple content blocks (bulk, user-friendly)

    Bulk-add content blocks to Notion. Text >2000 chars auto-splits. Parses markdown formatting. ⚠️ PARENT BLOCK TYPES: Content is added AS CHILDREN of parent_block_id. - To add content AFTER a heading, use PAGE ID as parent + heading ID in 'after' param. - Headings CANNOT have children unless is_toggleable=True. Simplified format: {'content': 'text', 'block_property': 'paragraph'} Full format for code: {'type': 'code', 'code': {'rich_text': [...], 'language': 'python'}} Array format also supported (auto-normalized): [{"parent_block_id": "..."}, {block1}, {block2}] => proper request structure

  • Add single content block to Notion page (Deprecated)

    DEPRECATED: Use 'add_multiple_page_content' for better performance. Adds a single content block to a Notion page/block. CRITICAL: Notion API enforces a HARD LIMIT of 2000 characters per text.content field. Content exceeding 2000 chars is AUTOMATICALLY SPLIT into multiple sequential blocks. REQUIRED 'content' field for text blocks: paragraph, heading_1-3, callout, to_do, toggle, quote, list items. Parent blocks MUST be: Page, Toggle, To-do, Bulleted/Numbered List Item, Callout, or Quote. Common errors: - "content.length should be ≤ 2000": Text exceeds API limit (should be auto-handled) - "Content is required for paragraph blocks": Missing 'content' field for text blocks - "object_not_found": Invalid parent_block_id or no integration access For bulk operations, use 'add_multiple_page_content' instead.

  • Append raw Notion blocks (advanced API)

    DEPRECATED: Use NOTION_APPEND_TEXT_BLOCKS, NOTION_APPEND_TASK_BLOCKS, NOTION_APPEND_CODE_BLOCKS, NOTION_APPEND_MEDIA_BLOCKS, NOTION_APPEND_LAYOUT_BLOCKS, or NOTION_APPEND_TABLE_BLOCKS instead. Appends raw Notion API blocks to parent. Text limited to 2000 chars per text.content field. Each block MUST have 'object':'block' and 'type'. Use rich_text arrays for text blocks.

  • Append code blocks (code, quote, equation)

    Append code and technical blocks (code, quote, equation) to a Notion page. Use for: - Code snippets and programming examples (code) - Citations and highlighted quotes (quote) - Mathematical formulas and equations (equation) Supported block types: - code: Code with syntax highlighting (70+ languages including Python, JavaScript, Go, Rust, etc.) - quote: Block quotes for citations - equation: LaTeX/KaTeX mathematical expressions ⚠️ Code content is limited to 2000 characters per text.content field. For longer code, split into multiple code blocks. For other block types, use specialized actions: - append_text_blocks: paragraphs, headings, lists - append_task_blocks: to-do, toggle, callout - append_media_blocks: image, video, audio, files - append_layout_blocks: divider, columns, TOC - append_table_blocks: tables

  • Append layout blocks (divider, TOC, columns)

    Append layout blocks (divider, TOC, breadcrumb, columns) to a Notion page. Supported types: - divider: Horizontal line separator - table_of_contents: Auto-generated from headings - breadcrumb: Page hierarchy navigation - column_list: Multi-column layout (requires 2+ columns, each with 1+ child block) For multi-column layouts, create column_list with column children in one request. Each column must contain at least 1 child block. For other blocks, use: append_text_blocks, append_task_blocks, append_code_blocks, append_media_blocks, or append_table_blocks.

Representative triggers

  • All Page Events

    Triggers when any Notion page is created or updated across the workspace.

  • Comment Created

    Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.

  • New Comment

    Triggers when a new comment is added to a specified Notion block or page.

Connection

API and auth details

Notion's official API uses bearer tokens from internal connections, personal access tokens, or OAuth public connections and requires versioned Notion API requests.

FAQ

Questions people ask before connecting Notion

Can Claude use Notion?

Yes. Add a Notion connection to a Space that runs Claude, then use its approved tools and data from any channel in that Space.

Can Codex work with Notion through Type?

Yes. Add a Notion connection to a Space that runs Codex, then use its approved tools and data from any channel in that Space.

Is this the same as a Notion MCP server?

Not exactly. Type uses connectors and connections to give selected Spaces access to approved app tools and data. Some connectors use hosted MCP, while others use OAuth, API keys, service accounts, or custom APIs.

More documents & forms connectors