Skip to content
Back to skills

Notion

ASecurity

Search, create, update, and organize Notion pages, databases, notes, and trackers through the Notion API.

  • 157 stars
  • 0 votes
  • 0 copies
  • 13 views
  • Added May 27, 2026
data-aigoshellbashapidatabase

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add HybridAIOne/hybridclaw --skill notion --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Notion?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Notion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hybridaione-notion/badge)](https://www.skillsdirectory.com/skills/hybridaione-notion)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: notion
description: Search, create, update, and organize Notion pages, databases, notes, and trackers through the Notion API.
user-invocable: true
metadata:
  hybridclaw:
    category: memory
    short_description: "Notion pages and databases."
    tags:
      - notion
      - workspace
      - docs
      - database
      - office
    related_skills:
      - project-manager
      - trello
---
# Notion Workspace Operations

Use the Notion API for page, block, and data-source work.

## Setup

If `NOTION_API_KEY` is not already configured:

1. Create an internal integration in Notion.
2. Save the token outside the repo, usually as `NOTION_API_KEY`.
3. Share the target pages or databases with that integration.

Do not assume the integration can see a page until the user confirms sharing.

## API Basics

Before API calls, write a private temp curl config and register cleanup so the
Notion token stays off the shell command line and the auth file is removed on
exit:

```bash
AUTH_CURL="$(mktemp)"
chmod 600 "$AUTH_CURL"
trap 'rm -f "$AUTH_CURL"' EXIT INT TERM
cat >"$AUTH_CURL" <<EOF
header = "Authorization: Bearer $NOTION_API_KEY"
header = "Notion-Version: 2025-09-03"
EOF
```

All requests need:

```bash
curl -s "https://api.notion.com/v1/..." -K "$AUTH_CURL"
```

## Common Operations

Search:

```bash
curl -s -X POST "https://api.notion.com/v1/search" \
  -K "$AUTH_CURL" \
  -H "Content-Type: application/json" \
  -d '{"query":"release notes"}'
```

Get page metadata:

```bash
curl -s "https://api.notion.com/v1/pages/PAGE_ID" -K "$AUTH_CURL"
```

Get page blocks:

```bash
curl -s "https://api.notion.com/v1/blocks/PAGE_ID/children" -K "$AUTH_CURL"
```

Query a data source:

```bash
curl -s -X POST "https://api.notion.com/v1/data_sources/DATA_SOURCE_ID/query" \
  -K "$AUTH_CURL" \
  -H "Content-Type: application/json" \
  -d '{"page_size":20}'
```

Create a page in a database:

```bash
curl -s -X POST "https://api.notion.com/v1/pages" \
  -K "$AUTH_CURL" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"DATABASE_ID"},"properties":{"Name":{"title":[{"text":{"content":"New item"}}]}}}'
```

Append blocks:

```bash
curl -s -X PATCH "https://api.notion.com/v1/blocks/PAGE_ID/children" \
  -K "$AUTH_CURL" \
  -H "Content-Type: application/json" \
  -d '{"children":[{"object":"block","type":"paragraph","paragraph":{"rich_text":[{"text":{"content":"Hello"}}]}}]}'
```

## Important Notes

- Notion now distinguishes `database_id` from `data_source_id`.
- Use `database_id` when creating pages.
- Use `data_source_id` when querying data.
- Read first, write second.
- If you are done before the shell exits, run `rm -f "$AUTH_CURL"` and
  `trap - EXIT INT TERM`.

## Rules

- Confirm the exact parent page or database before creating content.
- Show the proposed page title, properties, and key block content before writing.
- Prefer databases for structured tasks, trackers, and meeting logs instead of ad hoc bullet pages.
- Respect rate limits and avoid large write bursts.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.