# Workflow Agents
Supported in ADKPythonTypeScriptGoJava
This section introduces "*workflow agents*" - **specialized agents that control the execution flow of its sub-agents**. Workflow agents are specialized components in ADK designed purely for **orchestrating the execution flow of sub-agents**. Their primary role is to manage *how* and *when* other agents run, defining the control flow of a process. Unlike [LLM Agents](../llm-agents.md), which use Large Language Models for dynamic reasoning and decision-making, Workflow Agents operate based on **predefined logic**. They determine the execution sequence according to their type (e.g., sequential, parallel, loop) without consulting an LLM for the orchestration itself. This results in **deterministic and predictable execution patterns**. ADK provides three core workflow agent types, each implementing a distinct execution pattern:
- :material-console-line: **Sequential Agents** --- Executes sub-agents one after another, in **sequence**. [:octicons-arrow-right-24: Learn more](sequential-agents.md) - :material-console-line: **Loop Agents** --- **Repeatedly** executes its sub-agents until a specific termination condition is met. [:octicons-arrow-right-24: Learn more](loop-agents.md) - :material-console-line: **Parallel Agents** --- Executes multiple sub-agents in **parallel**. [:octicons-arrow-right-24: Learn more](parallel-agents.md)
## Why Use Workflow Agents? Workflow agents are essential when you need explicit control over how a series of tasks or agents are executed. They provide: * **Predictability:** The flow of execution is guaranteed based on the agent type and configuration. * **Reliability:** Ensures tasks run in the required order or pattern consistently. * **Structure:** Allows you to build complex processes by composing agents within clear control structures. While the workflow agent manages the control flow deterministically, the sub-agents it orchestrates can themselves be any type of agent, including intelligent LLM Agent instances. This allows you to combine structured process control with flexible, LLM-powered task execution.