Work with Notion workspaces using the official API — read pages, query databases, create and update content, manage blocks. Use when reading Notion pages, writing to Notion databases, building knowledge bases, syncing data with Notion, or automating Notion workflows. Triggers: "notion", "notion page", "notion database", "notion workspace", "knowledge base".
How this skill is triggered — by the user, by Claude, or both
Slash command
/business-integrations:notionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the Notion API to read and write pages, query databases, manage blocks, and automate workspace workflows.
Use the Notion API to read and write pages, query databases, manage blocks, and automate workspace workflows.
export NOTION_API_KEY="secret_xxxxx"
Get your key at: https://www.notion.so/profile/integrations
Notion-Version: 2025-09-03
Important for v2025-09-03: Databases are now called "data sources" — use /data_sources/ endpoints for queries.
curl -X POST https://api.notion.com/v1/search \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{"query": "Hair Solutions", "filter": {"value": "page", "property": "object"}}'
curl https://api.notion.com/v1/pages/{page_id} \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03"
curl https://api.notion.com/v1/blocks/{page_id}/children \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03"
curl -X POST https://api.notion.com/v1/databases/{database_id}/query \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"property": "Status",
"select": {"equals": "In Progress"}
},
"sorts": [{"property": "Created", "direction": "descending"}]
}'
curl -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"parent": {"database_id": "{database_id}"},
"properties": {
"Name": {"title": [{"text": {"content": "New Entry"}}]},
"Status": {"select": {"name": "To Do"}},
"Tags": {"multi_select": [{"name": "urgent"}]},
"Due Date": {"date": {"start": "2026-03-15"}}
}
}'
curl -X PATCH https://api.notion.com/v1/pages/{page_id} \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"Status": {"select": {"name": "Done"}}
}
}'
curl -X PATCH https://api.notion.com/v1/blocks/{page_id}/children \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"children": [
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [{"type": "text", "text": {"content": "New paragraph content"}}]
}
},
{
"object": "block",
"type": "heading_2",
"heading_2": {
"rich_text": [{"type": "text", "text": {"content": "New Section"}}]
}
}
]
}'
| Type | JSON Format |
|---|---|
| Title | {"title": [{"text": {"content": "value"}}]} |
| Rich text | {"rich_text": [{"text": {"content": "value"}}]} |
| Number | {"number": 42} |
| Select | {"select": {"name": "option"}} |
| Multi-select | {"multi_select": [{"name": "tag1"}, {"name": "tag2"}]} |
| Date | {"date": {"start": "2026-01-15"}} |
| Checkbox | {"checkbox": true} |
| URL | {"url": "https://example.com"} |
{"email": "[email protected]"} | |
| People | {"people": [{"id": "user_id"}]} |
| Relation | {"relation": [{"id": "page_id"}]} |
start_cursor when results may exceed 100 itemsfilter + sorts in database queries to minimize data transfernpx claudepluginhub vincent-laroche/hairsolutionsco-ai-toolkit --plugin business-integrationsCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.