Install
openclaw skills install oo-notionNotion (notion.so). Use this skill for ANY Notion request — reading, creating, updating, and deleting data. Whenever a task involves Notion, use this skill instead of calling the API directly.
openclaw skills install oo-notionOperate Notion through your OOMOL-connected account. This skill calls the notion connector with the oo CLI; OOMOL injects credentials server-side, so you never handle raw tokens.
Category: Productivity. Exposes 25 action(s).
Assume the user has already installed the oo CLI, signed in, and connected Notion. Do not run oo auth login or open the connection URL proactively — just run the action. Fall back to First-time setup only when a command actually fails with an auth or connection error.
1. Inspect the contract to get the authoritative input/output schema before building a payload:
oo connector schema "notion" --action "<action_name>"
2. Run the action with a JSON payload that matches the input schema:
oo connector run "notion" --action "<action_name>" --data '<json>' --json
--data takes a JSON object string or @path/to/file.json; omit it to send {}.{ "data": ..., "meta": { "executionId": "..." } }; the execution id lives under meta.executionId.Each action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with oo connector schema before constructing --data.
append_block — Append a single paragraph block to a Notion page. This is a simplified compatibility helper over append_block_children.append_block_children — Append raw Notion child blocks to an existing parent block, using the official block-children append API.create_data_source — Create a Notion data source under a parent database with a properties schema.create_database — Create a Notion database container under a parent page or workspace, optionally with an initial data source.create_page — Create a Notion page under a parent page, data source, or workspace-level private area. Use parentId + title for a simple child page under an existing page. Use parent with an official Notion parent payload for advanced cases: { page_id: "..." }, { data_source_id: "..." }, or { workspace: true } for OAuth public integrations. When parent is provided, do not use the top-level title field; provide the page title through properties.title instead. Internal integration secrets usually cannot create workspace-level private pages and should use a parent page or data source.delete_block — Archive a Notion block through the official delete endpoint.get_page — Get a Notion page together with its first-level child blocks. This is a repo-level aggregate helper over page retrieval plus block-children listing.list_block_children — List the direct child blocks under a Notion block with pagination.list_data_source_templates — List templates available on a Notion data source.list_users — List users in the Notion workspace with pagination.move_page — Move a Notion page under another page or under a data source through the official page move API.query_data_source — Query a Notion data source with filters, sorts, pagination, and optional property filtering.retrieve_block — Retrieve a Notion block by block ID.retrieve_data_source — Retrieve a Notion data source by data source ID.retrieve_database — Retrieve a Notion database's metadata and schema by database ID.retrieve_page — Retrieve a Notion page's properties and metadata by page ID. This does not include child block content.retrieve_page_markdown — Retrieve a Notion page or block subtree rendered as enhanced Markdown through the official page markdown API.retrieve_page_property — Retrieve a specific property item from a Notion page by page ID and property ID. Title, rich_text, relation, and people properties return the paginated list response with type property_item.retrieve_user — Retrieve a Notion user by user ID.search — Search Notion pages and data sources with optional filter, sort, and pagination controls.update_block — Update a Notion block using raw block fields, including block-type payloads and optional trash state.update_data_source — Update a Notion data source's title, icon, properties schema, parent, or trash status.update_database — Update a Notion database container's parent, title, description, icon, cover, inline display, trash status, or locked state.update_page — Update a Notion page's properties, title, icon, cover, trash status, or locked state.update_page_markdown — Update a Notion page's content as enhanced Markdown through the official page markdown API.These are one-time steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.
oo: command not found — install the oo CLI (other platforms: https://cli.oomol.com/install-guide.md):
curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux
irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell
Not signed in / authentication error — sign in to your OOMOL account once:
oo auth login
scope_missing / credential_expired / app_not_ready / app_not_found — Notion is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2, API key) at:
https://console.oomol.com/app-connections?provider=notion
HTTP 402 / OOMOL_INSUFFICIENT_CREDIT — billing stop. Recharge at https://console.oomol.com/billing/token-recharge before retrying.