---
title: "Return True"
url: "https://help.flows.world/en/article/return-true"
language: "en"
last_updated: "2026-09-19T06:15:58.449Z"
---

# Return True

## Overview

Return true immediately terminates the flow and returns a success result. This is a terminal stage—use it to end the flow with a successful outcome, regardless of what happened before.

![](https://cdn-assets.productfruits.com/0208eafb-0119-4ec5-9414-32f9396b8040)

**Where to find it:** *Flow Control > Return* in the stage library.

## 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 **Success**

## How It Works

When executed, the stage:

1.  **Terminates flow immediately** - No further stages execute
2.  **Returns success status** - Flow marked as successful
3.  **Preserves all variables** - Accumulated variables remain available in response

**Key behavior:** Always succeeds, always terminates flow, no conditions or configuration.

## Common Use Cases

### 1\. Simple Success Return

End flow after successful processing.

-   Process data (any stages)
-   Add To Response: `status` → `success`
-   Return true

**Result:** Flow ends with success status, response includes status field.

### 2\. Conditional Success

Return success only if condition is met.

-   Route Flow: `{{status}}` Equal `Active`
-   **Pass branch:**
    -   Add To Response: `result` → `Active user found`
    -   Return true
-   **Fail branch:**
    -   Return false

**Result:** Success if status = Active, failure otherwise.

### 3\. Multiple Branches Converge

Different processing paths all end with success.

-   Route Flow: Check `{{type}}`
-   **Pass (type = "Premium"):**
    -   Call API: Process premium order
    -   Add To Response: `tier` → `premium`
    -   Return true
-   **Fail:**
    -   Return false

**Result:** Success only for premium users.

## Best Practices

-   ✓ Place after all response data is added (Add To Response stages must come BEFORE Return true)
-   ✓ Combine with Route Flow to conditionally return success
-   ✓ Use as explicit success indicator in complex flows
-   ✓ Add stage comment to document the success condition (e.g., "Success - all validation passed")
-   ✓ Pair with Return false for clear success/failure paths

## Common Mistakes

| Mistake | Symptom | Fix |
| --- | --- | --- |
| Expecting conditions | Stage always succeeds regardless of prior stages | This stage always succeeds - use Route Flow before it for conditional logic |
| Connecting output to Return true | Can't connect stages after Return true | Terminal stage has no exit points - nothing connects to it |
| Multiple returns in sequence | Only first Return true executes | Flow terminates at first Return true - subsequent stages don't run |
| Response incomplete | Expected fields missing from response | Add all fields BEFORE Return true, not after (flow terminates immediately) |

## Troubleshooting

| Issue | Common Cause | Fix |
| --- | --- | --- |
| Flow still continues | Another stage connected after Return true | Remove/reconnect stages - Return true must be last |
| Result value shows false instead of true | Used Return false instead of Return true | Use Return true if you want the result value to be true. Note the flow status is always success either way; only the result value differs |
| Response empty | No Add To Response stages before Return true | Add response fields before this stage |
| Response fields missing | Add To Response stages placed after Return true | Move Add To Response stages BEFORE Return true |

## Do's and Don'ts

### Do:

-   ✓ Use at end of successful processing branch
-   ✓ Combine with Route Flow to conditionally return success
-   ✓ Place after all response data is added (Add To Response stages)
-   ✓ Use as explicit success indicator in complex flows

### Don't:

-   ✗ Expect further stages to execute after Return true
-   ✗ Use multiple Return true stages in sequence (second won't execute)
-   ✗ Connect anything to return points (there are none)
-   ✗ Use when you need Fail exit (use Return false instead)

## Edge Cases

-   **No prior stages:** Return true still succeeds (can use as bare flow)
-   **Variables not initialized:** Variables don't affect outcome (always succeeds)
-   **Response building before Return true:** All added fields included in response
-   **Called after Fail stages:** This stage still returns success (not conditional on prior failures)

## Related Stages

-   [**Return false**](https://help.flows.world/en/article/return-false)**:** Terminate with failure instead of success
-   [**Add To Response (Fixed)**](https://help.flows.world/en/article/add-to-response-fixed)**:** Add fields before returning success
-   [**Add To Response (Dynamic)**](https://help.flows.world/en/article/add-to-response-dynamic)**:** Add fields before returning success
-   [**Route Flow**](https://help.flows.world/en/article/route-flow)**:** Conditionally choose Return true vs Return false
