# Notion

Read, create, and update Notion pages and databases via the Notion REST API

- Repository: https://github.com/taracodlabs/aiden (868 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-19
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add taracodlabs/aiden --skill notion -g -a claude-code -y`
Codex: `npx skills add taracodlabs/aiden --skill notion -g -a codex -y`
Cursor: `npx skills add taracodlabs/aiden --skill notion -g -a cursor -y`
Gemini CLI: `npx skills add taracodlabs/aiden --skill notion -g -a gemini-cli -y`

## Description

Read, create, and update Notion pages and databases via the Notion REST API

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Notion API Integration

Interact with Notion workspaces through the official REST API. Requires an Internal Integration token (`NOTION_TOKEN`) and pages/databases shared with that integration.

## When to Use

- User wants to read content from a Notion page
- User wants to create a new page or database entry
- User wants to query a Notion database with filters
- User wants to append blocks to an existing page
- User wants to search across their Notion workspace

## How to Use

### 1. Set up the integration token

The user must create an Internal Integration at https://www.notion.so/my-integrations and share their pages/databases with it.

```powershell
# Set token in session (or add to .env)
$env:NOTION_TOKEN = "ntn_..."
```

### 2. Search workspace

```powershell
$headers = @{ "Authorization" = "Bearer $env:NOTION_TOKEN"; "Notion-Version" = "2022-06-28"; "Content-Type" = "application/json" }
$body    = '{"query": "meeting notes"}'
$resp    = Invoke-RestMethod -Uri "https://api.notion.com/v1/search" -Method Post -Headers $headers -Body $body
$resp.results | Select-Object -ExpandProperty properties | ConvertTo-Json -Depth 5
```

### 3. Read a page

```powershell
$pageId  = "your-page-id"   # from Notion URL: notion.so/Page-Title-<pageId>
$headers = @{ "Authorization" = "Bearer $env:NOTION_TOKEN"; "Notion-Version" = "2022-06-28" }
$page    = Invoke-RestMethod -Uri "https://api.notion.com/v1/pages/$pageId" -Headers $headers
$blocks  = Invoke-RestMethod -Uri "https://api.notion.com/v1/blocks/$pageId/children" -Headers $headers
$blocks.results | ForEach-Object { $_.paragraph.rich_text.plain_text }
```

### 4. Query a database

The rest: https://github.com/taracodlabs/aiden/blob/HEAD/workspace-templates/skills/notion/SKILL.md
