> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Design step-based workflows visually in AgentOS Studio.

Studio provides a **drag-and-drop Workflow Builder** for designing multi-step workflows visually. Create complex automation pipelines without writing code by dragging components onto the canvas and connecting them together.

## Creating Steps

Drag a step onto the canvas and configure its executor type in the properties panel. Each step can use one of the following executors:

| Executor Type | Description |
| - | - |
| **Agent** | Execute the step using a registered agent from your OS |
| **Team** | Delegate the step to a multi-agent team for collaborative execution |
| **Custom Executor** | Use a custom function |

## Step Types

Beyond basic steps, you can build complex workflows using these step types:

| Step Type | Description |
| - | - |
| `Step` | Single agent, team, or custom executor execution |
| `Steps` | Group of steps executed sequentially |
| `Condition` | Branch based on an evaluator function or CEL expression |
| `Loop` | Repeat steps until an end condition is met |
| `Router` | Select a step based on a selector function or CEL expression |
| `Parallel` | Execute multiple steps concurrently |

![Create a workflow in AgentOS Studio](https://mintcdn.com/agno-v2/jmCgYq2TCEl7A3iQ/images/agent-os-studio-workflow-create.png?fit=max\&auto=format\&n=jmCgYq2TCEl7A3iQ\&q=85\&s=11eb4a1d262e6e1f464c00cee2fe8534)

These step types can be nested and composed together to build sophisticated automation pipelines while maintaining visual clarity.

### Configuring Complex Steps

Step types like `Condition`, `Router`, and `Loop` require logic to control their behavior: either a Python function or a CEL expression. For example, you can use a CEL expression to evaluate if the input contains the word "apple":

```python theme={null}
from agno.workflow import Condition, Step

condition = Condition(
    name="apple_condition",
    evaluator="input.contains('apple')",
    steps=[Step(name="apple_step", agent=apple_agent)],
)
```

Alternatively, you can use a function to evaluate the condition.

```python theme={null}
from agno.workflow import Condition, Step

def is_apple(step_input) -> bool:
    return "apple" in step_input.input

condition = Condition(
    name="apple_condition",
    evaluator=is_apple,
    steps=[Step(name="apple_step", agent=apple_agent)],
)
```

![Configure a CEL expression in AgentOS Studio](https://mintcdn.com/agno-v2/jmCgYq2TCEl7A3iQ/images/agent-os-studio-workflow-cel.png?fit=max\&auto=format\&n=jmCgYq2TCEl7A3iQ\&q=85\&s=011942654d5e21d671a31a315fada822)

## CEL Expressions

Workflow steps support [CEL (Common Expression Language)](https://github.com/google/cel-spec) as an alternative to Python functions for evaluators, end conditions, and selectors. CEL expressions are strings that can be serialized and edited directly in Studio without code.

See [CEL Expressions](https://agno-v2.mintlify.site/agent-os/studio/cel-expressions.md) for full usage, context variables, and examples.

## Developer Resources

* [Workflow reference](https://agno-v2.mintlify.site/reference/workflows/workflow.md)
* [Building workflows](https://agno-v2.mintlify.site/workflows/building-workflows.md)
* [Workflow patterns](https://agno-v2.mintlify.site/workflows/workflow-patterns/overview.md)
* [Studio Registry](https://agno-v2.mintlify.site/agent-os/studio/registry.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.