> For the complete documentation index, see [llms.txt](https://guide.indigo.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.indigo.ai/getting-started/agents-workflows-and-triggers/blocks.md).

# Blocks

## Workflow Blocks

Our platform offers **4 types of workflow blocks:**

1. [**Message blocks**](/getting-started/agents-workflows-and-triggers/blocks/message-blocks.md) allow you to **deliver static content**, such as **text, images, videos, or cards**, to the user at specific points in the conversation flow, providing engaging, structured content that follows a predefined format.
2. [**Action blocks**](/getting-started/agents-workflows-and-triggers/blocks/action-blocks.md) allow both users and the virtual assistant to **perform specific actions within the conversation flow,** such as sending emails, selecting from multiple predefined options, uploading documents, speaking with a human operator, **ending a voice call**, or **transferring a call** to an external number.
3. [**Logic blocks**](/getting-started/agents-workflows-and-triggers/blocks/logic-blocks.md) allow you to **control and shape the flow of the conversation based on conditions, user inputs, or data from external systems**. They enable your virtual assistant to make decisions, collect and process information, assign values, and connect with APIs—ensuring dynamic, responsive, and intelligent conversational experiences.
4. [**Utility blocks**](/getting-started/agents-workflows-and-triggers/blocks/utility-blocks.md) support behind-the-scenes functionality by enhancing how your assistant processes information and how your team collaborates. They include **tools for generating structured outputs with AI** (like **prompts**) and for **adding internal documentation within workflows** (like notes), helping you build more organized and intelligent assistants.

## Blocks Overview

Below is an overview of the available blocks, along with links to dedicated articles that provide detailed descriptions of their functionalities:

<table><thead><tr><th width="119.4296875">Block Type</th><th width="140.34765625">Block Title</th><th>Description</th></tr></thead><tbody><tr><td>Message</td><td><a href="/pages/cL4TbVwdKMKEnuJV8YPN"><strong>Text</strong></a></td><td>Sending predefined messages</td></tr><tr><td>Message</td><td><a href="/pages/gGrZjTqSDnFrprDipnYG"><strong>Image</strong></a></td><td>Displaying visual content</td></tr><tr><td>Message</td><td><a href="/pages/33CqIsqDlNAfGkZeAeOo"><strong>Card</strong></a></td><td>Presenting structured, interactive content</td></tr><tr><td>Message</td><td><a href="/pages/yMjJeIb5GKj2Fdy5wNRm"><strong>Video</strong></a></td><td>Embedding multimedia content</td></tr><tr><td>Action</td><td><a href="/pages/xDCerDxVSYARlMyy4p5E"><strong>Mail</strong></a></td><td>Sending emails as part of the conversation flow</td></tr><tr><td>Action</td><td><a href="/pages/z3JJOnnO5tc5DGpXSmrd"><strong>Quick Reply</strong></a></td><td>Providing predefined options for users to quickly select from</td></tr><tr><td>Action</td><td><a href="/pages/i3zLF21qOjJJ52yklpvh"><strong>Upload</strong></a></td><td>Allowing users to upload files directly in the conversation</td></tr><tr><td>Action</td><td><a href="/pages/qeYSdF0a80ej3ASmzbI2"><strong>Handover</strong></a></td><td>Seamlessly transferring the conversation to a human operator</td></tr><tr><td>Action</td><td><a href="/pages/hdqQ25nsaZxumwlnLZta"><strong>API</strong></a></td><td>Sends or receives real-time data from external systems via API</td></tr><tr><td>Action</td><td><a href="/pages/BjetOPcr7SfMVCOA86Dx">Hang up</a></td><td>Terminates a voice call and optionally triggers a post-call workflow.</td></tr><tr><td>Action</td><td><a href="/pages/OK1htG665nyn0LaorXyf">Transfer</a></td><td>Transfers a voice call to an external number with waiting and fallback management.</td></tr><tr><td>Logic</td><td><a href="/pages/fbiWf3T0LXEZudQU2vWN"><strong>Reroute</strong></a></td><td>Redirects the conversation to a different agent or workflow</td></tr><tr><td>Logic</td><td><a href="/pages/dkeZBPF0PnuXiPeina1L"><strong>Condition</strong></a></td><td>Branches the flow based on conditional logic and variable values</td></tr><tr><td>Logic</td><td><a href="/pages/Qju4A2q1bH0KIhpeOnoX"><strong>Capture</strong></a></td><td>Collects user input and stores it in a variable</td></tr><tr><td>Logic</td><td><a href="/pages/KjC3YhyaHn2vm2NnpOnX"><strong>Set Values</strong></a></td><td>Assigns or resets the value of a variable</td></tr><tr><td>Utility</td><td><a href="/pages/cUeakZrRT6oqgJmgi6w9"><strong>Prompt</strong></a></td><td>Uses AI to generate structured data or intelligent responses from user input</td></tr><tr><td>Utility</td><td><a href="/pages/LLm3P0LYcJDNuEQgsYpU"><strong>Notes</strong></a></td><td>Adds internal comments to keep workflows organized</td></tr></tbody></table>

## Variables

Variables are the foundation of most workflow blocks. They allow your assistant to **store, recall, and act on data—enabling everything from dynamic conversations to API-based responses**. Whether you're capturing user input, setting conditions, or generating structured outputs, variables power the logic behind your assistant’s behavior.

{% hint style="info" %}
Learn more about how variables work in the next section: [Variables](/getting-started/workspace/variables.md).
{% endhint %}
