UiPath Documentation
maestro
latest
false

Maestro user guide

Switch

What it does

Routes a process to one of multiple paths based on ordered conditions. Takes the first match.

When to use this vs Decision

Use Switch when...Use Decision when...
You have three or more outcomesYou have exactly two outcomes
You're routing by multiple distinct conditionsThe condition is a simple yes/no
You need a default/fallback branch

Configuration reference

FieldRequiredDefaultDescription
CasesYes2 empty casesOrdered branch list. Each case has a handle label and a JavaScript expression; the first truthy expression is taken.
Include defaultNotrueWhether to add a Default branch that is taken when no case expression matches.

Writing case expressions

Each case expression uses the same JavaScript environment as the Script and Decision nodes:

// Case 1 — high priority
$vars.ticket1.output.priority === "high"

// Case 2 — medium priority
$vars.ticket1.output.priority === "medium"

// Case 3 — low priority (or use Default to catch everything else)
$vars.ticket1.output.priority === "low"
// Case 1 — high priority
$vars.ticket1.output.priority === "high"

// Case 2 — medium priority
$vars.ticket1.output.priority === "medium"

// Case 3 — low priority (or use Default to catch everything else)
$vars.ticket1.output.priority === "low"

More specific conditions should appear first. A broader condition higher in the list will match before a more specific one below it.

Examples

Example 1 — Route by HTTP status code

CaseExpressionBranch
Success$vars.httpRequest1.output.statusCode === 200→ process response
Not Found$vars.httpRequest1.output.statusCode === 404→ handle missing resource
Default(fallback)→ handle unexpected error

Example 2 — Route by string value

CaseExpressionBranch
Approved$vars.form1.output.status === "approved"→ continue process
Rejected$vars.form1.output.status === "rejected"→ notify rejection
Pending$vars.form1.output.status === "pending"→ wait for review
Default(fallback)→ handle unknown status

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated