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

# Execute At Stage • AI Agent SDK

> execute_at_stage: Execute prompt at specific stage.

# execute\_at\_stage

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

> This is a method of the [**EscalationPipeline**](../classes/EscalationPipeline) class in the [**pipeline**](../modules/pipeline) module.

Execute prompt at specific stage.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
async def execute_at_stage(prompt: str, stage: EscalationStage, signals: Optional[set], context: Optional[Dict[str, Any]], session_id: Optional[str]) -> EscalationResult
```

## Parameters

<ParamField query="prompt" type="str" required={true}>
  User prompt
</ParamField>

<ParamField query="stage" type="EscalationStage" required={true}>
  Stage to execute at
</ParamField>

<ParamField query="signals" type="Optional[set]" required={false}>
  Pre-analyzed signals
</ParamField>

<ParamField query="context" type="Optional" required={false}>
  Optional context
</ParamField>

<ParamField query="session_id" type="Optional[str]" required={false}>
  Optional session ID
</ParamField>

### Returns

<ResponseField name="Returns" type="EscalationResult">
  Execution result
</ResponseField>

## Uses

* `time.time`
* `StageContext`
* `start_session`
* `record_action`
* `is_doom_loop`
* `get_recovery_action`
* `increment_recovery`
* `apply_backoff`
* `EscalationStage`
* `should_deescalate`

## Used By

* [`EscalationPipeline.execute`](../functions/EscalationPipeline-execute)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/escalation/pipeline.py#L122">
  `praisonaiagents/escalation/pipeline.py` at line 122
</Card>
