Notion for AI agents

Notion centralizes notes, docs, wikis, and tasks in a unified workspace, letting teams build custom workflows for collaboration and knowledge management. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

ProductivityOAuth 2.0MCP + RESTnotion.so
AUDIT LOG · NOTIONPOLICY: acme-support
09:41:07 · claude · u_8f2read
notion.list_users
List users✓ allowed · 212ms
09:41:08 · claude · u_8f2read
notion.fetch_row
Fetch database row✓ allowed · 164ms
09:41:09 · claude · u_8f2write
notion.create_view
Create Notion view✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
notion.delete_view
Delete Notion view✕ blocked · policy: deny
EVERY NOTION CALL, ON THE RECORD
01 · USE CASES

What agents do in Notion.

01

Add a row to a database

Create a new entry in a Notion database, such as a task or a tracked item.

02

Fetch a page's content

Read a page's blocks and content to answer a question, without changing it.

03

Approve before archiving a page

Require approval before archiving a page, since it removes it from active views for the whole team.

02 · ACTIONS

57 Notion actions, graded by risk.

Every Notion action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

22

Look things up. Allowed by default.

  • notion.list_users
    List users
  • notion.list_views
    List Notion views
  • notion.get_about_me
    Get About Me (Deprecated)
  • notion.get_about_user
    Get about user
  • notion.query_database
    Query database
  • notion.get_page_markdown
    Get page markdown
  • notion.list_file_uploads
    List Notion file uploads
  • notion.query_data_source
    Query data source
  • notion.search_notion_page
    Search Notion pages and databases
  • notion.get_view_query_results
    Get Notion view query results
  • notion.get_page_property_action
    Get page property
  • notion.list_data_source_templates
    List data source templates
  • notion.query_database_with_filter
    Query database with filter
  • notion.fetch_row
    Fetch database row
  • notion.fetch_data
    Fetch Notion Data
  • notion.retrieve_page
    Retrieve page
+ 6 MORE

write

26

Create and change things. Allow, or ask the user first.

  • notion.create_view
    Create Notion view
  • notion.update_page
    Update Page
  • notion.update_view
    Update Notion view
  • notion.create_comment
    Create comment
  • notion.create_database
    Create Notion Database
  • notion.add_page_content
    Add single content block to Notion page (Deprecated)
  • notion.send_file_upload
    Send file upload
  • notion.create_view_query
    Create Notion view query
  • notion.create_file_upload
    Create Notion file upload
  • notion.create_notion_page
    Create Notion page
  • notion.update_row_database
    Update Database Row (Page)
  • notion.update_schema_database
    Update database schema
  • notion.add_multiple_page_content
    Add multiple content blocks (bulk, user-friendly)
  • notion.who_am_i
    Who Am I
  • notion.move_page
    Move Page
  • notion.duplicate_page
    Duplicate page
+ 10 MORE

destructive

9

Delete, cancel or archive. Ask first, or deny outright.

  • notion.delete_view
    Delete Notion view
  • notion.delete_block
    Delete a block
  • notion.delete_view_query
    Delete Notion view query
  • notion.archive_notion_page
    Archive Notion Page
  • notion.update_block
    Update block
  • notion.fetch_block_contents
    Fetch Notion Block Children
  • notion.fetch_block_metadata
    Fetch Notion block metadata
  • notion.append_block_children
    Append raw Notion blocks (advanced API)
  • notion.fetch_all_block_contents
    Fetch All Notion Block Contents
03 · HOW IT WORKS

Notion in three steps.

  1. 01Your users connect NotionThey sign in to Notion on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create Notion view” can wait for the user, and “delete Notion view” can be denied outright.
  3. 03Any agent can actYour agent calls Notion through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('notion', {
  read: 'allow',
  write: 'ask',        // create_view
  destructive: 'deny',  // delete_view
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Notion connects.

Users sign in to Notion on Arc0 Connect and approve the scopes you request. Build with Arc0’s Notion OAuth app, or bring your own so the Notion consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Notion connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key · OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Notion from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Notion and Arc0, answered.

Q01

Can I use Notion with Claude, ChatGPT or Cursor?

Yes. Connect Notion to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Notion actions you allow.

Q02

How do users connect Notion?

Users sign in to Notion on Arc0 Connect and approve the scopes you request. Build with Arc0’s Notion OAuth app, or bring your own so the Notion consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Notion actions can my agent take?

57 in total: 22 read, 26 write and 9 destructive, such as “create Notion view”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Notion?

Yes. Actions like “delete Notion view” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Notion too?

Yes. The same Notion connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Notion into your agent.

Your users connect Notion once, under your brand. Your agent gets 57 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan