Engagement Workflow IVR Call Flow
Calls begin in Engagement Workflow and pass to the Studio IVA. When the Studio IVA Call Flow is complete, the call returns to Engagement Workflow, typically with instructions for what to do next.
Download the Engagement Workflow IVR Template.
The Engagement Workflow template is as follows.
-
The first module, a variable module, houses data to send to the IVA.
-
The second module, a third party transfer module, transfers the call to the IVA.
-
The third module, a variable module, houses data returned from the IVA.
-
The fourth module, a case module, directs the call flow according to instructions returned from the IVA.
IVR Script Variables
These variables are local to the IVR.
From the Script menu, select Variables.
Variable |
Type |
Initial Value |
Input |
Output |
Description |
---|---|---|---|---|---|
fromStudio |
KVLIST |
{} |
No |
No |
The IVR receives this data from Studio. |
IISN_Transfer |
String |
777????????? |
Yes |
No |
The IISN number connects the IVR to Studio. It is a 12-digit number that always begins 777. It matches the number assigned to the Studio task. See Creating the Studio Task. |
IVA_AccountId IVA_TextStep IVA_POP IVA_Region IVA_routeReason IVA_routeType IVA_routeValue IVA_TaskId IVA_UUID |
String |
|
No |
No |
The IVR stores the data received from Studio. The IVR call flows according to IVA_routeType and IVA_routeValue. |
putResult |
String |
|
No |
No |
This variable is used to prepare the information the IVR sends to Studio. |
toStudio |
KVLIST |
{} |
No |
No |
The IVR sends this data to Studio. |
IVR Set Variable Module Properties (PUT)
The first variable module prepares the information the IVR sends to the Studio IVA. The IVR sends this information in a SIP header to Studio. To access this information in Studio, see Studio IVA Call Flow.
SIP Header Variable |
Value |
---|---|
"X-five9ani" |
Call.ANI |
"X-five9dnis" |
Call.DNIS |
"X-five9callid" |
Call.call_id |
"X-five9sessionid" |
Call.session_id |
Add your own SIP header variable-value pair to the list by following these steps. Add as many variable-value pairs as you require.
-
Open the Set Variable Module.
-
Click Add.
The Assignment dialog opens.
-
In the Variable field, select putResult.
-
For the Assigned Value, select Function and PUT(KVLIST, STRING, STRING).
-
The Function Arguments are as follows.
Number
Type
Value
#1
Variable
The name of the KVLIST the IVR sends to Studio - toStudio.
#2
Constant
The name of the variable to pass to Studio.
#3
Variable
The value of the variable.
IVR Third Party Transfer Module Properties
The Engagement Workflow IVR delivers the call to Studio according to these parameters set on the General tab.
Parameter |
Description |
---|---|
Third Party Number |
Select Variable. Enter the name of the IISN_Transfer variable defined locally to the IVR in IVR Script Variables. You cannot enter the third party number as a constant because the IVR has a limitation where the number added as a constant cannot be longer than 10 digits. The IISN number is 12 digits. |
Return After Third Party Call |
Select to return data from Studio and to return the call to the IVR. |
Send Data to Third Party |
Select to send data to Studio. Enter the name of the toStudio variable defined locally to the IVR in IVR Script Variables. |
Receive Data from Third Party |
Select to receive data from Studio. Enter the name of the fromStudio variable defined locally to the IVR in IVR Script Variables. |
Max Time of 3rd Party Call (Seconds) |
The maximum time the call can stay in the IVA is 3,600 seconds or 60 minutes. |
IVR Set Variable Module Properties (GET)
The second variable module receives information from the Studio IVA in a SIP header. To learn more about this information and add to the data sent from the Studio IVA, see Studio IVA Call Flow.
IVR Variable |
Assigned Variable, Constant, or Function |
---|---|
IVA_UUID |
Get fromStudio the value assigned to X-task_uuid. |
IVA_Region |
Get fromStudio the value assigned to X-task_region. |
IVA_POP |
Get fromStudio the value assigned to X-task_pop. |
IVA_TaskId |
Get fromStudio the value assigned to X-task_id. |
IVA_routeType |
Get fromStudio the value assigned to X-route_type. |
IVA_routeValue |
Get fromStudio the value assigned to X-route_value. |
IVA_routeReason |
Get fromStudio the value assigned to X-route_reason. |
IVA_AccountId |
Get fromStudio the value assigned to X-task_account_id. |
If you add your own variable-value pairs to the data sent from the Studio IVA, follow these steps to access that data in the IVR.
-
Create a variable in the IVR for each variable-value pair returned by the Studio IVA.
-
Open the RetrieveDataFromStudio module.
-
Click Add.
The Assignment dialog opens.
-
In the Variable field, select the IVR variable from step 1.
-
For the Assigned Value, select Function and GET(KVLIST,STRING).
-
The Function Arguments are as follows.
Number
Type
Value
#1
Variable
The name of the KVLIST Studio sends to the IVR - fromStudio.
#2
Constant
The SIP header key from the Studio IVA.
Enter the SIP header key in the same letter case as it is in the Studio IVA.
IVR Next Step
The case module directs the call flow according to IVA_routeType. Typically the route type is one of the following.
-
Skill
-
Extension
-
Agent
-
External
The modules for skill transfer and agent transfer take the agent name and required skill from IVA_routeValue.