Skip to content
Back to skills

Notion

ASecurity

Access the Notion content calendar and page data for editorial planning. Use this skill when the user asks about the content calendar, blog planning, or editorial schedule.

  • 6,969 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
developmentgoapidatabase

Works with

  • cursor
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add BuilderIO/agent-native --skill notion --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Notion?

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

Security grade badge for Notion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/builderio-notion/badge)](https://www.skillsdirectory.com/skills/builderio-notion)

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
description: >
  Access the Notion content calendar and page data for editorial planning.
  Use this skill when the user asks about the content calendar, blog planning, or editorial schedule.
---

# Notion Integration

## Connection

- **Base URL**: `https://api.notion.com/v1`
- **Auth**: `Authorization: Bearer $NOTION_API_KEY`, `Notion-Version: 2022-06-28`
- **Env vars**: `NOTION_API_KEY`
- **Caching**: 10-minute cache for content calendar and individual pages
- **Content DB**: `db4ae46c822443ba96e51a6a352e0fbe` (hard-coded)

## Server Lib

- **File**: `server/lib/notion.ts`

### Exported Functions

| Function                     | Description                                          |
| ---------------------------- | ---------------------------------------------------- |
| `getContentCalendar()`       | Fetch all entries from the content calendar database |
| `getNotionPage(pageId)`      | Fetch a page with its block content (recursive)      |
| `getContentCalendarSchema()` | Get the database schema/properties                   |

## Agent Actions

- `content-calendar` — fetch content calendar entries
- `content-calendar-schema` — fetch the database schema/properties
- `notion-page --pageId <id>` — fetch a page with block content

Do not call `/api/notion/*` directly from the agent.

## Key Patterns & Gotchas

- Content calendar paginates via POST `/databases/:id/query` with `page_size: 100` and `start_cursor`
- `extractProp` handles all Notion property types (title, rich_text, select, multi_select, date, people, rollup, formula, etc.)
- `fetchBlocks` recurses to fetch children when `has_children` is true — can be expensive for deeply nested pages
- Database ID and API version are hard-coded

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…