Skip to main content

Session 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.

Example configuration

{
"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": []
}
]

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.