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

# Evaluate Condition • AI Agent SDK

> evaluate_condition: Evaluate a condition expression with variable substitution.

# evaluate\_condition

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

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

Evaluate a condition expression with variable substitution.

This is the shared condition evaluation function used by both
AgentFlow and AgentTeam. It supports various condition formats.

Supported formats:

* Numeric comparison: "\{\{var}} > 80", "\{\{var}} >= 50", "\{\{var}} \< 10"
* String equality: "\{\{var}} == approved", "\{\{var}} != rejected"
* Contains check: "error in \{\{message}}", "\{\{status}} contains success"
* Boolean: "\{\{flag}}" (truthy check)
* Nested property: "\{\{item.score}} >= 60"

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def evaluate_condition(condition: str, variables: Dict[str, Any], previous_output: Optional[str]) -> bool
```

## Parameters

<ParamField query="condition" type="str" required={true}>
  Condition expression with \{\{var}} placeholders.
</ParamField>

<ParamField query="variables" type="Dict" required={true}>
  Dictionary containing variables for substitution.
</ParamField>

<ParamField query="previous_output" type="Optional" required={false}>
  Optional output from previous step (substitutes \{\{previous\_output}}).
</ParamField>

### Returns

<ResponseField name="Returns" type="bool">
  Boolean result of condition evaluation.
  Returns False on evaluation errors (fail-safe).
</ResponseField>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
result = evaluate_condition("{{score}} > 80", {"score": 90})  # True
    result = evaluate_condition("{{status}} == approved", {"status": "approved"})  # True
    result = evaluate_condition("error in {{message}}", {"message": "An error occurred"})  # True
```

## Uses

* `re.findall`
* `get_nested_value`
* `re.match`
* `numeric_match.group`
* `string_match.group`
* `logger.warning`

## Used By

* [`ExpressionCondition.evaluate`](../functions/ExpressionCondition-evaluate)
* [`Task.evaluate_when`](../functions/Task-evaluate_when)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/conditions/evaluator.py#L131">
  `praisonaiagents/conditions/evaluator.py` at line 131
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Evaluation Concept" icon="gavel" href="/docs/concepts/evaluation" />

  <Card title="LLM as Judge" icon="scale-balanced" href="/docs/features/llm-as-judge" />

  <Card title="Evaluation Loop" icon="rotate" href="/docs/eval/evaluation-loop" />
</CardGroup>
