Return False
Overview
Return false immediately terminates the flow and returns a failure result. This is a terminal stage, use it to end the flow with a failed outcome, regardless of what happened before.
Configuration
This stage has no configuration fields. Only stage comment/notes are available.
Exit Points
This stage has no exit points - it terminates the flow immediately.
Result: Flow status set to Failed
How It Works
When executed, the stage:
- Terminates flow immediately - No further stages execute
- Returns failure status - Flow marked as failed
- Preserves all variables - Accumulated variables remain available for error reporting
Key behavior: Always fails, always terminates flow, no conditions or configuration.
Common Use Cases
1. Conditional Failure
Return failure when condition is not met.
- Route Flow: {{status}} Equal
Active - Pass branch: [continue processing] → Return true
- Fail branch:
- Add To Response: error → Status not active
- Return false
Result: Failure if status ≠ Active.
2. Validation Failure
Return error response when validation fails.
- Route Flow: {{amount}} GreaterThan 0
- Pass branch: [process] → Return
true - Fail branch:
- Add To Response: error →
Invalid amount - Add To Response: code →
400 - Return
false
Result: Return error response with failure status.
3. Exception Handling
Propagate failure if API call fails.
- Call API: external_service (can fail)
- Route Flow: {{APIstatus}} Equal
true - Pass: [continue] → Return
true - Fail:
- Add To Response:
error→ API call failed - Return
false
Result: Propagate failure if API returns error.
4. Multiple Validation Points
Fail at first validation error, success only if all pass.
- Route Flow: {{email}} Contains @
- Fail: Return
false(invalid email) - Route Flow: {{age}} GreaterThanEqual
18 - Fail: Return
false(too young) - [process] → Return
true
Result: Fail at first validation error, success only if all pass.
Best Practices
- ✓ Add error details before Return false (error message, error code)
- ✓ Combine with Route Flow to conditionally return failure
- ✓ Use as explicit failure indicator in complex flows
- ✓ Add stage comment to document the failure reason (e.g., "Failure - validation did not pass")
- ✓ Pair with Return true for clear success/failure paths
- ✓ Include error context (failure reason, timestamp, validation error)
Common Mistakes
| Mistake | Symptom | Fix |
|---|---|---|
| Expecting conditions | Stage always fails regardless of prior stages | This stage always fails - use Route Flow before it for conditional logic |
| Connecting output to Return false | Can't connect stages after Return false | Terminal stage has no exit points - nothing connects to it |
| Multiple returns in sequence | Only first Return false executes | Flow terminates at first Return false - subsequent stages don't run |
| No error details in response | Clients don't know why flow failed | Add error fields BEFORE Return false (error message, code, details) |
Troubleshooting
| Issue | Common Cause | Fix |
|---|---|---|
| Flow still continues | Another stage connected after Return false | Remove/reconnect stages - Return false must be last |
| Status shows success | Used Return true instead of Return false | Use Return false for failure outcome |
| Response missing error details | No Add To Response stages before Return false | Add error fields before this stage |
| Error fields missing | Add To Response stages placed after Return false | Move Add To Response stages BEFORE Return false |
Do's and Don'ts
Do:
- ✓ Use at end of error handling branch
- ✓ Combine with Route Flow to conditionally return failure
- ✓ Use as explicit failure indicator in complex flows
- ✓ Place after error-specific response fields (error message, error code)
Don't:
- ✗ Expect further stages to execute after Return false
- ✗ Use multiple Return false stages in sequence (second won't execute)
- ✗ Connect anything to return points (there are none)
- ✗ Use when you need success outcome (use Return true instead)
Edge Cases
- No prior stages: Return false still fails (can use as bare error response)
- Variables not initialized: Variables don't affect outcome (always fails)
- Error fields added before Return false: All fields included in response
- Called after successful stages: Still returns failure (not conditional on prior success)
Related Stages
- Return true: Terminate with success instead of failure
- Return Dictionary: Return all variables instead of empty response
- Add To Response (Fixed/Dynamic): Add error fields before returning failure
- Route Flow: Conditionally choose Return true vs Return false