notion
Integrates with Notion to manage content, track projects, and enhance collaboration through database queries and page management.
Install this skill
Security score
The notion skill was audited on Feb 9, 2026 and we found 62 security issues across 4 threat categories, including 15 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
Direct command execution function call
| 54 | await exec({ |
Direct command execution function call
| 59 | await exec({ |
Direct command execution function call
| 72 | await exec({ |
Direct command execution function call
| 89 | await exec({ |
Direct command execution function call
| 102 | await exec({ |
Direct command execution function call
| 110 | await exec({ |
Direct command execution function call
| 121 | await exec({ |
Direct command execution function call
| 141 | await exec({ |
Direct command execution function call
| 152 | await exec({ |
Direct command execution function call
| 176 | await exec({ |
Direct command execution function call
| 195 | await exec({ |
Direct command execution function call
| 218 | await exec({ |
Direct command execution function call
| 460 | await exec({ |
Direct command execution function call
| 465 | await exec({ |
Direct command execution function call
| 472 | await exec({ |
Template literal with variable interpolation in command context
| 55 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${databaseId}` |
Template literal with variable interpolation in command context
| 60 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${databaseId} --filter '{"property":"Status","select":{"equals":"In Progress"}}'` |
Template literal with variable interpolation in command context
| 73 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${databaseId} \ |
Template literal with variable interpolation in command context
| 90 | command: `node ~/.agents/skills/notion/notion-cli.js get-page ${pageId}` |
Template literal with variable interpolation in command context
| 103 | command: `node ~/.agents/skills/notion/notion-cli.js update-page ${pageId} \ |
Template literal with variable interpolation in command context
| 111 | command: `node ~/.agents/skills/notion/notion-cli.js append-body ${pageId} \ |
Template literal with variable interpolation in command context
| 142 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${contentDbId} \ |
Template literal with variable interpolation in command context
| 153 | command: `node ~/.agents/skills/notion/notion-cli.js update-page ${entryId} \ |
Template literal with variable interpolation in command context
| 177 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${projectsDbId} --filter '{"property":"Status","select":{"equals":"In Progress"}}'` |
Template literal with variable interpolation in command context
| 196 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${crmDbId} \ |
Webhook reference - potential data exfiltration
| 426 | ## Advanced: Webhook Sync |
Webhook reference - potential data exfiltration
| 430 | 1. Set up Notion webhook integration (requires Notion partner account) |
Webhook reference - potential data exfiltration
| 431 | 2. Configure webhook endpoint to your OpenClaw Gateway |
Webhook reference - potential data exfiltration
| 432 | 3. Skill processes incoming webhooks and updates memory files |
Webhook reference - potential data exfiltration
| 434 | See [references/webhooks.md](references/webhooks.md) for implementation details. |
Access to hidden dotfiles in home directory
| 55 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${databaseId}` |
Access to hidden dotfiles in home directory
| 60 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${databaseId} --filter '{"property":"Status","select":{"equals":"In Progress"}}'` |
Access to hidden dotfiles in home directory
| 73 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${databaseId} \ |
Access to hidden dotfiles in home directory
| 90 | command: `node ~/.agents/skills/notion/notion-cli.js get-page ${pageId}` |
Access to hidden dotfiles in home directory
| 103 | command: `node ~/.agents/skills/notion/notion-cli.js update-page ${pageId} \ |
Access to hidden dotfiles in home directory
| 111 | command: `node ~/.agents/skills/notion/notion-cli.js append-body ${pageId} \ |
Access to hidden dotfiles in home directory
| 122 | command: `node ~/.agents/skills/notion/notion-cli.js search "content ideas"` |
Access to hidden dotfiles in home directory
| 142 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${contentDbId} \ |
Access to hidden dotfiles in home directory
| 153 | command: `node ~/.agents/skills/notion/notion-cli.js update-page ${entryId} \ |
Access to hidden dotfiles in home directory
| 177 | command: `node ~/.agents/skills/notion/notion-cli.js query-database ${projectsDbId} --filter '{"property":"Status","select":{"equals":"In Progress"}}'` |
Access to hidden dotfiles in home directory
| 196 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry ${crmDbId} \ |
Access to hidden dotfiles in home directory
| 219 | command: `node ~/.agents/skills/notion/notion-cli.js search "stringing"` |
Access to hidden dotfiles in home directory
| 271 | - ✅ Token stored securely in `~/.openclaw/.env` (never in code) |
Access to hidden dotfiles in home directory
| 283 | Add to `~/.openclaw/.env`: |
Access to hidden dotfiles in home directory
| 307 | cd ~/.agents/skills/notion |
Access to hidden dotfiles in home directory
| 313 | cd ~/.agents/skills/notion |
Access to hidden dotfiles in home directory
| 322 | # After setting NOTION_TOKEN in ~/.openclaw/.env |
Access to hidden dotfiles in home directory
| 446 | cd ~/.agents/skills/notion |
Access to hidden dotfiles in home directory
| 450 | echo "NOTION_TOKEN=secret_xxxxxxxxxx" >> ~/.openclaw/.env |
Access to hidden dotfiles in home directory
| 461 | command: `node ~/.agents/skills/notion/notion-cli.js query-database YOUR_DB_ID` |
Access to hidden dotfiles in home directory
| 466 | command: `node ~/.agents/skills/notion/notion-cli.js add-entry YOUR_DB_ID \\ |
Access to hidden dotfiles in home directory
| 473 | command: `node ~/.agents/skills/notion/notion-cli.js search "tree support"` |
Access to hidden dotfiles in home directory
| 483 | node ~/.agents/skills/notion/notion-cli.js add-entry DB_ID |
Access to .env file
| 271 | - ✅ Token stored securely in `~/.openclaw/.env` (never in code) |
Access to .env file
| 283 | Add to `~/.openclaw/.env`: |
Access to .env file
| 322 | # After setting NOTION_TOKEN in ~/.openclaw/.env |
Access to .env file
| 450 | echo "NOTION_TOKEN=secret_xxxxxxxxxx" >> ~/.openclaw/.env |
External URL reference
| 23 | 1. Go to [notion.so/my-integrations](https://www.notion.so/my-integrations) |
External URL reference
| 41 | - Database: `https://www.notion.so/workspace/XXXXXXXX?v=...` → ID is `XXXXXXXX` (32 chars) |
External URL reference
| 42 | - Page: `https://www.notion.so/workspace/XXXXXXXX` → ID is `XXXXXXXX` |
External URL reference
| 257 | { "url": "https://example.com" } |
External URL reference
| 438 | **Need help?** Check your Notion integration settings at https://www.notion.so/my-integrations |