Something went wrong!
Hang in there while we get back on track
Notion Integration
Interact with Notion pages, databases, and workspace content via the Notion API
Requires Claude Code CLI
This skill integrates with Notion through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
Search Workspace
Search across all accessible pages and databases in the workspace
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Required | Search term to find pages and databases |
Returns
object Search results with matching pages and databases
Try saying...
- "Search my Notion workspace for pages about project planning"
- "Find all pages mentioning 'quarterly review'"
- "Search for database named 'tasks'"
Create Page
Create a new page under a parent page or database
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| parent_id | string | Required | ID of the parent page or database |
| title | string | Required | Title of the new page |
| content | string | Optional | Optional initial content for the page |
Returns
object Created page object with ID and properties
Try saying...
- "Create a new page called 'Sprint Planning' under my Work page"
- "Add a new meeting notes page with today's agenda"
- "Create a blank page named 'Ideas' in my Projects database"
Get Page
Retrieve page details, metadata, and properties
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page_id | string | Required | ID of the page to retrieve |
Returns
object Page object with all properties and metadata
Try saying...
- "Get the details of my project roadmap page"
- "Show me the properties of page ID abc123"
- "Retrieve page information for the sprint goals page"
Query Database
Query a database with optional filters and sorting
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| database_id | string | Required | ID of the database to query |
| filter | object | Optional | JSON filter object to narrow results |
Returns
object Query results with matching database entries
Try saying...
- "Query my tasks database for incomplete items"
- "Get all entries from the projects database where status is 'Active'"
- "List all database entries created this week"
List Users
List all users in the workspace
Returns
object List of all workspace users
Try saying...
- "Show me all users in my Notion workspace"
- "List workspace members"
- "Get all users who have access to this workspace"
Getting Started
- 1 Go to https://www.notion.so/my-integrations
- 2 Click + New integration
- 3 Give it a name and select your workspace
- 4 Copy the Internal Integration Token
- 5 Add to shell config: echo 'export NOTION_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
- 6 Share pages with your integration via the page menu > Add connections
Verify Setup
python scripts/client.py list-users
Success: JSON response with list of workspace users
Security & Access
Access Scope
Access limited to pages and databases explicitly shared with the integration. Cannot access workspace settings or other admin functions.
- Integration tokens grant read/write access to all shared pages and databases
- Tokens do not expire - must be manually revoked if compromised
- Each integration operates with workspace member permissions
- Never commit NOTION_TOKEN to version control
- For public integrations, use OAuth 2.0 instead of internal integration tokens
Limitations
- Pages must be explicitly shared with the integration before access
- API only returns data from pages/databases the integration has been granted access to
- Some advanced block types may have limited support
- File uploads require additional handling not included in basic client
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- PYTHON_SDK
- Auth
- API Key
- Setup
- Easy Setup
- Tools Required
- Bash
- Python Dependencies
- notion-client>=2.0.0
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements