Built by Metorial, the integration platform for agentic AI.

Learn More

Tools

Update Block

Update an existing block's content and properties in the Roam Research graph. Only the provided fields will be modified; unspecified fields remain unchanged.

Batch Actions

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.

Pull Entity Data

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.

Query Graph

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.

Delete Block

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.

Get Page

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 Page

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 Block

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.

Update Page

Rename an existing page in the Roam Research graph by updating its title. The page is identified by its UID.

Search Blocks

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.

Delete Page

Permanently delete a page and all its blocks from the Roam Research graph. This action cannot be undone via the API.

Add Daily Note

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 Block

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.