Workspace content on Notion — search pages and tables, read whole pages as Markdown, query table rows with structured filters, and manage pages, blocks, databases, and comments. Reads are free; writes (create/update/move/append/archive) are paid.
omni-cli notion block append
Append content blocks to a page or block (default position is the end; use after to position).
write
omni-cli notion block delete
Delete (archive) a block — reversible via block.update archived=false. NOT retry-safe — re-deleting an already-archived block answers 400; unarchive first.
write
omni-cli notion block get
Get one block by id (its type names the block.update param to use).
read
omni-cli notion block list
List a block's direct children — pass a page id to list the page's top-level content blocks.
read
omni-cli notion block update
Update a block's content or archived state — pass EXACTLY the one type param matching the block's current type (block.get tells you; Notion rejects type changes). Re-sending the same content converges, so retries are safe.
write
omni-cli notion comment create
Comment on a page (new discussion) or reply to an existing thread — pass EITHER page-id OR discussion-id, not both.
write
omni-cli notion comment get
Get one comment by id.
read
omni-cli notion comment list
List the open comments on a page or block — yields the discussion_id that threads replies through comment.create.
read
omni-cli notion database create
Create a database (with its first table) under a page.
write
omni-cli notion database get
Get one database — THE discovery hop; its data_sources[] lists the database's tables, whose ids feed table.get, table.query, and page.create.
read
omni-cli notion table get
Get a table's schema (property definitions) — read this before building a table.query filter or page.create properties.
read
omni-cli notion table query
Query a table's rows with structured filters and sorts — the primary structured read; each result row IS a page.
read
omni-cli notion page append
Append Markdown content to the end of a page (pairs with page.read).
write
omni-cli notion page create
Create a page under a table (as a row) or under a page (as a subpage) — pass EITHER parent-table-id OR parent-page-id, not both.
write
omni-cli notion page get
Get one page's metadata and property VALUES (not content — page.read returns the content as Markdown).
read
omni-cli notion page get-property
Get one page property's paginated values — needed for relations/rollups longer than 25 items, which page.get truncates.
read
omni-cli notion page move
Move a page under a new parent table or page — pass EITHER parent-table-id OR parent-page-id, not both. Re-moving to the same parent converges, so retries are safe.
write
omni-cli notion page read
Read a whole page's content as Markdown — the primary agent read surface (pairs with page.append/page.replace).
read
omni-cli notion page replace
Replace a page's Markdown content when find matches existing content — replaces the WHOLE page content, not just the match, so read first with page.read. Converges on retry (a second identical call is a no-op 200).
write
omni-cli notion page search
Search the workspace by title — returns pages AND tables (object: page | data_source) that have been shared with the integration; the discovery entry point for every page and database id.
read
omni-cli notion page update
Update a page's property values or archive/restore it — archive is THE cleanup verb (Notion has no hard delete). Setting the same values again converges, so retries are safe.
write
omni-cli notion user get
Get one user by id (requires the integration's user-information capability — 403 without it).
read
Read this catalog as markdown — the copy your coding agent fetches.
Sign up, choose the actions your workflow needs, and get a copy-paste install one-liner.