v0.0.1

Notion Manager

willykinfoussia willykinfoussia ← All skills

Notion CLI for creating and managing pages, databases, and blocks.

Downloads
1.3k
Stars
3
Versions
1
Updated
2026-02-24

Install

npx clawhub@latest install notion-cli

Documentation

---

name: notion-cli

description: Notion CLI for creating and managing pages, databases, and blocks.

homepage: https://github.com/litencatt/notion-cli

metadata: {"openclaw":{"emoji":"📓","requires":{"env":["NOTION_TOKEN"]},"primaryEnv":"NOTION_TOKEN"}}

---

notion

Use *notion-cli* to create/read/update pages, data sources (databases), and blocks.

Setup

  • -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)

Usage

All commands require the *NOTION_TOKEN* environment variable to be set:

``bash

export NOTION_TOKEN=$(cat ~/.config/notion/api_key)

`

Common Operations

  • -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:

`bash

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:

`bash

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>

Property Types

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"}

Examples

  • -Search for pages:

notion-cli search --query "AIStories"

  • -Query database with filter:

`bash

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:

`bash

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"

}

}

}

}'

`

Key Features

  • -*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

Notes

  • -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

References

  • -GitHub Notion-CLI: https://github.com/litencatt/notion-cli
  • -Notion API Documentation: https://developers.notion.com

Launch an agent with Notion Manager on Termo.