Conditional Flow Steps
Conditional flow steps allow you to create dynamic, branching workflows based on form submission data. When a submission reaches a conditional step, the system evaluates the conditions you've defined and automatically routes the submission accordingly.
Overview
A conditional step evaluates one or more conditions against form field values and takes different actions based on whether those conditions are true or false.
Basic structure:
IF [condition(s)]
THEN [action when true]
OTHERWISE [action when false]
Creating a Conditional Step
- Navigate to your form's workflow editor
- Click Add Step and select Conditional
- Enter a Name for your conditional step
- Configure your conditions and actions
- Click Save Conditional
Conditions
Form Element
Select which form field to evaluate. All form elements from the form (including inherited elements from linked forms) are available.
Operators
| Operator | Description |
|---|---|
| is equal to | Field value exactly matches the specified value |
| is not equal to | Field value does not match the specified value |
| is greater than | Field value is numerically greater than the specified value |
| is greater than or equal to | Field value is numerically greater than or equal to the specified value |
| is less than | Field value is numerically less than the specified value |
| is less than or equal to | Field value is numerically less than or equal to the specified value |
| contains | Field value contains the specified text anywhere within it |
| is empty | Field has no value (no comparison value needed) |
| is not empty | Field has any value (no comparison value needed) |
Value
Enter the value to compare against. For fields with predefined options (dropdowns, radio buttons, etc.), you'll see a dropdown of available values. For other fields, enter the comparison value manually.
Note: The "is empty" and "is not empty" operators do not require a comparison value.
Multiple Conditions
You can add multiple conditions to create complex logic. Click Add Condition to add additional conditions.
Connectives
When you have multiple conditions, you must specify how they relate to each other:
| Connective | Description |
|---|---|
| AND | Both conditions must be true |
| OR | Either condition can be true |
Evaluation Order
Conditions are evaluated from top to bottom using left-to-right precedence. This means:
A AND B OR C
Is evaluated as:
(A AND B) OR C
Example:
- Condition 1: Department is equal to "Engineering"
- AND Condition 2: Level is greater than 5
- OR Condition 3: Role is equal to "Manager"
This evaluates as: (Engineering AND Level > 5) OR Manager
Actions
True Actions (THEN)
When all conditions evaluate to true, one of these actions is performed:
| Action | Description |
|---|---|
| Continue | Proceed to the next step in the workflow |
| Jump to Flow | Skip to a specific step in the workflow |
| Jump to Approver of Flow | Skip to a specific approval step |
| Run a Trigger | Execute an on-demand trigger, then perform the "And Then" action |
| Approve | Automatically approve the submission |
| Deny | Automatically deny the submission |
| Send Back | Return the submission to the submitter (not available for anonymous forms) |
False Actions (OTHERWISE / AND THEN)
When conditions evaluate to false (or after a trigger runs), one of these actions is performed:
| Action | Description |
|---|---|
| Continue | Proceed to the next step in the workflow |
| Jump to Flow | Skip to a specific step in the workflow |
| Jump to Approver of Flow | Skip to a specific approval step |
| Approve | Automatically approve the submission |
| Deny | Automatically deny the submission |
Note: When the true action is "Run a Trigger", the false action becomes "And Then" - specifying what happens after the trigger completes.
Protected Elements
Form elements used in conditional logic are automatically protected from deletion. This ensures your workflow logic remains intact. The protection is removed when you delete the conditional step or change the conditions.
Similarly, flows and triggers referenced by jump actions are protected while in use by a conditional step.
Examples
Example 1: Route by Department
Route submissions to different approval paths based on department:
- IF Department is equal to "Finance"
- THEN Jump to Flow: "Finance Approval"
- OTHERWISE Continue
Example 2: Auto-approve Small Requests
Automatically approve requests under a certain amount:
- IF Amount is less than 100
- THEN Approve
- OTHERWISE Continue
Example 3: Complex Routing
Route based on multiple criteria:
- IF Priority is equal to "High"
- AND Category is equal to "Security"
- THEN Jump to Flow: "Security Team Review"
- OTHERWISE Continue
Best Practices
-
Name your conditionals descriptively - Use names that describe what the condition checks (e.g., "Route High Priority", "Validate Budget")
-
Keep conditions simple - Complex nested logic can be hard to maintain. Consider using multiple conditional steps for clarity.
-
Test thoroughly - Submit test data that covers both true and false scenarios for your conditions.
-
Consider edge cases - Think about what happens when fields are empty or contain unexpected values.
Troubleshooting
Condition not evaluating as expected
- Verify the form element contains the expected data type
- Check for leading/trailing spaces in text comparisons
- For numeric comparisons, ensure the field contains numeric data
Cannot delete a form element
- The element may be protected by a conditional step
- Check your conditional steps and remove references to the element first
Cannot delete a workflow step
- The step may be referenced by a conditional's "Jump to" action
- Update the conditional step to use a different action first