A sub-Interaction (also known as an Interaction Reference) is any Interaction that runs within another Interaction. The Interaction that uses the sub-Interaction as a portion of its flow is called the parent Interaction. 

When building the parent Interaction, use a Sub Interaction navigation logic step to call the sub-Interaction you need. A Sub Interaction step is indicated on the Interaction map by the symbol . Keep in mind that when viewing the parent Interaction, only the final (exit) elements of the sub-Interaction appear on the Interaction map. (The actual flow of the sub-Interaction is hidden.) When necessary, you can view the flow of the sub-Interaction by right-clicking the sub-Interaction step and selecting Open.

Note: A sub-Interaction cannot be set as the starting element of a parent Interaction.

Why Use Sub-Interactions?

Sub-Interactions are helpful for making very large and complex Interactions easier to work with and understand by dividing them into several smaller portions. Use a sub-Interaction for any workflow that is shared by many Interactions.  

For example, in a busy call center that serves multiple companies, a single Interaction can act as a call script that then refers to company specific sub-Interactions based on simple input from the user.

A sub-Interaction 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-Interactions

Input and output mapping of system and user variables allows for data sharing between a parent and a sub-Interaction. The parent Interaction can offer different workflows and outcomes for users, depending on input received from the sub-Interaction.

For example, Sasha Wise, aged 22, is using your Interaction to register for an online course. When she is ready to sign up and pay, the Interaction that she is using sends her student ID number to a sub-Interaction. This Interaction receives her information and enables her to pay for the course. Once Sasha has paid, a registration number is sent from the sub-Interaction to the parent Interaction, which now may present Sasha with course details, or offer other options.

Mapping Input and Output Variables

  • Input - The entry point where information is obtained from the parent Interaction and provided to the referenced sub-Interaction
  • Output - The exit point where information is obtained from the referenced sub-Interaction and provided to the parent Interaction

The following table describes the rules for input variable mapping.

Variable Type Input Mapping - Parent to Sub-Interaction 
System Variables

Automatically mapped between the two Interactions.

For any system variable in the sub-Interaction, you can replace the automatically mapped system variable in the parent Interaction with either a hard-coded value or a different system variable. 

User Variables

Select any user variable in the sub-Interaction, and then map it to either a hard-coded value or any other variable, input element, or formula from the parent Interaction.

The following table describes the rules for output variable mapping.

Variable Type Output Mapping - Sub-Interaction to Parent
System Variables

Automatically mapped between the two Interactions.

For any system variable in the parent Interaction, you can replace the automatically mapped system variable in the sub-Interaction 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 Interaction, and then map it to any system, user, or Input Element variable from the sub-Interaction. Values for user variables cannot be hard-coded.


To create a sub-Interaction reference:

  1. From the Interaction map, right-click anywhere and select Add a Step, or hover over any step.

  2. Select Navigation Logic > Sub Interaction.
    The Sub-interaction editor opens.

  3. In the Sub-interaction Name field, enter a unique name for the reference.
  4. From the drop-down list, select a sub-Interaction.

  5. From the Input Variables Mapping frame expand the System Variables List to modify any system variable values, as needed:
    • To change the automatic mapping, click in the Parent variable field and enter a hard-coded value or select a different variable, input element, or formula.

  6. Click  to map initial user variables, as needed:
    • First, click in the Sub-Interaction field and select a variable.

    • Then, click in the Parent variable field and enter a hard-coded value, or enter "@" and select a variable, input element, or formula.

  7. From the Output Variables Mapping frame, expand the System Variables List to modify any sub-Interaction system variable values, as needed. (Refer to step 5.)
  8. Click  to retrieve User variable values for the output, as needed:
    • First, select a parent Interaction variable.

    • Then, map to a sub-Interaction system, user, or input element variable.

  9. Click Create Sub-Interaction.
    The sub-Interaction step appears on the Interaction map.
    Note: When you make changes to a sub-Interaction, we recommend that you Refresh its active parent Interaction 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.