How to configure a IVR in Dialogue Studio

Introduction

Let’s start with a simple scenario. How do you build an IVRInteractive Voice Response (IVR) is a telephone application to take orders via telephone keypad or voice through a computer. By choosing menu options the caller receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent. in Anywhere365 Dialogue Studio? In this scenario we are going to make an IVR with 3 options which will continue in the Anywhere365 smart routing options.

 

Preview

 

Configure

We are going to start with a “Incoming conversation” node. This node only listens to audio/video and is connected to our server using SignalR.

The next step is greeting the customer, this can be done with a “Say” node. In here you can type the text, this will be converted to speech using the Microsoft Text to Speech engine.

Now we want to present the customer with their options, this is built in “Ask and wait for input”. For now, we are going for a DTMF tone (Specific amount of tones). But we could also have went for a Key Phrase. Addition we are adding an extra “Say”, for if the customer doesn’t respond fast enough.

To map the DTMF tone to a Skill, we will be using a “Switch”. We check if the “payload.dtmf” equals one of our expected numbers, otherwise go to an “Say” telling the customer to try again.

From the switch we draw a line to each of the “EnQueue” nodes, from here on Anywhere365 will put the customer in the queue.

 

Json

[

{

"id": "f0a88eea.d08ac",

"type": "tab",

"label": "Simple IVR",

"disabled": false,

"info": ""

},

{

"id": "7f77b756.b43c68",

"type": "any-red-incoming-call",

"z": "f0a88eea.d08ac",

"name": "",

"config": "9b2d1da8.5f1ec",

"filtertype": "audiovideo",

"x": 520,

"y": 320,

"wires": [

[

"65d86646.e4f3c8"

]

]

},

{

"id": "65d86646.e4f3c8",

"type": "any-red-say",

"z": "f0a88eea.d08ac",

"name": "",

"text": "Welcome",

"dataType": "str",

"x": 800,

"y": 320,

"wires": [

[

"6b7b909.1fe697"

]

]

},

{

"id": "6b7b909.1fe697",

"type": "any-red-ask-wait-input",

"z": "f0a88eea.d08ac",

"name": "",

"saytext": "Press 1 for Sales, Press 2 for Support, Press 3 for other questions",

"dtmftype": "DtmfNumChars",

"tone": "1",

"tonecount": "1",

"timeout": "30",

"playonce": true,

"repeatdelay": "5",

"speechphrase": "",

"speechculture": "en-US",

"dataType": "str",

"x": 1060,

"y": 320,

"wires": [

[

"ca4e4062.9bcf8"

],

[

"734e7ce2.067f84"

]

]

},

{

"id": "734e7ce2.067f84",

"type": "any-red-say",

"z": "f0a88eea.d08ac",

"name": "",

"text": "We didn't receive an answer, here are the options again",

"dataType": "str",

"x": 1080,

"y": 520,

"wires": [

[

"6b7b909.1fe697"

]

]

},

{

"id": "ca4e4062.9bcf8",

"type": "switch",

"z": "f0a88eea.d08ac",

"name": "",

"property": "payload.dtmf",

"propertyType": "msg",

"rules": [

{

"t": "eq",

"v": "1",

"vt": "str"

},

{

"t": "eq",

"v": "2",

"vt": "str"

},

{

"t": "eq",

"v": "3",

"vt": "str"

},

{

"t": "neq",

"v": "1",

"vt": "str"

}

],

"checkall": "true",

"repair": false,

"outputs": 4,

"x": 1310,

"y": 320,

"wires": [

[

"69f75ff9.99e7c"

],

[

"3d1f6825.81fda8"

],

[

"22f1b32c.a3938c"

],

[

"35fc0537.cc980a"

]

]

},

{

"id": "69f75ff9.99e7c",

"type": "any-red-enqueue",

"z": "f0a88eea.d08ac",

"name": "",

"skill": "Sales",

"dataType": "str",

"x": 1560,

"y": 280,

"wires": []

},

{

"id": "3d1f6825.81fda8",

"type": "any-red-enqueue",

"z": "f0a88eea.d08ac",

"name": "",

"skill": "Support",

"dataType": "str",

"x": 1570,

"y": 320,

"wires": []

},

{

"id": "22f1b32c.a3938c",

"type": "any-red-enqueue",

"z": "f0a88eea.d08ac",

"name": "",

"skill": "Other",

"dataType": "str",

"x": 1560,

"y": 360,

"wires": []

},

{

"id": "35fc0537.cc980a",

"type": "any-red-say",

"z": "f0a88eea.d08ac",

"name": "",

"text": "Incorrect input, here are the options again.",

"dataType": "str",

"x": 1370,

"y": 520,

"wires": [

[

"6b7b909.1fe697"

]

]

},

{

"id": "9b2d1da8.5f1ec",

"type": "any-red-config",

"z": "",

"name": "uccUCC stands for Unified Contact Center and consists of a queue that can be handled by Agents Each Contact Center has its own settings, interactive voice response questions and Agent with specific skills. Agents can be member of, or sign up to, one or more Contact Centers._michael",

"hostname": "app22.anywhere365.net"

}

]