This Interaction element, which is also called a sub-Interaction, allows the designer to embed a reference to another Interaction from within the current Interaction. This means that Interaction applications can be constructed as infrastructure components and reused by other Interaction applications. For example, an Interaction for retrieving customer contact information could be created, and then reused by other Interactions.
This feature adds the concept of component-based design to Interaction application architecture. It also facilitates simplification of Interactions. Instead of creating a large,overarching single Interaction application, designers could extract out areas of responsibility and create multiple Interactions representing each key functional area. This would promote reuse and shared processes, as well as help make Interactions easier to read and understand.
Variables can be passed in and out of Interaction References, allowing for shared data and multiple exit points. A parent Interaction (the Interaction application with the reference to the subInteraction) can have different flows and different outcomes for users, according to how they pass through a subInteraction.
Since Interaction References are simply a reference to another Interaction, they do not need to perform any specific tasks. Should subInteractions change, it is not always necessary for parent Interactions to change. The only time that this would be required is when a start or exit point to/from a subInteraction is removed, or their types are changed. If this happens, the parent Interaction will lose its connection elements to/from the subInteraction, and new connections need to be drawn.
When an Interaction Reference is defined using the Insert function, it is mandatory to specify Entry Points and Exit Points. (Variables in and out can be defined if desired.) An Entry Point is the Start element in the subInteraction that is to be connected from the parent Interaction. Once the subInteraction is defined, this is usually automatically assigned in the dialog. An Exit Point is one or more exit elements from the subInteraction from which the flow can be passed back to the parent Interaction.
These must be defined by selecting one or more from the listed elements. Once this has been done connectors can be drawn from the parent Interaction to the icon representing the subInteraction, and back out again. The green icon on the left hand side of the subInteraction is the start element – draw a connector to it from the parent Interaction. The one or more pink icons on the right hand side of the subInteraction represent exit points – draw connectors from each element defined to parent Interaction elements.
Sample Use Case
An Interaction Reference could be used to represent commonly performed or repeated tasks, such as:
- Gathering contact information (usernames, addresses, etc.)
- Performing complex processes, such as sending and verifying data with external databases or CRM systems, or a cross over from one team to another
In a busy contact center representing multiple companies, it would be possible to have a single Interaction act as a call script, which then could refer out to specific Interactions for each company based on simple input from the user. If the caller is requesting product information, the parent Interaction could ask for the name of the product, and based on the response, direct to one of many referenced Interactions (where each Interaction could represent one product or manufacturer). Once the customer’s needs are fulfilled, the caller would be referred back to the parent Interaction before completing the interview process.
Retrieving sub-Interactions: Design Time vs. Runtime
If the Interaction that is called as a sub-Interaction has more than one version, the version that is retrieved may vary according to the mode in which the parent Interaction is run:
- Parent Interaction running in runtime (production environment): The approved version of the sub-Interaction is retrieved.
- Parent Interaction running in design time (from the Designer or from the Admin Console simulator): The most recent version of the sub-Interaction is retrieved. (This may or may not be the approved version.)
This retrieval logic suits the needs of both designers who are in the dynamic process of Interaction building, and end users viewing the final result.
For more information about versioning, refer to Working with Interaction Versions.
Creating an Interaction Reference
Creating an Interaction Reference involves defining the following settings:
- Name of the Interaction Reference element
- Element of the parent Interaction that initiates the Interaction Reference
- Element(s) that complete(s) the Interaction Reference
- Variable values for the Interaction Reference (optional)
Note: An Interaction Reference cannot be set as the starting element of an Interaction.
To create an Interaction Reference:
- From the Insert menu, select Interaction Reference. Alternatively, from the toolbar, click IconInteractionRef, and then click inside the Interaction map.
The Interaction Reference Definition dialog appears, with the General tab displayed by default.
- In the Reference Name textbox, enter a unique name for the Interaction Reference.
- In the Interaction frame, click Browse, and then select the desired parent Interaction for the Interaction Reference.
Details about the selected parent Interaction appear in the frame.
- From the Entry Points tab, select the Interaction element of the parent Interaction that will lead to the Interaction Reference. The element selected must be designated as the Starting element of the Interaction Reference.
- From the Exit Points tab, select the Interaction element(s) of the Interaction Reference that lead(s) back to the parent Interaction. More than one element may be selected, provided that all selected elements are ending elements.
- If desired, assign initial variable values and ending variable values, using the Variables In and Variables Out tabs.
- Click OK. The new Interaction Reference is configured.