Lab 2 - IVR Contact Routing
Table of Contents
Topic | Lab Type | Difficulty Level | Estimated length |
---|---|---|---|
Configuring Contact Center for Call Delivery | Practical Lab | EASY | 10 min |
Adding a comfort message while a call is in queue | Practical Lab | EASY | 8 min |
Creating alternating comfort messages while a call is in queue | Practical Lab | EASY | 15 min |
Creating an opt-out option with ANI readout | Practical Lab | EASY | 15 min |
Adding the ability to receive a callback at a different number | Practical Lab | EASY | 15 min |
Adding the ability to collect an extension and present it to an agent during a callback | Practical Lab | EASY | 15 min |
Overview of the lab:
In this lab, we will configure all of the required elements to deliver a call into a queue. We will then create a new flow and iterate on it adding functionality and exploring opportunities for improvement.
Introduction
Lab Objective
- Configure Entry Point, Entry Point Mapping, Routing Strategy, and Queue
- Create a basic flow
- Add functionality to the flow by making small changes
Pre-requisites
- Complete Lab 1 “Admin Experience”
- You have the administrator’s access to the Tenant Management Portal.
- Agent and Supervisor users created and configured
- You have agent’s access to the Agent Desktop
- You have the supervisor’s access to the Tenant Management Portal.
- Agent is part of 2 Teams.
- Webex Calling extensions are assigned to a WxCC users (agent and supervisor).
Quick Links
Control Hub: https://admin.webex.com
Portal: https://portal.wxcc-us1.cisco.com/
Agent Desktop: https://desktop.wxcc-us1.cisco.com\
Fill in the form with the details provided and agent email address you created in the previous lab, then click “Update Directions”
Lab Section
Configuring Contact Center for Call Delivery
Create a queue
- Click on Provisioning > Entry Points/Queues > Queue
—
- Click New Queue
Name your queue Q_
AttendeeID Description: optional
Channel Type: Telephony
Queue Routing Type: Longest Available Agent
Call Distribution:
Click Add Group
Select
Your_Attendee_ID _Team1Save Group
Create second group
Select
Your_Attendee_ID _Team2After: 60 Seconds in queue
Add Group as: Last
Save Group
Click Close
Service Level Threshold: 60
Maximum Time in Queue: 600
Default Music in Queue: defaultmusic_on_hold.wav
Save
Create your first flow
- Download the Flow Template
The file will open in a separate window.
If using Firefox, Select the save option.
If using Chrome or Edge, right click and select save.
- Click Routing Strategy
- Click on Flows in the top ribbon
- Click Import
- Select flow_template
- Click the ellipsis next to the newly imported flow_template and select Open
Rename the flow to
AttendeeID _TechSummit by clicking on the pencil icon at the top of the screen, next to the flow nameClick on the Play Message node
Audio File: welcome.wav
Click on the Queue Contact node
Select Static Queue
Queue: Q_
AttendeeID
Click on the Play Music node
Select Static Audio File
Music File: defaultmusic_on_hold.wav
Click the Validation switch to turn on validation
Click Publish Flow
Add a Publish Note of your choosing
Click Publish Flow
Click Return to Flow
Turn off Validation
Create your Entry Point
⚠️Your Entry Point has already been created as EP_
- Click on Provisioning > Entry Points/Queues > Entry point
- Click Create new Entry point Show Me
Name your Entry Point EP_
AttendeeID Description: optional
Channel Type: telephony
Service Level Threshold: 60
Flow:
AttendeeID _TechSummitMusic on Hold: defaultmusic_on_hold.wav
Click Save
Create your Entry Point mapping
⚠️Your Entry Point has already been mapped for you. You can skip this step.
- Click on Provisioning > Entry Point Mapping Show Me
- Click new mapping
In location, select “Office”
In Available Numbers select
Your EP DN In Entry point select EP_
AttendeeID Click Save
Test your configuration
- Call
Your EP DN from your supervisor extensionYou should hear the greeting message and then the music in queue
Go available in the agent desktop
The call should be delivered to your agent extension
End the call, Wrap-up, and Go unavailable
Adding Functionality to Your Flow
Adding a comfort message while a call is in queue
- Delete the connection which loops from the end of the Play Music node back to the beginning of the Play Music node.
- Drag a new Play Message node under the Play Music node.
- Click on the Play message node
Activity Label: comfortMessage
Audio File: comfort_1_English
- Click on the Play Music node
Set the music duration to 15 seconds
- Connect the end of the Play Music node to the beginning of the play message node.
- Connect the end of the Play Message node to the beginning of the Play Music node.
- Validate and Publish the flow:
Click the Validation switch to turn on validation
Click Publish Flow
Add a Publish Note of your choosing
Click Publish Flow
Click Return to Flow
Turn off Validation
- Place a test call to
Your EP DN Did you hear the comfort message every 15 seconds?
Creating alternating comfort messages while a call is in queue
- Create a new flow variable:
Click on the cog in the lower left corner of the canvas
(or on the background of the flow)
Click Add Flow Variables
Name: Loop_Count
Variable Type: Integer
Default value: 0
Click Save
- Delete the connection from the Play Music node to the comfortMessage node.
- Drag a Set Variable node onto the canvas and place it below the Play Music node
- Click on the Set Variable node
Activity Label: lCount
Variable: Loop_Count
Set Value: {{ Loop_Count + 1 }}
- Connect the Play Music node to lCount
- Drag a Condition node on the canvas
- Connect the end of the Set Variable node to the Condition node
- Click on the condition node
Activity Label: evenOdd
Expression: {{ Loop_Count is odd}}
- Drag another Play Message node onto the canvas
Activity Label: websiteMessage
Audio File: website_English.wav
- Connect the True node edge from evenOdd to comfortMessage
- Connect the False node edge from evenOdd to websiteMessage
- Connect the end of websiteMessage node to the Play Music node
- Publish your flow Compare
- Place a test call to
Your EP DN Did you hear the comfort message and website message alternate every 15 seconds?
Creating an opt-out option with ANI readout
- Create new flow variables:
Name: callbackANI
Type: String
No default value
Name: rDigit
Type: string
No default value
Name: sPosition
Type: Integer
Default Value: 0
- Delete the connection from the websiteMessage node to Play Music
- Drag a Menu node onto the canvas
Activity Label: callback_opt
Audio File: opt_out_English.wav
Make Prompt Interruptible: True
Digit Number: 1 Link Description: optOut
Connect the No-Input Timeout node edge to Play Music
Connect the Unmatched Entry node edge to Play Music
- Connect the websiteMessage to the callback_opt node
- Add a Set Variable node
Activity Label: callbackANI_set
Select Variable: callbackANI
Set to Value: {{NewPhoneContact.ANI | slice (NewPhoneContact.ANI.length -10,NewPhoneContact.ANI.length)}}
- Connect the callback_opt optOut node edge to callbackANI_set
- Add a Play Message Node
Activity Label: cfrom
Audio File: calling_from_English.wav
- Connect callbackANI_set to cfrom
- Add a Set Variable node
Activity Label: rDigit_set
Select Variable: rDigit
Set to Value: {{callbackANI | slice (sPosition,sPosition+1)}}
- Connect cfrom to rDigit_set
- Add a Play Message node
Activity Label: playDigit
Click Add Audio Prompt Variable
Audio Prompt Variable: {{rDigit}}_English.wav
Delete the Audio File Drop Down
- Connect rDigit_set to playDigit
- Add a Set Variable node
Activity Label: advance
Select Variable: sPosition
Set to Value: {{sPosition+1}}
- Connect playDigit to advance
- Add a Condition node
Activity Label: positionCheck
Condition: {{sPosition <= (callbackANI.length -1) }}
True: Connect to rDigit_set
False: Add a new Disconnect Contact node and connect it here
- Connect advance to positionCheck
- Publish your flow Compare
- Place a test call to
Your EP DN When you are given the option for a callback, press 1.
Did you hear your 10 digit callback number being read back?
Adding the ability to receive a callback at a different number
- Add a new Menu node
Activity Label: confirmNumber
Prompt: number_confirm_English.wav
Make Prompt Interruptible: True
Digit Number: 1 Link Description: confirm number
Digit Number: 2 Link Description: change number
Connect No-Input Timeout to the front of the confirmNumber node
Connect Unmatched Entry to the front of the confirmNumber node
- Delete the False node edge from positionCheck to Disconnect Contact
- Connect the False node edge from positionCheck to confirmNumber
- Connect the confirm number node edge to Disconnect Contact
- Add a Collect Digits node
Activity Label: newNumber
Audio File: new_number_English.wav
Make Prompt Interruptible: True
Minimum Digits: 10
Maximum Digits: 10
Connect No-Input Timeout to the front of the newNumber node
Connect Unmatched Entry to the front of the newNumber node
- Connect the change number node edge to newNumber
- Add a Set Variable Node
Activity Label: newCB
Variable: callbackANI
Set Value: {{newNumber.DigitsEntered}}
- Connect newNumber to newCB
- Add a Set Variable Node
Activity Label:resetPosition
Variable: sPosition
Set Value: 0
- Connect newCB to resetPosition
- Add a Play message node
Activity Label: rcontext
Audio File: entered_English.wav
- Connect resetPosition to rcontext
- Connect rcontext to rDigit_set
- Publish your flow Compare
- Place a test call to
Your EP DN When you are given the option for a callback, press 1.
Press 2 to enter a different number.
Did you hear your 10 digit callback number being read back?
Did you hear the number you entered read back?
Adding the ability to collect an extension and present it to an agent during a callback
- Create new flow variable:
Name: Extension
Type: String
No default value
Set as agent Viewable: True
Desktop Label: Extension
- Add a Menu node
Activity Label: needExt
Audio File: ext_English.wav
Make Prompt Interruptible: True
Digit Number: 1 Link Description: collect ext
- Delete to connection from the confirm number node edge of confirmNumber to Disconnect Contact
- Connect the confirm number node edge of confirmNumber to needExt
- Add a Collect Digits node
Activity Label: getEXT
Audio File: enter_ext_English
Make Prompt Interruptible: True
Connect the No-Input Timeout node edge to the front of the getEXT node
Connect the Unmatched Entry node edge to the front of the getEXT node
- Connect the collect ext node edge of needExt to getEXT
- Add a Set Variable node
Activity Label: setExt
Variable: Extension
Set Value: {{getEXT.DigitsEntered}}
- Connect getEXT to setEXT
- Add a Set variable node
Activity Label: clrsPos
Variable: sPosition
Set Value: 0
- Connect setEXT to clrsPos
- Add a Play Message node
Activity Label: entEXT
Audio File: entered_English.wav
- Connect clrsPos to entEXT
- Use Shift + left click to select nodes:
- rDigit_set
- playDigit
- advance
- positionCheck
- Click the copy button in the lower left corner of the canvas
- Drag the copied versions of the nodes under the clrsPos node
- Rename the copied nodes the original names = _EXT (example: rDigit_set_EXT)
- Connect entEXT > rDigit_set_EXT > playDigit_EXT > advance_EXT > positionCheck_EXT
- Edit rDigit_set_EXT
Set value: {{Extension | slice (sPosition,sPosition+1)}}
- Edit positionCheck_EXT
Expression: {{sPosition <= (Extension.length -1) }}
Connect True node edge to rDigit_set_EXT
- Add a Menu node
Activity Label: confirmEXT
Audio File: ext_confirm_English.wav
Make Prompt Interruptible: True
Digit Number: 1 Link Description: confirmed
Digit Number: 2 Link Description: again
Connect No-Input Timeout to the front of the confirmEXT node
Connect Unmatched Entry to the front of the confirmEXT node
Connect the Again node edge to getEXT
- Connect the False node edge of positionCheck_EXT to confirmEXT
- Add a Callback node
Activity Label: callback
Callback Dial Number: callbackANI
Callback Queue: Q_
AttendeeID
- Connect the confirmed node edge of confirmedEXT to callback
- Add a Play Message node
Activity Label: callbackConfirm
Audio File: callback_confirm_English.wav
- Connect callback to callbackConfirm
- Connect callbackConfirm to Disconnect Contact
- Connect the No-Input Timeout and Unmatched Entry node edges from needExt to Disconnect Contact
- Publish your flow Compare
- Place a test call to
Your EP DN Press one to receive a callback
Press one to keep the number which was read back
Press one to receive a callback at an extension
Enter
Your Supervisor Extension and press #.In the agent desktop, go available.
When your agent phone rings, answer the call.
Listen to the prompts and enter the Extension shown on the agent desktop.
Your Supervisor extension should ring, answer it.
Coming soon:
Making the flow bi-lingual
Adding HTTP lookups and agent routing
Business Hours
Congratulations, you have completed this lab! You can continue with the next one.