Built by Metorial, the integration platform for agentic AI.
Update an existing block's content and properties in the Roam Research graph. Only the provided fields will be modified; unspecified fields remain unchanged.
Execute multiple write operations in a single batch request. Supports creating, updating, moving, and deleting blocks and pages. Actions are executed in the provided order. For creating nested blocks, assign a custom UID to a parent block and reference it in child blocks within the same batch.
Retrieve structured data for a specific entity (page or block) from the Roam graph by its identifier. Returns selected or all attributes of the entity using Datomic pull syntax. Use this to get detailed information about a known page or block, including its content, children, references, and metadata.
Execute a Datalog query against the Roam Research graph database. Supports the full Datomic-style Datalog syntax with `:find` and `:where` clauses. Use this to search for blocks by content, find pages by title, traverse references, and perform aggregations across the graph. Queries can be parameterized via `args` for safe variable injection.
Permanently delete a block from the Roam Research graph. This also removes all child blocks nested under it. This action cannot be undone via the API.
Retrieve a page and its content from the Roam Research graph by title. Returns the page UID and its full block tree including nested children.
Create a new page in the Roam Research graph. Pages are identified by their title and can optionally be assigned a specific UID. After creation, blocks can be added to the page using the Create Block tool.
Create a new block (content unit) in the Roam Research graph under a specified parent page or block. Blocks support Roam markup syntax including `[[page references]]`, `#tags`, `((block references))`, **bold**, *italic*, and TODO/DONE markers.
Rename an existing page in the Roam Research graph by updating its title. The page is identified by its UID.
Search for blocks containing specific text in the Roam Research graph. Returns matching blocks with their UIDs and content. This is a convenience wrapper around a Datalog query that performs case-sensitive text search across all blocks.
Permanently delete a page and all its blocks from the Roam Research graph. This action cannot be undone via the API.
Add a block to a daily note page in the Roam Research graph. If no date is provided, uses today's date. The daily note page UID follows the format `MM-DD-YYYY`. Useful for quick capture, journaling, and logging workflows.
Move an existing block to a new position within the Roam Research graph. The block can be moved to a different parent page or block, and its order among siblings can be specified.