# Variables

**Introduction**

In FlexyBot automations, variables play a crucial role in storing and transferring data between triggers and steps. They act as placeholders for dynamic information, allowing for flexible and powerful automation workflows.

**What are variables?**&#x20;

Variables in FlexyBot are elements that hold data. This data can come from various sources, such as user inputs, outputs from triggers and steps, or external data sources. Each variable in FlexyBot has a specific data type, which defines the kind of data it can hold.

**Data types and nested variables**&#x20;

Variables can hold different data types, ranging from simple types like strings and numbers to more complex types like lists or objects. These contain nested variables, creating a structured hierarchy of data.

**Using variables in step configurations**&#x20;

When setting up steps in FlexyBot, you can use variables to dynamically configure the behavior of these steps. For example, a step that sends a message might use a variable to determine the content of the message or the recipient.

Here’s how you can use variables in step configurations:

1. **Selecting variables**: When configuring a step, you can select from available variables. These can be variables generated by previous steps or the trigger in your automation.
2. **Navigating nested structures**: If a variable contains nested variables, you can navigate through its structure to select the specific piece of data you need.
3. **Dynamic configurations**: By using variables, each execution of the step can behave differently based on the current values of these variables, adding versatility to your automations.

<figure><img src="/files/oEO6k4RAKjUmrGWRLO77" alt=""><figcaption><p>Variables in Message variable</p></figcaption></figure>

**Conclusion**&#x20;

Understanding and effectively utilizing variables is key to creating powerful and flexible automations in FlexyBot. By harnessing the data held in variables, you can build automations that are responsive to changing conditions and tailored to specific needs.


---

# 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://docs.flexy.bot/general/variables.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.
