End
Terminates a flow and declares its outcome as accepted or rejected.
The End step marks the terminal point of a flow execution and declares the overall outcome. A flow must contain at least one End step. Because End steps can have distinct IDs and different outcome values, a flow can have multiple End steps — for example, one leading to accepted and another to rejected.
The End step is not user-facing and does not render any Player UI.
Key features
- Required in every flow: Every flow must have at least one End step.
- Multiple End steps supported: Unlike Start, the
idis a free string. A flow can have several End steps with different IDs and differentoutcomevalues. - Declares the flow outcome: The
outcomeoption determines whether the session completes asacceptedorrejected. - Produces
outcomeStatus: The End step emits anOutcomeStatusdata block on thedoneroute, which downstream systems can read via the session results API. - No outgoing transitions: End steps must not have any
nexttransitions.
Configuration
| Option | Type | Required | Description |
|---|---|---|---|
outcome | "accepted" | "rejected" | Yes | The outcome of the flow when execution reaches this End step. |
Input data blocks
This step does not consume any input data blocks.
Routes
| Route | Description |
|---|---|
done | The flow execution has completed. |
Output data blocks
| Route | Data blocks produced | Notes |
|---|---|---|
| done | OutcomeStatus | Contains status: "accepted" or status: "rejected" as configured. |
Example
{
"id": "end-accepted",
"type": "END",
"options": {
"outcome": "accepted"
},
"next": []
}
Multiple End steps in one flow:
[
{
"id": "end-accepted",
"type": "END",
"options": { "outcome": "accepted" },
"next": []
},
{
"id": "end-rejected",
"type": "END",
"options": { "outcome": "rejected" },
"next": []
}
]