Blocks

A Block is a logical grouping of related tasks or actions that the agent can perform. Think of Blocks as the main "topics" your agent is able to address. Each Block is focused on one topic and can contain multiple Turns, Edges, Tools, Settings, etc.

We recommend making sure each Block is configured with a clear purpose and well-defined boundaries.

 

Block Properties

Property Description
block_id Unique identifier for the Block.
name User-friendly name, typically representing a topic.
turns List of turns (action steps) defined in the Block.
tools List of tool/function calls for data capture.
looping Configuration for handling repeated failures.

 

Sample Block Structure

Your Blocks might look like this:

blocks:
	- block_id: '000000'
	  name: Greeting_Intent
	  turns: [...]
	  tools: [...]
	  looping: {...}
    
	- block_id: '100000'
	  name: Authentication
	  turns: [...]
	  tools: [...]
	  looping: {...}
    
	- block_id: 'confirm'
	  name: confirm_appointment
	  turns: [...]
	  tools: [...]
    
	- block_id: 'end_call'
	  name: end_call
	  turns: [...]
	  tools: [...]

In our example above, the Greeting_Intent Block handles the initial caller interaction and intent detection, the Authentication Block manages patient verification, etc.

 

Tips

  • While building out your Block Agent you can develop and test each Block independently.

  • Once you’ve found a Block that works well, we recommend reusing that Block across different agents.

 

Next up, learn more about Block Agent Turns.