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.

  1. IVR Script Variables

  2. IVR Set Variable Module Properties (PUT)

  3. IVR Third Party Transfer Module Properties

  4. IVR Set Variable Module Properties (GET)

  5. IVR Next Step

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.

  1. Open the Set Variable Module.

  2. Click Add.

    The Assignment dialog opens.

  3. In the Variable field, select putResult.

  4. For the Assigned Value, select Function and PUT(KVLIST, STRING, STRING).

  5. 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.

  1. Create a variable in the IVR for each variable-value pair returned by the Studio IVA.

  2. Open the RetrieveDataFromStudio module.

  3. Click Add.

    The Assignment dialog opens.

  4. In the Variable field, select the IVR variable from step 1.

  5. For the Assigned Value, select Function and GET(KVLIST,STRING).

  6. 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.