Skip to main content

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 id is a free string. A flow can have several End steps with different IDs and different outcome values.
  • Declares the flow outcome: The outcome option determines whether the session completes as accepted or rejected.
  • Produces outcomeStatus: The End step emits an OutcomeStatus data block on the done route, which downstream systems can read via the session results API.
  • No outgoing transitions: End steps must not have any next transitions.

Configuration

OptionTypeRequiredDescription
outcome"accepted" | "rejected"YesThe outcome of the flow when execution reaches this End step.

Input data blocks

This step does not consume any input data blocks.


Routes

RouteDescription
doneThe flow execution has completed.

Output data blocks

RouteData blocks producedNotes
doneOutcomeStatusContains 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": []
}
]