Portal Community

Output Ports

PortConditionDescription
successChild workflow completed with status "success" or "completed"All child outputs available via output.NodeName.subworkflow.*. Parent workflow continues along this port.
errorChild workflow failed, was cancelled, exceeded nesting depth, or the child workflow ID does not existError details in output.NodeName.error. The child workflow's error message is included.

Output Data Schema

FieldTypeDescription
subworkflow.*object (namespace)All outputs and variables produced by the child workflow, available as a flat namespace. For example, if the child set var.invoiceId, the parent accesses it as output.NodeName.subworkflow.invoiceId.
subworkflow.resultanyThe value of the child workflow's final output — typically set by the child's StopWorkflow node message or the last CodeExecute result.

Example: Child Outputs Available in Parent

// Child workflow sets these variables before completing:
// var.invoiceId    = "INV-20260001"
// var.pdfUrl       = "https://storage.example.com/invoices/INV-20260001.pdf"
// var.approvedBy   = "jane.manager@company.com"

// Parent accesses them after RunInvoiceSubflow completes:
{@ output.RunInvoiceSubflow.subworkflow.invoiceId  }  // "INV-20260001"
{@ output.RunInvoiceSubflow.subworkflow.pdfUrl     }  // "https://storage..."
{@ output.RunInvoiceSubflow.subworkflow.approvedBy }  // "jane.manager@company.com"

Error Output Schema

{
  "error": {
    "code": "CHILD_WORKFLOW_FAILED",
    "message": "Sub-workflow 'a1b2c3d4...' terminated with status: failed. Reason: Validation failed for field 'email'.",
    "childWorkflowId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "childExecutionId": "exec-9988776655",
    "node": "RunApprovalProcess",
    "timestamp": "2026-05-23T10:34:12Z"
  }
}