Skip to main content

Workflow Conditions

Conditions allow workflows to make decisions and follow different paths based on data. Create intelligent automations that respond to different scenarios.

Workflow conditions with branching logic and decision points

Overview​

Conditions evaluate expressions and route workflow execution:

Condition: Is client new?
↓ Yes ↓ No
Send welcome Send regular
email reminder

Condition Types​

Simple Conditions​

Single yes/no decision:

ConditionTrue PathFalse Path
Client is newWelcome flowRegular flow
Invoice paidEndSend reminder
Risk flaggedAlert supervisorContinue

Router Conditions​

Multiple paths based on value:

ConditionPath 1Path 2Path 3
Funding sourceMedicareNDISPrivate
PriorityHighMediumLow
Client ageChildAdultSenior

Creating Conditions​

Adding a Condition Node​

  1. Drag Condition node onto canvas
  2. Connect from previous node
  3. Configure the condition logic
  4. Connect True and False outputs
  5. Continue building paths

Condition node configuration with field, operator, and value settings

Condition Builder​

ComponentDescription
FieldData to evaluate
OperatorComparison type
ValueWhat to compare against

Available Fields​

Access any data from trigger or previous nodes:

{{trigger.data.client.funding_source}}
{{trigger.data.appointment.type}}
{{previous_node.result.status}}
{{client.date_of_birth}}
{{appointment.practitioner.name}}

Operators​

Conditions use a field, an operator, and a value to evaluate. The available operators are:

OperatorDescriptionExample
EqualsExact matchStatus equals "Active"
Not equalDoes not matchType not equal to "Cancelled"
GreaterNumerically greater thanAmount greater than 100
LessNumerically less thanAge less than 18
At leastGreater than or equal toSessions at least 5
At mostLess than or equal toDays overdue at most 7
ContainsText includes substring (case-insensitive)Name contains "Smith"
InValue found in a listStatus in ["Active", "New"]
ExistsField has a value (not empty)Phone number exists
Nested Fields You can reference nested data using dot notation. For

example, client.fundingSource or appointment.practitioner.name to drill into related objects. :::

Combining Conditions​

AND Logic​

All conditions must be true:

IF:
client.funding_source equals "NDIS"
AND client.is_active equals true
AND client.has_plan equals true
THEN:
Submit NDIS claim

OR Logic​

Any condition can be true:

IF:
invoice.days_overdue > 30
OR invoice.amount > 1000
OR client.risk_flag equals "High"
THEN:
Escalate to manager

Mixed Logic​

Combine AND/OR with grouping:

IF:
(client.type equals "New" AND appointment.type equals "Initial")
OR
(client.type equals "Returning" AND client.inactive_days > 90)
THEN:
Send intake forms

Router Nodes​

When to Use Routers​

Use routers instead of conditions when:

  • More than 2 possible paths
  • Routing by value rather than yes/no
  • Same logic repeated multiple times

Router Configuration​

  1. Drag Router node onto canvas
  2. Define the routing field
  3. Add path for each value
  4. Configure default path
  5. Connect each output

Router Example​

Route by funding source:

Router: client.funding_source

Path 1: "Medicare" → Medicare claim workflow
Path 2: "NDIS" → NDIS claim workflow
Path 3: "DVA" → DVA claim workflow
Path 4: "Private" → Private invoice workflow
Default: Manual review

Dynamic Routing​

Route based on calculated values:

Routing FieldPathsUse Case
Client age groupChild, Adult, SeniorAge-appropriate content
Risk levelLow, Medium, HighEscalation routing
Day of weekMon-Fri, Sat-SunBusiness hours routing
Amount range<$100, $100-500, >$500Approval tiers

Common Condition Patterns​

New vs Existing Client​

Condition: client.isNew equals true
True → New client workflow
False → Existing client workflow
Condition: client.consent.marketing equals true
True → Include in campaign
False → Skip

Risk-Based Routing​

Router: assessment.risk_level

"Severe" → Immediate alert to supervisor
"High" → Schedule urgent follow-up
"Moderate" → Add to watchlist
"Low" → Standard care path

Payment Threshold​

Condition: invoice.amount greater_than 500
True → Require manager approval
False → Process automatically

Appointment Type Routing​

Router: appointment.type

"Initial Consultation" → Full intake workflow
"Follow-up" → Brief check-in
"Telehealth" → Send video link
"Group Session" → Group notification
Default → Standard reminder

Advanced Features​

Nested Conditions​

Conditions can contain other conditions:

Condition: Is high priority?
True →
Condition: During business hours?
True → Alert immediately
False → Schedule for morning
False → Add to regular queue

Condition with Delay​

Combine conditions with delays:

Trigger: Invoice created
↓
Delay: 7 days
↓
Condition: Invoice still unpaid?
True → Send reminder
False → End

Loop with Condition​

Check condition for each item:

Loop: For each client appointment
↓
Condition: Is confirmed?
True → Skip
False → Send reminder
↓
End loop

Debugging Conditions​

Testing Conditions​

  1. Go to workflow editor
  2. Click Test mode
  3. Enter sample data
  4. See which path executes
  5. Verify logic is correct

Common Issues​

ProblemCauseSolution
Always trueCondition too broadAdd more specific criteria
Always falseCondition too strictRelax criteria or check data
Wrong pathOperator incorrectReview operator meaning
No matchValue format differsCheck field format and value

Execution Logs​

View condition evaluation in logs:

  1. Go to Workflows → [Workflow] → History
  2. Click specific execution
  3. Expand condition node
  4. See evaluated values and result

Best Practices​

Keep Conditions Simple​

// ❌ Too complex
IF (A AND B) OR (C AND D) OR (E AND F AND G)

// ✅ Use multiple conditions or router
Router: priority_type
"urgent" → Urgent path
"normal" → Normal path
"low" → Low priority path

Use Meaningful Names​

// ❌ Poor naming
Condition: check1

// ✅ Clear naming
Condition: Is client eligible for Medicare rebate?

Handle Edge Cases​

// ✅ Include default/else paths
Condition: Has email?
True → Send email
False →
Condition: Has phone?
True → Send SMS
False → Flag for manual contact

Document Complex Logic​

Add notes explaining business rules:

Condition: High value client
// Clients with > $5000 annual billing
// OR 3+ years as client
// OR referred 5+ new clients

Permissions​

ActionWho Can Do This
View conditionsPractice owner, practice manager
Edit conditionsPractice owner
Test conditionsPractice owner

Was this page helpful?