name: notion-agent description: "Notion integration for OpenClaw. Manage pages, databases, and blocks via AI agent." license: "MIT-0" metadata: { "openclaw": { "emoji": "📝", "requires": { "bins": ["uv"] }, "primaryEnv": "NOTION_TOKEN", }, }
OpenClaw skill for managing Notion workspaces via AI agents. Provides CLI commands for pages, databases, blocks, and search.
Copy the "Internal Integration Token"
Set environment variable:
bash
export NOTION_TOKEN=your_integration_token_here
Share pages/databases with your integration:
All commands use the pattern:
uv run {baseDir}/scripts/notion.py <command> [options]
Create a page:
uv run {baseDir}/scripts/notion.py page create \
--parent <parent_page_id> \
--title "My New Page" \
--content "Initial paragraph content"
Get a page:
uv run {baseDir}/scripts/notion.py page get <page_id>
Update a page:
uv run {baseDir}/scripts/notion.py page update <page_id> \
--title "Updated Title"
Delete (archive) a page:
uv run {baseDir}/scripts/notion.py page delete <page_id>
List child pages:
uv run {baseDir}/scripts/notion.py page list --parent <page_id>
Query a database:
# Simple query
uv run {baseDir}/scripts/notion.py db query <db_id>
# With filter
uv run {baseDir}/scripts/notion.py db query <db_id> --filter Name=Todo
# With sort
uv run {baseDir}/scripts/notion.py db query <db_id> --sort Priority:desc
Add page to database:
uv run {baseDir}/scripts/notion.py db add <db_id> \
--props '{"Name":{"title":[{"text":{"content":"Task"}}]},"Status":{"select":{"name":"Done"}}}'
List all databases:
7w4.net小葱技能。
uv run {baseDir}/scripts/notion.py db list
Append paragraph:
uv run {baseDir}/scripts/notion.py block append <page_id> \
--type paragraph \
--text "This is a paragraph"
Append to-do:
uv run {baseDir}/scripts/notion.py block append <page_id> \
--type todo \
--text "Task to complete" \
--checked
Append heading:
uv run {baseDir}/scripts/notion.py block append <page_id> \
--type heading1 \
--text "Section Title"
Append code block:
uv run {baseDir}/scripts/notion.py block append <page_id> \
--type code \
--text "print('Hello, World!')" \
--language python
List child blocks:
uv run {baseDir}/scripts/notion.py block children <block_id>
Search workspace:
# Search all
uv run {baseDir}/scripts/notion.py search "project plan"
# Search only pages
uv run {baseDir}/scripts/notion.py search "meeting notes" --type page
# Search only databases
uv run {baseDir}/scripts/notion.py search "tasks" --type database
The CLI handles common errors:
- NOTION_TOKEN not set — Set the environment variable
- Invalid NOTION_TOKEN — Check your integration token
- Resource not found — Page/database doesn't exist or integration lacks access
- Permission denied — Share the resource with your integration
https://api.notion.com/v12022-06-28NOTION_TOKENrequests library only (no Notion SDK)Create a meeting notes page:
uv run {baseDir}/scripts/notion.py page create \
--parent <workspace_root_id> \
--title "Meeting Notes - 2026-03-10" \
--content "Attendees: Team"
Add task to project database:
uv run {baseDir}/scripts/notion.py db add <project_db_id> \
--props '{"Name":{"title":[{"text":{"content":"Fix bug #123"}}]},"Status":{"select":{"name":"In Progress"}},"Priority":{"select":{"name":"High"}}}'
Build a structured page:
PAGE_ID=$(uv run {baseDir}/scripts/notion.py page create --parent <parent> --title "Report" | jq -r .id)
uv run {baseDir}/scripts/notion.py block append $PAGE_ID --type heading1 --text "Executive Summary"
uv run {baseDir}/scripts/notion.py block append $PAGE_ID --type paragraph --text "Key findings..."
uv run {baseDir}/scripts/notion.py block append $PAGE_ID --type heading2 --text "Details"
uv run {baseDir}/scripts/notion.py block append $PAGE_ID --type todo --text "Review findings"
uv run {baseDir}/scripts/notion.py --help
uv run {baseDir}/scripts/notion.py page --help
uv run {baseDir}/scripts/notion.py db --help
uv run {baseDir}/scripts/notion.py block --help
这个 Skill 质量不错,完成了 Notion 的核心功能集成,包括页面、数据库、块操作和搜索。它的一大亮点是文档非常详细,小白也能快速上手,错误提示也很友好。不过它的一些高级功能比较简单,比如过滤只能匹配文本包含,数据库属性还需要自己写 JSON 格式,对新手有点门槛。总体来说功能完整、代码规范,是一款可靠的 Notion 集成工具。