pi-notion

Notion integration for Pi Coding Agent — search, fetch, create, and update Notion pages as Markdown with a TUI config editor

Package details

extension

Install pi-notion from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-notion
Package
pi-notion
Version
1.2.0
Published
Mar 24, 2026
Downloads
46/mo · 8/wk
Author
lucianojr
License
MIT
Types
extension
Size
49.9 KB
Dependencies
0 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-notion

Notion integration for Pi Coding Agent — search, fetch, create, and update Notion pages as Markdown.

Installation

pi install npm:pi-notion

Features

Tools

Tool Description
notion_search Search pages and databases by title
notion_fetch Fetch a page by ID, convert blocks to Markdown, save as .md
notion_create Create a new page from Markdown content
notion_update Replace a page's content with new Markdown
notion_databases List or query Notion databases

TUI Config Editor

Run /notion-config inside Pi to interactively set your API token and options — no JSON editing needed.

Bi-directional Markdown ↔ Notion Blocks

  • Notion → Markdown: Headings, lists, code blocks, tables, callouts, toggles, images, bookmarks, equations, and more
  • Markdown → Notion: Headings, lists, code blocks, quotes, checkboxes, images, dividers
  • YAML frontmatter with page metadata (ID, URL, timestamps)

Configuration

Credentials are loaded from (in priority order):

  1. .pi/notion.json (project-local)
  2. ~/.pi/agent/notion.json (global)
  3. Environment variables: NOTION_API_TOKEN, NOTION_OUTPUT_DIR

Config format

{
  "apiToken": "ntn_xxxxx",
  "outputDir": "./notion-docs",
  "notionVersion": "2022-06-28"
}

You can reference environment variables with the ENV: prefix:

{
  "apiToken": "ENV:NOTION_API_TOKEN",
  "outputDir": "./notion-docs"
}

Setup

  1. Create an integration at https://www.notion.so/my-integrations
  2. Copy the Internal Integration Secret (ntn_...)
  3. Share pages/databases with your integration in Notion (⋯ → Connections → Add)
  4. Run /notion-config in Pi or create the config file manually

Usage Examples

> Search my workspace for API docs
  → notion_search query="API docs"

> Download the onboarding guide
  → notion_fetch pageId="abc123-def456"

> Create a meeting notes page
  → notion_create parentPageId="..." title="Sprint Review 2025-03" content="## Highlights\n- ..."

> Update the runbook
  → notion_update pageId="..." content="## Updated Runbook\n..."

> List all databases
  → notion_databases action="list"

> Query a task tracker
  → notion_databases action="query" databaseId="..."

License

MIT