Install
openclaw skills install openclaw-skill-notion-workspaceManage Notion workspace — search pages, read content, create pages in databases, append blocks, and list databases. Uses Notion REST API directly via urllib/requests.
openclaw skills install openclaw-skill-notion-workspaceManage your Notion workspace from the CLI or as an importable Python module.
Set your Notion integration token:
export NOTION_TOKEN=ntn_...
Or the default token embedded in the script will be used.
Make sure your Notion integration has access to the pages/databases you want to use.
In Notion: open a page → Share → Invite your integration.
python3 scripts/notion.py search "project notes"
python3 scripts/notion.py search "budget" --type database
# Metadata only
python3 scripts/notion.py read PAGE_ID
# With block content
python3 scripts/notion.py read PAGE_ID --blocks
python3 scripts/notion.py create DATABASE_ID --title "New Page Title"
# With extra properties
python3 scripts/notion.py create DATABASE_ID --title "Task" --props '{"Status": {"select": {"name": "In Progress"}}}'
python3 scripts/notion.py append PAGE_ID --text "New paragraph content"
python3 scripts/notion.py databases
from scripts.notion import search, read_page_content, create_page, append_blocks, list_databases
# Search
results = search("meeting notes")
for item in results["results"]:
print(item["id"], item["object"])
# Read page + blocks
data = read_page_content("PAGE_ID")
print(data["page"])
print(data["blocks"])
# Create page
page = create_page("DATABASE_ID", "My New Page")
print(page["url"])
# Append text
append_blocks("PAGE_ID", "This is a new paragraph.")
# List databases
dbs = list_databases()
| File | Purpose |
|---|---|
scripts/notion.py | CLI + importable module |
references/notion-api.md | Notion API quick reference |
urllib (stdlib only, no SDK needed)2022-06-28