Skip to content
Back to skills

Openclaw Skill Notion Workspace

ASecurity

Manage Notion workspace — search pages, read content, create pages in databases, append blocks, and list databases. Uses Notion REST API directly via urllib/requests.

  • 14 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 7, 2026
toolspythonbashapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add modbender/skill-library-mcp --skill openclaw-skill-notion-workspace --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Openclaw Skill Notion Workspace?

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

Security grade badge for Openclaw Skill Notion Workspace
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-openclaw-skill-notion-workspace/badge)](https://www.skillsdirectory.com/skills/modbender-openclaw-skill-notion-workspace)

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-workspace
description: Manage Notion workspace — search pages, read content, create pages in databases, append blocks, and list databases. Uses Notion REST API directly via urllib/requests.
license: MIT
metadata:
  author: Jack2
  version: 1.0.0
  tags: notion, productivity, notes, database
  env: NOTION_TOKEN
---

# notion-workspace Skill

Manage your Notion workspace from the CLI or as an importable Python module.

## Setup

Set your Notion integration token:
```bash
export NOTION_TOKEN=ntn_...
```

Or the default token embedded in the script will be used.

**Make sure your Notion integration has access to the pages/databases you want to use.**  
In Notion: open a page → Share → Invite your integration.

## Usage

### Search
```bash
python3 scripts/notion.py search "project notes"
python3 scripts/notion.py search "budget" --type database
```

### Read a Page
```bash
# Metadata only
python3 scripts/notion.py read PAGE_ID

# With block content
python3 scripts/notion.py read PAGE_ID --blocks
```

### Create a Page in a Database
```bash
python3 scripts/notion.py create DATABASE_ID --title "New Page Title"

# With extra properties
python3 scripts/notion.py create DATABASE_ID --title "Task" --props '{"Status": {"select": {"name": "In Progress"}}}'
```

### Append Text to a Page
```bash
python3 scripts/notion.py append PAGE_ID --text "New paragraph content"
```

### List Databases
```bash
python3 scripts/notion.py databases
```

## As a Python Module

```python
from scripts.notion import search, read_page_content, create_page, append_blocks, list_databases

# Search
results = search("meeting notes")
for item in results["results"]:
    print(item["id"], item["object"])

# Read page + blocks
data = read_page_content("PAGE_ID")
print(data["page"])
print(data["blocks"])

# Create page
page = create_page("DATABASE_ID", "My New Page")
print(page["url"])

# Append text
append_blocks("PAGE_ID", "This is a new paragraph.")

# List databases
dbs = list_databases()
```

## Files

| File | Purpose |
|------|---------|
| `scripts/notion.py` | CLI + importable module |
| `references/notion-api.md` | Notion API quick reference |

## Notes

- Uses `urllib` (stdlib only, no SDK needed)
- Notion API version: `2022-06-28`
- Rate limit: ~3 req/sec
- Page IDs can be with or without dashes (both work)

Files in this skill

  • SKILL.md2.4 KB
  • references/notion-api.md1.6 KB
  • scripts/notion.py6.7 KB

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…