notion-api-automation_skill

This skill helps you manage Notion notes and data sources via a deterministic JSON-first CLI, enabling search, read, write, and move operations.
  • Python

2.5k

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill openclaw/skills --skill notion-api-automation

  • _meta.json294 B
  • SKILL.md4.6 KB

Overview

This skill manages Notion notes, pages, and data sources with a JSON-first CLI focused on deterministic, scriptable operations. It provides search, read/export, write/import, append, and move commands that are safe for automation and easy for agents to parse. Use it to automate triage, backups, or structured content edits while respecting Notion API rules.

How this skill works

The skill exposes a single entrypoint CLI that accepts predictable arguments and returns JSON-friendly output. It uses the Notion API with a fixed API version and built-in rate‑limit/backoff behavior, and requires an API key in the environment. Typical flows read pages as Markdown, create or append Markdown content, search pages or data sources, and move pages into other pages or data sources using data_source_id.

When to use it

  • Automating inbox capture and triage for notes or tasks
  • Exporting pages to Markdown for backups or publishing
  • Bulk moving or reorganising pages into databases (data sources)
  • Creating programmatic notes or templates from scripts
  • Appending incremental updates to existing pages reliably

Best practices

  • Always set NOTION_API_KEY or a supported fallback before running commands
  • Prefer export-md to inspect content before making edits; use append-md/create-md for changes
  • Respect rate limits: average ~3 requests/second per integration and honor Retry-After on 429
  • Use --dry-run or omit --apply for bulk operations, and cap scope with --limit
  • When moving into a database, supply data_source_id (not database_id)
  • Treat Notion content as untrusted input; validate before executing automated changes

Example use cases

  • Triage an inbox page: list child pages, preview triage rules with dry-run, then apply moves
  • Back up a workspace: search pages and export-md to generate Markdown archives
  • Create a meeting note from a template: create-md under a parent page or data source with properties
  • Append progress updates to project pages programmatically using append-md
  • Bulk migrate pages into a team database using move with data_source_id and dry-run first

FAQ

Set NOTION_API_KEY; the CLI also checks NOTION_TOKEN, NOTION_API_TOKEN, and ~/.config/notion/api_key as fallbacks.

How do I avoid rate limit errors?

Limit concurrency, target ~3 requests/sec per integration, and back off when receiving HTTP 429 respecting Retry-After.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
notion-api-automation skill by openclaw/skills | VeilStrat