> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Parallel Handoffs • AI Agent SDK

> parallel_handoffs: Execute multiple handoffs in parallel with concurrency control.

# parallel\_handoffs

<div className="flex items-center gap-2">
  <Badge color="blue">Async</Badge>
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**handoff**](../modules/handoff) module.

Execute multiple handoffs in parallel with concurrency control.

This function provides the parallel execution capabilities from SubagentDelegator
while using the unified Handoff system.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
async def parallel_handoffs(source: 'Agent', targets: List[tuple], max_concurrent: int, config: Optional[HandoffConfig]) -> List['HandoffResult']
```

## Parameters

<ParamField query="source" type="Agent" required={true}>
  Source agent performing the handoffs
</ParamField>

<ParamField query="targets" type="List[tuple]" required={true}>
  List of (agent, prompt) tuples for parallel execution
</ParamField>

<ParamField query="max_concurrent" type="int" required={false} default="5">
  Maximum concurrent handoffs (overrides config)
</ParamField>

<ParamField query="config" type="Optional[HandoffConfig]" required={false}>
  Optional HandoffConfig for additional settings
</ParamField>

### Returns

<ResponseField name="Returns" type="List['HandoffResult']">
  List of HandoffResult objects from each parallel handoff
</ResponseField>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
results = await parallel_handoffs(
        source=main_agent,
        targets=[
            (research_agent, "Research topic X"),
            (analysis_agent, "Analyze data Y"),
            (summary_agent, "Summarize findings Z")
        ],
        max_concurrent=3
    )
```

## Uses

* `ValueError`
* `asyncio.Semaphore`
* `source.handoff_to_async`
* `logger.error`
* `HandoffResult`
* `asyncio.gather`

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/agent/handoff.py#L1182">
  `praisonaiagents/agent/handoff.py` at line 1182
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Handoffs Concept" icon="hand-holding" href="/docs/docs/concepts/handoffs" />

  <Card title="Handoffs Feature" icon="arrow-right-arrow-left" href="/docs/docs/features/handoffs" />
</CardGroup>
