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

# Parallel Workflow

> Independent, concurrent tasks that can execute simultaneously for improved efficiency

**Example Use-Cases**: Multi-source research, parallel analysis, concurrent data processing

Parallel workflows maintain deterministic results while dramatically reducing execution time for independent operations.

<img className="block dark:hidden" src="https://mintcdn.com/phidatainc-redirect-agent-platform-overview/7T6Z7KMTMhNdtk6c/images/workflows-parallel-steps-light.png?fit=max&auto=format&n=7T6Z7KMTMhNdtk6c&q=85&s=855fd033070eb3bd471f3bcaf7c5afc7" alt="Workflows parallel steps diagram" width="3441" height="756" data-path="images/workflows-parallel-steps-light.png" />

<img className="hidden dark:block" src="https://mintcdn.com/phidatainc-redirect-agent-platform-overview/7T6Z7KMTMhNdtk6c/images/workflows-parallel-steps.png?fit=max&auto=format&n=7T6Z7KMTMhNdtk6c&q=85&s=64a4d3c8897a68cbc41c56fdbf959ba6" alt="Workflows parallel steps diagram" width="3441" height="756" data-path="images/workflows-parallel-steps.png" />

## Example

```python parallel_workflow.py theme={null}
from agno.workflow import Parallel, Step, Workflow

workflow = Workflow(
    name="Parallel Research Pipeline",
    steps=[
        Parallel(
            Step(name="HackerNews Research", agent=hn_researcher),
            Step(name="Web Research", agent=web_researcher),
            Step(name="Academic Research", agent=academic_researcher),
            name="Research Step"
        ),
        Step(name="Synthesis", agent=synthesizer),  # Combines the results and produces a report
    ]
)

workflow.print_response("Write about the latest AI developments", markdown=True)
```

## Handling Session State Data in Parallel Steps

When using custom Python functions in your steps, you can access and update the Worfklow session state via the `run_context` parameter.

If you are performing session state updates in Parallel Steps, be aware that concurrent access to shared state will require coordination to avoid race conditions.

## Developer Resources

* [Parallel Steps Workflow](/workflows/usage/parallel-steps-workflow)

## Reference

For complete API documentation, see [Parallel Steps Reference](/reference/workflows/parallel-steps).
