← Back to Skills Marketplace
nhuanlaptrinh

hocnhanh_n8n

by nhuanlaptrinh · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
141
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install nhuann8n
Description
Notion API for creating and managing pages, databases, and blocks.
README (SKILL.md)

notion

Use the Notion API to create/read/update pages, data sources (databases), and blocks.

Setup

  1. Create an integration at https://notion.so/my-integrations
  2. Copy the API key (starts with ntn_ or secret_)
  3. Store it:
mkdir -p ~/.config/notion
echo "ntn_your_key_here" > ~/.config/notion/api_key
  1. Share target pages/databases with your integration (click "..." → "Connect to" → your integration name)

API Basics

All requests need:

NOTION_KEY=$(cat ~/.config/notion/api_key)
curl -X GET "https://api.notion.com/v1/..." \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json"

Note: The Notion-Version header is required. This skill uses 2025-09-03 (latest). In this version, databases are called "data sources" in the API.

Common Operations

Search for pages and data sources:

curl -X POST "https://api.notion.com/v1/search" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "page title"}'

Get page:

curl "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Get page content (blocks):

curl "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Create page in a data source:

curl -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "xxx"},
    "properties": {
      "Name": {"title": [{"text": {"content": "New Item"}}]},
      "Status": {"select": {"name": "Todo"}}
    }
  }'

Query a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {"property": "Status", "select": {"equals": "Active"}},
    "sorts": [{"property": "Date", "direction": "descending"}]
  }'

Create a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"page_id": "xxx"},
    "title": [{"text": {"content": "My Database"}}],
    "properties": {
      "Name": {"title": {}},
      "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
      "Date": {"date": {}}
    }
  }'

Update page properties:

curl -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"Status": {"select": {"name": "Done"}}}}'

Add blocks to page:

curl -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "children": [
      {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
    ]
  }'

Property Types

Common property formats for database items:

  • Title: {"title": [{"text": {"content": "..."}}]}
  • Rich text: {"rich_text": [{"text": {"content": "..."}}]}
  • 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": "[email protected]"}
  • Relation: {"relation": [{"id": "page_id"}]}

Key Differences in 2025-09-03

  • Databases → Data Sources: Use /data_sources/ endpoints for queries and retrieval
  • Two IDs: Each database now has both a database_id and a data_source_id
    • Use database_id when creating pages (parent: {"database_id": "..."})
    • Use data_source_id when querying (POST /v1/data_sources/{id}/query)
  • Search results: Databases return as "object": "data_source" with their data_source_id
  • Parent in responses: Pages show parent.data_source_id alongside parent.database_id
  • Finding the data_source_id: Search for the database, or call GET /v1/data_sources/{data_source_id}

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • The API cannot set database view filters — that's UI-only
  • Rate limit: ~3 requests/second average, with 429 rate_limited responses using Retry-After
  • Append block children: up to 100 children per request, up to two levels of nesting in a single append request
  • Payload size limits: up to 1000 block elements and 500KB overall
  • Use is_inline: true when creating data sources to embed them in pages
Usage Guidance
This skill appears to do what it claims: call the Notion API using a Notion integration key. Before installing, note two small issues: (1) the registry metadata declares NOTION_API_KEY as the primary credential but the SKILL.md examples use a different variable name (NOTION_KEY) and instruct you to store the key in ~/.config/notion/api_key — decide whether you'll provide the key via env var or file and adjust accordingly; (2) the instructions recommend storing the API key as plain text in your home directory — consider using your platform's secret storage or environment variables instead, and give the integration only the minimum scopes and page/database access required. If you proceed, verify the integration name and scope in Notion and be ready to revoke the key if you notice unexpected activity.
Capability Analysis
Type: OpenClaw Skill Name: nhuann8n Version: 1.0.0 The skill bundle provides standard documentation and examples for interacting with the Notion API. It includes instructions for setting up an API key, performing common operations like searching and creating pages, and details on property types, all of which align with its stated purpose in SKILL.md.
Capability Assessment
Purpose & Capability
Name/description (Notion API for pages/databases/blocks) match the runtime instructions which only call api.notion.com endpoints. No unrelated services, binaries, or excessive capabilities are requested.
Instruction Scope
SKILL.md instructs the user to store the key in ~/.config/notion/api_key and shows reading it into NOTION_KEY with cat, but the skill metadata declares NOTION_API_KEY as the required env var and lists no required config paths. The instructions therefore reference a config path that the registry metadata did not declare and use a different env-var name (NOTION_KEY) than the declared primary (NOTION_API_KEY). Also recommends storing the secret as plain text in the home directory (common but worth noting).
Install Mechanism
No install spec or code files; this is instruction-only, so nothing will be downloaded or written to disk by an installer.
Credentials
Only one credential (Notion API key) is requested, which is proportional to the stated purpose. Minor inconsistency: metadata expects NOTION_API_KEY while examples use NOTION_KEY and a file at ~/.config/notion/api_key — the single credential is appropriate but the handling is ambiguous.
Persistence & Privilege
always is false and the skill does not request persistent system-wide configuration or other skills' credentials. Autonomous invocation is allowed (platform default) but not combined with any broad or unrelated privileges here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install nhuann8n
  3. After installation, invoke the skill by name or use /nhuann8n
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
test thử thôi bạn
Metadata
Slug nhuann8n
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is hocnhanh_n8n?

Notion API for creating and managing pages, databases, and blocks. It is an AI Agent Skill for Claude Code / OpenClaw, with 141 downloads so far.

How do I install hocnhanh_n8n?

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

Is hocnhanh_n8n free?

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

Which platforms does hocnhanh_n8n support?

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

Who created hocnhanh_n8n?

It is built and maintained by nhuanlaptrinh (@nhuanlaptrinh); the current version is v1.0.0.

💬 Comments