Conditional Execution
PraisonAI provides a unified, protocol-driven approach to conditional execution across both AgentFlow (deterministic pipelines) and AgentTeam (multi-agent task graphs).The
ConditionProtocol enables DRY condition handling - write conditions once, use them everywhere.Architecture Overview
Two Condition Paradigms
Both use the shared
ConditionProtocol for consistent evaluation.
AgentFlow Conditions
AgentFlow uses string-based conditions with{{variable}} placeholders.
Basic Usage
Supported Condition Formats
Numeric Comparisons
Numeric Comparisons
String Comparisons
String Comparisons
Contains Checks
Contains Checks
Boolean Evaluation
Boolean Evaluation
Nested Properties
Nested Properties
AgentTeam Conditions
AgentTeam uses dict-based conditions for task routing.Basic Usage
Decision Flow
Using the Protocol Directly
For advanced use cases, you can use the condition classes directly.ExpressionCondition
DictCondition
evaluate_condition Function
Custom Conditions
ImplementConditionProtocol for custom condition logic.
Best Practices
Use Descriptive Variables
Name variables clearly:
{{approval_status}} not {{s}}Handle Missing Variables
Missing variables return
False - design for thisKeep Conditions Simple
Complex logic belongs in agents, not conditions
Test Conditions
Unit test conditions with various inputs
API Reference
ConditionProtocol
ExpressionCondition
DictCondition
evaluate_condition
Related
AgentFlow
Deterministic workflow pipelines
AgentTeam
Multi-agent task coordination
Task Reference
Task configuration options
Orchestration
Workflow orchestration patterns

