# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.indigo.ai/getting-started/agents-workflows-and-triggers/blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
