Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Notion CLI for creating and managing pages, databases, and blocks.
Notion CLI for creating and managing pages, databases, and blocks.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Use notion-cli to create/read/update pages, data sources (databases), and blocks.
Install notion-cli: npm install -g @iansinnott/notion-cli Create an integration at https://notion.so/my-integrations Copy the API key (starts with ntn_ or secret_) Store it: mkdir -p ~/.config/notion echo "ntn_your_key_here" > ~/.config/notion/api_key Share target pages/databases with your integration (click "..." โ "Connect to" โ your integration name)
All commands require the NOTION_TOKEN environment variable to be set: export NOTION_TOKEN=$(cat ~/.config/notion/api_key)
Search for pages and data sources: notion-cli search --query "page title" Get page: notion-cli page retrieve <PAGE_ID> Get page content (blocks): notion-cli page retrieve <PAGE_ID> -r Create page in a database: curl -X POST https://api.notion.com/v1/pages \ -H "Authorization: Bearer $NOTION_TOKEN" \ -H "Content-Type: application/json" \ -H "Notion-Version: 2025-09-03" \ --data '{ "parent": { "database_id": "YOUR_DATABASE_ID" }, "properties": { "Name": { "title": [ { "text": { "content": "Nouvelle idรฉe" } } ] } } }' Query a database: notion-cli db query <DB_ID> -a '{"property":"Status","status":{"equals":"Active"}}' Update page properties: curl -X PATCH https://api.notion.com/v1/pages/PAGE_ID \ -H "Authorization: Bearer $NOTION_TOKEN" \ -H "Content-Type: application/json" \ -H "Notion-Version: 2025-09-03" \ --data '{ "properties": { "Name": { "title": [ { "text": { "content": "Nouveau titre" } } ] }, "Status": { "status": { "name": "In progress" } }, "Priority": { "select": { "name": "High" } }, "Due date": { "date": { "start": "2026-02-10" } }, "Description": { "rich_text": [ { "text": { "content": "Description mise ร jour" } } ] } } }' Get database info: notion-cli db retrieve <DB_ID>
Common property formats for database items: Title: {"title": [{"text": {"content": "..."}}]} Rich text: {"rich_text": [{"text": {"content": "..."}}]} Status: {"status": {"name": "Option"}} Select: {"select": {"name": "Option"}} Multi-select: {"multi_select": [{"name": "A"}, {"name": "B"}]} Date: {"date": {"start": "2024-01-15", "end": "2024-01-16"}} Checkbox: {"checkbox": true} Number: {"number": 42} URL: {"url": "https://..."} Email: {"email": "a@b.com"}
Search for pages: notion-cli search --query "AIStories" Query database with filter: notion-cli db query 2faf172c094981d3bbcbe0f115457cda \ -a '{ "property": "Status", "status": { "equals": "Backlog" } }' Retrieve page content: notion-cli page retrieve 2fdf172c-0949-80dd-b83b-c1df0410d91b -r Update page status: curl -X PATCH https://api.notion.com/v1/pages/2fdf172c-0949-80dd-b83b-c1df0410d91b \ -H "Authorization: Bearer $NOTION_TOKEN" \ -H "Content-Type: application/json" \ -H "Notion-Version: 2025-09-03" \ --data '{ "properties": { "Status": { "status": { "name": "In progress" } } } }'
Interactive mode: For complex queries, run notion-cli db query <DB_ID> without arguments to enter interactive mode Multiple output formats: table (default), csv, json, yaml Raw JSON: Use --raw flag for complete API responses Filter syntax: Use -a flag for complex filters with AND/OR conditions
Page/database IDs are UUIDs (with or without dashes) The CLI handles authentication automatically via NOTION_TOKEN Rate limits are managed by the CLI Use notion-cli help for complete command reference
GitHub Notion-CLI: https://github.com/litencatt/notion-cli Notion API Documentation: https://developers.notion.com
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.