Skip to content
Agentmart
Submit a tool

notion

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

Skill by taracodlabs

IndexedApache-2.0★ 863
Write a review

Chalk Labs

Need help deploying notion?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/taracodlabs-notion

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

Use cases: backend, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/notion

What's inside

Skill name
notion
Description
Read, create, and update Notion pages and databases via the Notion REST API
License
Apache-2.0
Instructions
100 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • skill.json

SKILL.md (first lines)

# 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

```powershell
$dbId    = "your-database-id"
$headers = @{ "Authorization" = "Bearer $env:NOTION_TOKEN"; "Notion-Version" = "2022-06-28"; "Content-Type" = "application/json" }
$filter  = '{"filter": {"property": "Status", "select": {"equals": "In Progress"}}}'
$resp    = Invoke-RestMethod -Uri "https://api.notion.com/v1/databases/$dbId/query" -Method Post -Headers $headers -Body $filter
$resp.results | ForEach-Object { $_.properties.Name.title.plain_text }
```

### 5. Create a page in a database

```powershell
$dbId    = "your-database-id"
$headers = @{ "Authorization" = "Bearer $env:NOTION_TOKEN"; "Notion-Version" = "2022-06-28"; "Content-Type" = "application/json" }
$payload = @{
  parent     = @{ database_id = $dbId }
  properties = @{
    Name = @{ title = @(@{ text = @{ content = "My New Page" } }) }
  }
} | ConvertTo-Json -Depth 10
Invoke-RestMethod -Uri "https://api.notion.com/v1/pages" -Method Post -Headers $headers -Body $payload
```

### 6. Append text blocks to a page

```powershell
$pageId  = "your-page-id"
$headers = @{ "Authorization" = "Bearer $env:NOTION_TOKEN"; "Notion-Version" = "2022-06-28"; "Content-Type" = "application/json" }
$payload = @{
  children = @(@{
    object    = "block"
    type      = "paragraph"
    paragraph = @{ rich_text = @(@{ type = "text"; text = @{ content = "Appended content here." } }) }
  })
} | ConvertTo-Json -Depth 10
Invoke-RestMethod -Uri "https://api.notion.com/v1/blocks/$pageId/children" -Method Patch -Headers $headers -Body $payload
```

## Examples

**"Show me all In Progress tasks in my Notion project database"**
→ Use step 4 with a Status filter. Ask for database ID from the Notion URL.

**"Create a new meeting notes page in Notion for today"**
→ Use step 5 to create a page, then step 6 to append an agenda block.

**"Search my Notion workspace for anything about Q2 planning"**
→ Use step 2 with query `Q2 planning`.

## Cautions

- Integration must be explicitly shared with each page/database — it won't see everything by default
- Page IDs are the 32-character hex string at the end of Notion URLs
- API rate limit is 3 requests/second per integration — add delays for bulk operations
- Rich text properties have nested structure — always check `rich_text[0].plain_text` for text values

From taracodlabs/aiden, Apache-2.0.

More from taracodlabs/aiden

Compare and alternatives

    Featured in

    Signals

    Stars
    863
    Forks
    150
    Open issues
    12
    Last commit (this folder)
    Apr 27, 2026 (6 months ago)
    Last release
    Oct 19, 2026 (11 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    Same skill elsewhere

    Copies of this SKILL.md published by others; search shows only one of them.

    More from taracodlabs

    Done for you

    Rather not set it up yourself?

    Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

    See how we build AI agents →Read the case studies

    Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

    launches shipped
    50+
    launches shipped
    media placements
    500+
    media placements
    founders on every account
    2
    founders on every account

    Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

    Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

    Get notion running in your business

    Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

    Goes to the Chalk Labs founders, not the newsletter. Privacy

    Need help deploying notion?

    CallGet help
    Cite this page

    notion skill. Agent Mart. https://agentmart.dev/skills/taracodlabs-notion (last updated 2026-10-24)