update_block
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.
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_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.
Create, read, update, and delete pages and blocks in a Roam Research graph database of networked notes. Query the graph using Datalog for flexible data retrieval across interconnected pages and blocks. Pull structured data for specific entities, add content to daily note pages, and export full graph data as JSON. Supports Roam markup syntax including page references, tags, block references, and TODO markers.
Common questions about connecting Roam to AI agents with Metorial.