Supyagent
Cloud IntegrationsProviders

Notion

Connect Notion to your agents for reading and managing pages, databases, and workspace content.

Notion Integration

Notion provides access to pages, databases, and workspace search. Your agents can read page content, query databases, create new pages, and search across your entire workspace.

OAuth Setup

When you click Connect Notion on the dashboard, you are redirected to Notion's authorization page. Notion uses a capability-based model rather than traditional OAuth scopes -- you select which pages and databases the integration can access.

After authorization, your agent can access:

  • Pages you explicitly shared with the integration
  • Databases you explicitly shared with the integration
  • Child pages and blocks within shared pages

Permissions

Permission IDNameTypeDescription
notion.pages.readRead pagesreadView pages and their content
notion.pages.writeManage pageswriteCreate and update pages
notion.databases.readRead databasesreadQuery databases and view entries
notion.databases.writeManage databaseswriteCreate and update database entries
notion.searchSearchreadSearch pages and databases across workspace

Pages

Example Actions

Get page content:

curl -X GET "https://app.supyagent.com/api/v1/notion/pages/{pageId}" \
  -H "Authorization: Bearer sk_live_..."

Get page blocks (content elements):

curl -X GET "https://app.supyagent.com/api/v1/notion/pages/{pageId}/blocks" \
  -H "Authorization: Bearer sk_live_..."

Create a new page:

curl -X POST "https://app.supyagent.com/api/v1/notion/pages" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "parent_id": "parent-page-id",
    "title": "Meeting Notes - March 15",
    "content": "## Attendees\n- Alice\n- Bob\n\n## Action Items\n- [ ] Review PR #42\n- [ ] Update docs"
  }'

What Agents Can Do

  • Read page content and metadata
  • List child pages
  • Create new pages under a parent page
  • Update page properties and content
  • Archive pages

Databases

Example Actions

Query a database:

curl -X POST "https://app.supyagent.com/api/v1/notion/databases/{databaseId}/query" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {
      "property": "Status",
      "select": {"equals": "In Progress"}
    },
    "sorts": [
      {"property": "Due Date", "direction": "ascending"}
    ]
  }'

Create a database entry:

curl -X POST "https://app.supyagent.com/api/v1/notion/databases/{databaseId}/entries" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "Name": "Implement dark mode",
      "Status": "To Do",
      "Priority": "High",
      "Assignee": "Alice"
    }
  }'

What Agents Can Do

  • Query databases with filters and sorts
  • List all entries in a database
  • Create new database entries
  • Update existing entry properties
  • View database schema (properties and their types)

Example Actions

Search across workspace:

curl -X POST "https://app.supyagent.com/api/v1/notion/search" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "product roadmap",
    "filter": {"object": "page"}
  }'

What Agents Can Do

  • Full-text search across all shared pages and databases
  • Filter results by object type (page or database)
  • Sort results by relevance or last edited time

Setup Notes

Sharing Pages with the Integration

After connecting Notion, you need to share specific pages or databases with the Supyagent integration:

  1. Open a Notion page or database
  2. Click Share in the top-right corner
  3. Search for "Supyagent" in the share dialog
  4. Click Invite

The integration can only access pages that have been explicitly shared. Child pages inherit access from their parent.

Notes

  • Notion uses UUIDs for page and database IDs (e.g., a1b2c3d4-e5f6-7890-abcd-ef1234567890)
  • Page content is returned as blocks (paragraphs, headings, lists, code blocks, etc.)
  • Database entries are returned as pages with properties matching the database schema
  • Notion API rate limits: 3 requests per second per integration
  • Rich text formatting (bold, italic, links) is preserved in block content