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.