Integrate Notion into Your AI Workflow with the Notion Skill
Notion has become the go-to workspace for millions of teams and individuals—project management, documentation, databases, personal wikis—it does it all. But what if your AI agent could read, create, and update your Notion pages and databases automatically? That's exactly what the Notion skill from ClawdHub enables.
Who Needs This?
If you use Notion for:
- Task tracking and project management
- Personal knowledge bases
- Team documentation
- CRM or inventory databases
- Meeting notes or journaling
...and you want your AI assistant to interact with any of that programmatically, this skill is for you.
Installation
Install the skill with a single command:
npx clawhub@latest install notionSetup: Creating Your Notion Integration
Before your agent can access Notion, you need to create an integration:
- Go to notion.so/my-integrations
- Click New integration and give it a name (e.g., "Clawdbot")
- Copy the API key (starts with
ntn_orsecret_) - Store it locally:
mkdir -p ~/.config/notion
echo "ntn_your_key_here" > ~/.config/notion/api_keyImportant: Share your target pages/databases with the integration! Click the ... menu on any Notion page → Connect to → select your integration name.
Usage Examples
1. Search Across Your Workspace
Find pages and databases by name:
NOTION_KEY=$(cat ~/.config/notion/api_key)
curl -X POST "https://api.notion.com/v1/search" \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{"query": "project roadmap"}'2. Create a New Page in a Database
Add items to your task tracker or any database:
curl -X POST "https://api.notion.com/v1/pages" \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"parent": {"database_id": "your-database-id"},
"properties": {
"Name": {"title": [{"text": {"content": "Review Q4 metrics"}}]},
"Status": {"select": {"name": "Todo"}},
"Due Date": {"date": {"start": "2026-02-25"}}
}
}'3. Query Database with Filters
Get all active tasks, sorted by date:
curl -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
-d '{
"filter": {"property": "Status", "select": {"equals": "In Progress"}},
"sorts": [{"property": "Due Date", "direction": "ascending"}]
}'Pro Tips
Understand the ID difference: In the 2025-09-03 API version, databases have two IDs:
- Use
database_idwhen creating pages (parent: {"database_id": "..."}) - Use
data_source_idwhen querying (POST /v1/data_sources/{id}/query)
Property type formats: Here are the most common ones:
- Title:
{"title": [{"text": {"content": "..."}}]} - Select:
{"select": {"name": "Option"}} - Date:
{"date": {"start": "2026-02-20"}} - Checkbox:
{"checkbox": true}
Rate limits: Notion allows ~3 requests/second on average. Your agent should batch operations when possible.
Page IDs: They're UUIDs—you can use them with or without dashes.
What Can You Build?
- Automated task creation from emails, Slack, or voice commands
- Daily briefings that pull your Notion tasks and calendar
- Meeting note templates generated and populated automatically
- Database syncing between Notion and other tools
- Knowledge base search using natural language
Conclusion
The Notion skill turns your Notion workspace into an API-accessible backend for your AI agent. Whether you're automating task management, building custom workflows, or just want your assistant to "remember" things in a structured way, this skill bridges the gap.
Install it now:
npx clawhub@latest install notionLinks:
Comments (0)
No comments yet. Be the first to comment!