Input & Output
Terminal node behaviour, execution history recording, and sub-workflow propagation.
Stop Workflow is a terminal node. It has no output ports. When execution reaches this node, the workflow ends immediately. You cannot connect any downstream nodes to it. Multiple Stop Workflow nodes can exist in a single workflow at different exit points, each with a different status and message.
What Gets Recorded
When Stop Workflow executes, the following information is written to the BizFirst execution history store:
| Field | Type | Description |
|---|---|---|
execution_id | string (GUID) | The unique identifier of this workflow run. |
workflow_id | string (GUID) | The workflow definition that was executed. |
status | string | The terminal status: success, cancelled, or failed. |
stop_message | string | The resolved message (from message or message_expression). Empty string if not configured. |
stopped_at | string (ISO 8601) | The UTC datetime when the Stop Workflow node executed. |
stopped_by_node | string | The name of the Stop Workflow node that terminated execution. |
Sub-Workflow Propagation
When a Stop Workflow node executes inside a child workflow (invoked via a Sub-Workflow node in the parent):
| Child Stop Status | Parent Sub-Workflow Port | Notes |
|---|---|---|
success | success | Child completed successfully. Parent continues along its success port. Child variables are available in parent as subworkflow.*. |
cancelled | error | Child was cancelled. Parent's error port fires with code CHILD_WORKFLOW_CANCELLED and the child's stop message. |
failed | error | Child failed. Parent's error port fires with code CHILD_WORKFLOW_FAILED and the child's stop message. |
If a workflow is running parallel branches (via Parallel Fork) and any branch reaches a Stop Workflow node, all other parallel branches are terminated immediately. The workflow ends with the status of the Stop Workflow node that fired first. Design parallel branches carefully to avoid unintended early termination.
Execution History API Response Example
{
"execution_id": "exec-7a8b9c0d-1234-5678",
"workflow_id": "wf-invoice-generation-001",
"status": "failed",
"stop_message": "Required field 'email' is missing. Customer ID: CUST-9988.",
"stopped_at": "2026-05-23T10:34:12Z",
"stopped_by_node": "ValidationFailed",
"duration_ms": 234
}