Flow Node (Subflow) User Guide
Overview
The Flow Node, also referred to as a Subflow Node, enables flow designers to connect one flow to another, allowing modular development and flow reusability. Alongside this enhancement, the Start Node has been upgraded with new capabilities for handling errors, disconnects, and subflow input/output variables.
These enhancements help simplify flow design, improve maintainability, reduce duplicate logic, and enable collaborative development of large projects.
Flow Node (Subflow)
What is a Flow Node?
A Flow Node allows a parent flow to execute another flow (subflow) and then return to the parent flow once execution is complete.
Think of it as flow chaining, where one flow can call another reusable flow component.
Runtime Behavior
When a Flow Node is executed:
The system retrieves the selected subflow definition through an internal API.
The subflow executes independently.
Once execution is completed, control returns to the parent flow.
The parent flow continues from the Flow Node completion path.
If an error occurs within the subflow, it must be handled by the subflow itself.
Key Benefits
Reusability: Create common functionality once and reuse it across multiple flows.
Standard Libraries: Build reusable flow components that can be shared throughout the organization.
Better Flow Organization: Break large, complex flows into smaller manageable subflows.
Collaborative Development: Different developers can independently work on different subflows, allowing faster project delivery.
Flow Node Configuration
Step 1: Add a Flow Node
Open Flow Builder.
Drag and drop a Flow Node onto the canvas.
Connect it to the desired location in the flow.
The Start Node now supports:
Input Variables
Output Variables
Error Exit Path
Disconnect Exit Path
These additions improve error handling and provide greater flexibility for subflow design.

Step 2: Select a Subflow
Open the Flow Node configuration.
Choose an existing flow from your organization.

Step 3: Configure Input Variables
Define the variables that should be passed from the parent flow into the subflow.
Examples:
Customer ID
Account Number
Session Variables
API Response Data
Step 4: Configure Output Variables
Specify the values that should be returned from the subflow back to the parent flow.
Examples:
Survey Results
Validation Status
Process Completion Flag
Generated Summary

Input and Output Variables
Purpose: When a flow is intended to function as a subflow, the Start Node acts as the interface between the parent flow and the subflow.
Input Variables: Used to receive information from the parent flow.
Output Variables: Used to return data back to the parent flow.
Designer Controls
Flow designers can determine:
Variables Passed Into Subflow: Select which variables should be shared with the subflow.
Variables Returned: Select which variables the subflow should return to the parent flow.
System Variable Visibility: Choose which system variables should be available inside the subflow.
Additional Behavior
Conversation Context Isolation: Each subflow executes in its own conversation context.
Persona Inheritance: The subflow automatically inherits the persona and voice configuration from the parent flow.
Flow Validation: A parent flow is considered valid only if the linked subflow is also valid.
If the referenced subflow contains validation issues, the parent flow will fail validation.
Hide Subflow Transcript
For sensitive interactions such as:
Authentication
Authorization
Security Verification
Confidential Data Collection
Designers can enable the Hide Transcript option within the Subflow Start Node.
When enabled:
The subflow conversation is excluded from the call transcript.
Sensitive interactions remain hidden from transcript records.
Quick Navigation
The Flow Node provides direct navigation to the referenced subflow.
Benefits:
Quickly open and edit the linked subflow.
No need to return to the main Flow menu.
Faster development and troubleshooting.
Used to return data back to the parent flow.
Error Exit
The Error Exit provides centralized error handling for the entire flow.
Instead of adding error-handling logic to every node, a default error path can be configured once in the Start Node.
Runtime Behavior
When any node encounters an error:
The engine checks whether the node has its own error path.
If not, execution automatically routes to the Start Node Error Exit.
The configured error process executes.
The flow can either continue or terminate based on the configured logic.
Disconnect Exit
The Disconnect Exit enables execution of custom logic when a caller disconnects or when the session unexpectedly terminates.
Previously, disconnected sessions immediately ended without executing additional workflow logic.
Runtime Behavior
When a disconnect occurs:
The runtime engine detects the disconnect.
Execution moves to the Start Node Disconnect Exit.
The configured disconnect logic runs.
The flow ends after disconnect processing is complete.

Error Handling Within Disconnect Logic
To prevent infinite execution loops:
Errors occurring inside the Disconnect Exit path do not route back to the Error Exit path.
Any disconnect-path error immediately terminates the flow.
Existing Flow Compatibility
Impact on Existing Flows
There is no impact on currently deployed flows.
For existing flows:
Error Exit remains undefined.
Disconnect Exit remains undefined.
Existing error-handling implementations continue to operate as before.
Users can optionally enhance existing flows by configuring the new Start Node capabilities.
Benefits
Preserve Session Information: Store important data collected before the disconnect.
Custom Logging: Record disconnect events for reporting and analytics.
API Cleanup: Close active API sessions and release resources.
Billing Activities: Execute custom billing operations.
Chat Timeout Handling: Configure actions to perform when chat sessions terminate unexpectedly.
Flow Summary Processing: Generate and save summaries before ending the session.
Supported Nodes in Disconnect Path
Since the caller is no longer connected, user-facing operations are not permitted.
The following node types are supported:
Set Node
API Call Node
Branch Node
Flow Node (Subflow)
End Node
The following are not supported:
Say Node
Transfer Node
Any user-interaction node
Conclusion
The introduction of Flow Nodes (Subflows) and the enhanced Start Node significantly improves flow design flexibility and maintainability. These capabilities allow teams to create reusable flow components, reduce duplicate development effort, implement centralized error handling, and execute custom disconnect processing. Together, these enhancements enable faster development, cleaner flow architecture, improved collaboration, and a more scalable approach to building complex conversational experiences.
Last updated
Was this helpful?