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

# Workflow Tools

> Expose a workflow to an Agent or Team through the run_workflow tool.

Give a workflow to an Agent or Team to execute using `WorkflowTools`.

## Example

```python theme={null}
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.workflow import WorkflowTools
from agno.workflow import Step, Workflow, StepInput, StepOutput


def create_outline(step_input: StepInput) -> StepOutput:
    return StepOutput(content=f"Outline for: {step_input.input}")


blog_post_workflow = Workflow(
    name="blog_post_workflow",
    steps=[Step(name="create_outline", executor=create_outline)],
)

workflow_tools = WorkflowTools(
    workflow=blog_post_workflow,
)

agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    tools=[workflow_tools],
)

agent.print_response("Create a blog post on the topic: AI trends in 2024", stream=True)
```

`WorkflowTools` enables `run_workflow` by default.

| Option | Default | Effect |
| - | - | - |
| `enable_run_workflow` | `True` | Register the workflow execution tool |
| `enable_think` | `False` | Register the optional `think` tool |
| `enable_analyze` | `False` | Register the optional `analyze` tool |
| `all` | `False` | Register all three tools |
| `async_mode` | `False` | Register async tool implementations |

See [Workflow Tools](https://agno-v2.mintlify.site/tools/reasoning_tools/workflow-tools.md) for configuration and async usage.


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