> ## 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.

# What are Workflows?

> Workflows orchestrate agents, teams, and functions through defined steps for repeatable tasks.

A Workflow orchestrates agents, teams, and functions through a defined control flow. Steps can run sequentially, in parallel, in loops, or conditionally based on results. Function steps can access all prior outputs through `StepInput`. Agent, team, and nested-workflow steps receive the most recent output as their input.

![Workflows flow diagram](https://mintcdn.com/agno-v2/JYIBgMrzFEujZh3_/images/workflows-flow-light.png?fit=max\&auto=format\&n=JYIBgMrzFEujZh3_\&q=85\&s=a308215dbae7c8e9050d03af47cfcf1b)

## Your First Workflow

This workflow takes a topic, collects relevant HackerNews stories, and writes an article:

```python theme={null}
from agno.agent import Agent
from agno.workflow import Workflow
from agno.tools.hackernews import HackerNewsTools

researcher = Agent(
    name="Researcher",
    instructions="Find relevant information about the topic",
    tools=[HackerNewsTools()]
)

writer = Agent(
    name="Writer",
    instructions="Write a clear, engaging article based on the research"
)

content_workflow = Workflow(
    name="Content Creation",
    steps=[researcher, writer]
)

content_workflow.print_response("Write an article about AI trends", stream=True)
```

The agents use Agno's default OpenAI model. Install the dependencies and export your API key before running the example:

**1. Install dependencies**

```bash theme={null}
uv pip install -U agno openai
```

**2. Export your OpenAI API key**

```bash Mac/Linux theme={null}
export OPENAI_API_KEY="your_openai_api_key_here"
```

```powershell Windows theme={null}
$Env:OPENAI_API_KEY="your_openai_api_key_here"
```

## When to Use Workflows

| Requirement | Use |
| - | - |
| Fixed ordering, branches, loops, or parallel groups | Workflow |
| Dynamic delegation among model-driven members | [Team](https://agno-v2.mintlify.site/teams/overview.md) |

Workflow control flow is repeatable. Agent and team outputs can still vary between runs. Configure a database when you need persisted run records.

## Step Executors

A `Step` wraps exactly one executor:

| Executor | Description |
| - | - |
| **Agent** | Individual AI executor with specific tools and instructions |
| **Team** | Coordinated group of agents for complex sub-tasks |
| **Function** | Custom Python function for specialized logic |
| **Workflow** | Nested workflow for composable, reusable sub-pipelines |

The workflow's `steps` list also accepts `Steps`, `Parallel`, `Loop`, `Condition`, and `Router` containers. Agents, teams, functions, and nested workflows are auto-wrapped when passed directly.

## Controlling Workflows

Workflows support conditional logic, parallel execution, loops, and conversational interactions. See [Workflow patterns](https://agno-v2.mintlify.site/workflows/workflow-patterns/overview.md) and the guides below.

## Guides

> **[Build Workflows](https://agno-v2.mintlify.site/workflows/building-workflows.md)**
>
> Define steps, inputs, and outputs.

> **[Run Workflows](https://agno-v2.mintlify.site/workflows/running-workflows.md)**
>
> Execute workflows and handle responses.

> **[Conversational Workflows](https://agno-v2.mintlify.site/workflows/conversational-workflows.md)**
>
> Enable chat interactions on your workflows.

## Developer Resources

* [Workflow patterns](https://agno-v2.mintlify.site/workflows/workflow-patterns/overview.md)
* [Workflow examples](https://agno-v2.mintlify.site/examples/workflows/overview.md)
* [Workflow reference](https://agno-v2.mintlify.site/reference/workflows/workflow.md)


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