← Back to Skills Marketplace
chloepark85

Notion Agent

by Chloe Park · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
327
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install notion-agent
Description
Notion integration for OpenClaw. Manage pages, databases, and blocks via AI agent.
README (SKILL.md)

Notion Agent

OpenClaw skill for managing Notion workspaces via AI agents. Provides CLI commands for pages, databases, blocks, and search.

Setup

  1. Create a Notion Integration:

  2. Set environment variable:

    export NOTION_TOKEN=your_integration_token_here
    
  3. Share pages/databases with your integration:

    • Open the page or database in Notion
    • Click "..." → "Add connections"
    • Select your integration

Usage

All commands use the pattern:

uv run {baseDir}/scripts/notion.py \x3Ccommand> [options]

Page Operations

Create a page:

uv run {baseDir}/scripts/notion.py page create \
  --parent \x3Cparent_page_id> \
  --title "My New Page" \
  --content "Initial paragraph content"

Get a page:

uv run {baseDir}/scripts/notion.py page get \x3Cpage_id>

Update a page:

uv run {baseDir}/scripts/notion.py page update \x3Cpage_id> \
  --title "Updated Title"

Delete (archive) a page:

uv run {baseDir}/scripts/notion.py page delete \x3Cpage_id>

List child pages:

uv run {baseDir}/scripts/notion.py page list --parent \x3Cpage_id>

Database Operations

Query a database:

# Simple query
uv run {baseDir}/scripts/notion.py db query \x3Cdb_id>

# With filter
uv run {baseDir}/scripts/notion.py db query \x3Cdb_id> --filter Name=Todo

# With sort
uv run {baseDir}/scripts/notion.py db query \x3Cdb_id> --sort Priority:desc

Add page to database:

uv run {baseDir}/scripts/notion.py db add \x3Cdb_id> \
  --props '{"Name":{"title":[{"text":{"content":"Task"}}]},"Status":{"select":{"name":"Done"}}}'

List all databases:

uv run {baseDir}/scripts/notion.py db list

Block Operations

Append paragraph:

uv run {baseDir}/scripts/notion.py block append \x3Cpage_id> \
  --type paragraph \
  --text "This is a paragraph"

Append to-do:

uv run {baseDir}/scripts/notion.py block append \x3Cpage_id> \
  --type todo \
  --text "Task to complete" \
  --checked

Append heading:

uv run {baseDir}/scripts/notion.py block append \x3Cpage_id> \
  --type heading1 \
  --text "Section Title"

Append code block:

uv run {baseDir}/scripts/notion.py block append \x3Cpage_id> \
  --type code \
  --text "print('Hello, World!')" \
  --language python

List child blocks:

uv run {baseDir}/scripts/notion.py block children \x3Cblock_id>

Search

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

Error Handling

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

API Reference

  • Base URL: https://api.notion.com/v1
  • API Version: 2022-06-28
  • Authentication: Bearer token via NOTION_TOKEN

Limitations

  • Uses requests library only (no Notion SDK)
  • Simple filter/sort syntax (single property)
  • Rich text limited to plain text content
  • Database properties must be formatted as JSON

Examples for AI Agents

Create a meeting notes page:

uv run {baseDir}/scripts/notion.py page create \
  --parent \x3Cworkspace_root_id> \
  --title "Meeting Notes - 2026-03-10" \
  --content "Attendees: Team"

Add task to project database:

uv run {baseDir}/scripts/notion.py db add \x3Cproject_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 \x3Cparent> --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"

Help

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
Usage Guidance
This skill appears coherent, but before installing: (1) Treat your NOTION_TOKEN as a secret — create a Notion 'Internal Integration' with minimal access and only share the specific pages/databases the integration needs. (2) Review the included scripts yourself (they are small and human-readable) and confirm API calls target https://api.notion.com. (3) The README suggests installing 'uv' via a curl | sh command; prefer installing 'uv' from a trusted source or review the install script before running it. (4) Rotate the token if it may be exposed, and avoid pasting tokens into chats or public repos. (5) If you plan to allow autonomous agent actions, be aware the agent (with this skill) can perform Notion operations with whatever access the token grants — limit the integration scope accordingly.
Capability Analysis
Type: OpenClaw Skill Name: notion-agent Version: 1.0.1 The notion-agent skill is a legitimate integration for managing Notion workspaces via the official Notion API (api.notion.com). The codebase consists of a clean, modular Python implementation (lib/client.py, lib/pages.py, etc.) and a CLI wrapper (scripts/notion.py) that performs standard CRUD operations on pages, databases, and blocks. No evidence of data exfiltration, malicious execution, or prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description, required binary (uv), primary credential (NOTION_TOKEN), and the included Python CLI and library files all align with a Notion API integration. The code calls api.notion.com and implements pages, databases, blocks, and search as described.
Instruction Scope
SKILL.md instructs the agent to run the bundled CLI via 'uv' and to set NOTION_TOKEN. It does not instruct reading unrelated system files, other credentials, or exfiltrating data to non-Notion endpoints. Error messages and usage are narrowly scoped to Notion operations.
Install Mechanism
There is no automatic install spec (instruction-only), which minimizes installation risk. The package includes source code and a pyproject listing 'requests' only. The README suggests installing 'uv' via a curl command; that is a separate user action and should be treated as normal operational advice rather than an automatic installer embedded in the skill.
Credentials
Only the Notion integration token (NOTION_TOKEN) is required as the primary credential. No unrelated secrets, config paths, or broad environment access are requested. This is proportionate to the described functionality.
Persistence & Privilege
The skill does not request permanent/always-on inclusion and does not modify other skills or system-wide settings. Autonomous invocation is allowed by default (normal for skills) but not combined with broad privileges here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install notion-agent
  3. After installation, invoke the skill by name or use /notion-agent
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
v1.0.1: Notion integration for OpenClaw - pages, databases, blocks, search
v1.0.0
Initial release: Notion integration for OpenClaw. Pages, databases, blocks, search.
Metadata
Slug notion-agent
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Notion Agent?

Notion integration for OpenClaw. Manage pages, databases, and blocks via AI agent. It is an AI Agent Skill for Claude Code / OpenClaw, with 327 downloads so far.

How do I install Notion Agent?

Run "/install notion-agent" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Notion Agent free?

Yes, Notion Agent is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Notion Agent support?

Notion Agent is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Notion Agent?

It is built and maintained by Chloe Park (@chloepark85); the current version is v1.0.1.

💬 Comments