C
Cody
Developer Tools

Connecting OpenClaw with Notion: A Practical Guide

·3 min read

Notion is where many teams store their documentation, meeting notes, and project wikis. Connecting it to OpenClaw means your Slack bot can surface that knowledge on demand. The Notion API makes this achievable, though with some notable limitations.

How OpenClaw Integrations Work

OpenClaw is a self-hosted AI assistant that runs on your own server — typically an EC2 instance — and connects to Slack. It uses Claude under the hood to process requests. Out of the box, OpenClaw doesn't ship with pre-built connections to third-party tools. Instead, integrations are built using the skills system: markdown files in ~/.openclaw/skills/ that give Claude instructions for a particular domain, combined with HTTP tool calls to any API you expose to it.

In practice, adding a real integration means: getting API credentials from the third-party service, building or configuring a small proxy/endpoint that OpenClaw can call, and writing a skill file that tells Claude how to use it. For some tools this is an afternoon of work. For others — like Notion — it's considerably more involved.

Connecting OpenClaw with Notion: Step by Step

Step 1: Create a Notion Internal Integration

Go to notion.so/my-integrations and create a new integration. Give it a name, associate it with your workspace, and choose the capabilities it needs (read content at minimum). You'll get an Internal Integration Token — this is your API key.

Step 2: Share Pages With the Integration

Unlike some APIs, Notion requires you to explicitly share each page or database with your integration. Go to any page, click the ... menu → Connections → and add your integration. The integration can only access pages and databases it's been explicitly connected to.

Step 3: Build the Proxy and Skill File

The Notion API has endpoints for searching (/search), reading pages (/pages/{id}), and querying databases (/databases/{id}/query). Build a proxy around the queries your team will use most, and write ~/.openclaw/skills/notion.md listing the key databases and pages by name and ID.

Challenges and Caveats

Full-Text Search Is Limited

Notion's API search endpoint (/search) searches page titles and top-level block content, but doesn't do full-text search within page bodies in all cases. If you're expecting your bot to find content buried deep in a long doc, it may not surface it reliably.

You Have to Share Every Page Manually

There's no way to grant the integration access to your entire workspace at once. Every database or page needs to be explicitly shared. For teams with large, complex Notion setups, this becomes a maintenance task as new content is created.

Rich Block Types Don't Translate Well

Notion's API returns blocks as structured JSON — tables, toggles, callouts, etc. Your proxy or skill needs to handle the translation of complex block types into readable text for Claude. Simple paragraphs are fine; embedded databases, synced blocks, and complex layouts need extra handling.


Skip All of This — Use Cody Instead

Cody includes Notion integration built in, with proper full-workspace search. Your team can ask questions about your docs and get answers — without manually sharing pages with an integration.

Get started with Cody →


Related Guides


Need the model-flexible version? See: How to Connect Notion to OpenClaw: Setup, Models, and Workflow Guide.