A sub-Flow is any Intent Flow that runs within another Intent Flow. The Intent Flow that uses the sub-Flow is called the parent Flow.
You add a sub-Flow when building or editing the parent Intent Flow, using the Go to Flow navigation logic step. A sub-Flow element is indicated on the Interaction map by the symbol .
When viewing the parent Intent Flow, keep in mind that only the final (exit) elements of a sub-Flow will be displayed on the Interaction map. (The remainder of the sub-Flow is hidden.) When needed, you can view a sub-Flow by right-clicking the sub-Flow step and selecting Open.
Note: A referenced Intent Flow cannot be set as the starting element of a parent Interaction.
Why Use Intent Sub-Flows?
Intent sub-Flows help simplify the building and maintenance of IA flows by providing a mechanism to quickly move a user from one Intent to another.
A sub-Flow might direct the user to a side activity, or to a major activity that is used frequently.
For example, a parent Intent Flow for online purchases might go to a sub-Flow when the user clicks a 'Check Current Colors in Stock' button. Similarly, clicking on a 'Buy Now' button can also invoke a sub-Flow. In both cases, the sub-Flow activities can be easily maintained separately and can be invoked by other parent Intent Flows.
An Intent sub-Flow can also be used to perform common or repetitive tasks, such as:
- Gathering customer contact information
- Referencing an external product inventory or manufacturer's database
- Performing complex processes, such as sending and verifying data with external CRM systems, or providing a cross over from one team to another
Mapping Variables in Sub-Flows
Input and output mapping of System and User variables allows for data sharing between a parent Flow and a sub-Flow. The parent Intent Flow can offer different workflows and outcomes for users, depending on input received from the sub-Flow.
For example, to complete the Intent Flow for our online purchase (mentioned above), we'll need to map user account and product selection details to the Intent sub-Flow in order to perform the purchase transaction.
Input and Output Variables
- Input - The entry point where information is obtained from the parent Intent Flow and provided to the referenced sub-Flow.
- Output - The exit point where information is obtained from the referenced sub-Flow and provided to the parent Intent Flow.
|Variable Type||Input Mapping - Parent to Intent Sub-Flow|
Automatically mapped between the two Flows.
For any system variable in the sub-Flow, you can replace the automatically mapped system variable in the parent Flow with either a hard-coded value or a different system variable.
Select any user variable in the sub-Flow, and then map it to either a hard-coded value or any other variable, input element, or formula from the parent Flow.
|Variable Type||Output Mapping - Sub-Flow to Parent Flow|
Automatically mapped between the two Flows.
For any system variable in the parent Flow, you can replace the automatically mapped system variable in the sub-Flow with a different system variable, input element, or formula. Values for system variables cannot be hard-coded.
|User Variables||Select any user variable in the parent Flow, and then map it to any system, user, or Input Element variable from the sub-Flow. Values for user variables cannot be hard-coded.|
Creating an Intent Sub-Flow
Note: Mapping an Intent sub-Flow is very similar to mapping a sub-Interaction.
- From the Interaction map, right-click anywhere and select Add a Step, or hover over the step where you want to add the sub-Flow. The Navigation Logic menu is displayed.
- Hover over the Navigation Logic icon and select Go To Flow.
The Go To Flow Editor opens.
- In the Sub-Intent Flow Name field, enter a unique name for the sub-Flow reference. This is a required field.
- From the dropdown list, select the Intent Flow that will be used as a sub-Flow. The System Variables mapping panel will be displayed:
- Expand the System Variables List in the Input Variables Mapping section and modify any variable values as needed. Click here for details on how to perform the mapping.
- Expand the System Variables List in the Output Variables Mapping section and modify any variable values as needed. Click here for details on how to perform the mapping.
- To save the sub-Flow, click Create Sub-Intent Flow. The sub-Flow step is added to the Interaction map.
Note: When you make changes to a sub-Intent Flow, we recommend that you Refresh its active parent Intent Flow to update it with the new information and redraw it in the Web Designer. Use the Refresh button in the main toolbar of the Web Designer. For more information, click here.
Editing an Intent Sub-Flow
- Open the Intent Flow containing the sub-Flow element that you wish to change.
- From the Interaction map, double-click on the desired element or right-click on it and select Edit.
The Intent Sub-Flow Editor opens.
- Make the desired changes in the Editor.
- To save your changes, click Update Sub Intent Flow. The sub-Flow is updated on the Interaction Map.
Deleting an Intent Sub-Flow
- Open the Intent Flow containing the sub-Flow element that you wish to delete.
- From the Interaction map, right-click on the element and select Delete. A warning message opens.
- Click Yes. The sub-Flow element is deleted from the Interaction Map.