← 返回 Skills 市场
nidhov01

Notion

作者 nidhov01 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
256
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install nidhov01-notion
功能描述
Notion API for creating and managing pages, databases, and blocks.
使用说明 (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
  • Use is_inline: true when creating data sources to embed them in pages
安全使用建议
This skill is an instruction-only Notion API helper and appears to do what it says. Before installing or using it: (1) Verify you trust the skill's publisher — the _meta.json ownerId differs from the registry ownerId shown, which may be a packaging/metadata error. (2) Prefer storing your Notion integration key in a safer secret store or an environment variable rather than in plaintext at ~/.config/notion/api_key; if you must use a file, restrict its filesystem permissions (chmod 600). (3) Create an integration with the minimum scopes needed and share only the pages/databases the integration requires. (4) Rotate or revoke the token if you suspect it has been exposed. (5) Note the SKILL.md pins Notion-Version 2025-09-03 and uses data_sources endpoints — confirm that your Notion workspace and integration are compatible. (6) The skill can be invoked autonomously by the agent platform (normal default), but it will only be able to perform actions if you provide the API key, so treat that key as sensitive.
功能分析
Type: OpenClaw Skill Name: nidhov01-notion Version: 1.0.0 The skill provides standard documentation and curl command templates for interacting with the official Notion API (api.notion.com). It includes instructions for local credential storage in ~/.config/notion/api_key and outlines common CRUD operations for pages and databases. While it references a future-dated API version (2025-09-03), the logic is consistent with legitimate API usage and contains no evidence of malicious intent, data exfiltration, or prompt injection.
能力评估
Purpose & Capability
The skill's name, description, and instructions all target the Notion API and the actions (pages, data sources/databases, blocks) match the declared purpose. One minor inconsistency: the registry metadata shown at the top uses ownerId 'kn71m67…' while the included _meta.json contains a different ownerId ('kn70pyw…'). This looks like a metadata mismatch but does not change the functional purpose.
Instruction Scope
All runtime instructions are limited to creating a Notion integration, storing its API key in ~/.config/notion/api_key, and using curl against api.notion.com with the required headers. The instructions do ask the user to store the API key as plaintext in a file and read it with cat — that is functional but a potential local-security/privacy concern. There are no instructions to read unrelated files or exfiltrate data to third-party endpoints.
Install Mechanism
No install spec and no code files — this is instruction-only, which minimizes the risk of arbitrary code being written or executed on the host.
Credentials
The skill declares no required environment variables or primary credential, but the SKILL.md instructs users to store a Notion API key in ~/.config/notion/api_key and then read it into NOTION_KEY. This is coherent functionally but inconsistent with metadata (no declared credential). Requesting access to a single Notion API key is proportionate for the stated functionality.
Persistence & Privilege
always is false and there is no installation that modifies other skills or system-wide settings. The skill does not request elevated or persistent platform privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install nidhov01-notion
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /nidhov01-notion 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Fork - 2026.3.16
元数据
Slug nidhov01-notion
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Notion 是什么?

Notion API for creating and managing pages, databases, and blocks. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 256 次。

如何安装 Notion?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install nidhov01-notion」即可一键安装,无需额外配置。

Notion 是免费的吗?

是的,Notion 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Notion 支持哪些平台?

Notion 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Notion?

由 nidhov01(@nidhov01)开发并维护,当前版本 v1.0.0。

💬 留言讨论