Lab 2 - IVR Contact Routing

Last modified: Tue, 27 Jun 2023

Table of Contents

Topic Lab Type Difficulty Level Estimated length
Introduction to Flow Designer Watch & Understand EASY 10 min
Configuring tenant 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).

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”

Please skip the task if you are doing the labs on the Gold Tenant. The task below is only for the Lab Tenant option where you have received an email with the Lab tenant credentials. In a such case, please copy and paste the data from the email into the corresponding fields.











Lab Section

Introduction to Flow Designer

Flow designer is a simple drag-and-drop user interface (UI) to define the flows. The following video explains the Flow Designer layout, activity library, and terminology used in the Flow Designer.

Configuring tenant for Call Delivery

⚠️ If you are using your Gold Tenant you can use this link to download the Audio Files. Those files are already pre-uploaded on the Lab Tenant.

Create a queue

  1. In the left pane of Control Hub > Select Contact Center > Queues (click for details)
  2. Click Create Queue

    Name your queue Q_AttendeeID

    Description: optional

    Queue Type: Inbound Queue

    Channel Type: Telephony

    Queue Routing Type: Longest Available Agent

    Call Distribution:

    Click Create Group

    Select Your_Attendee_ID_Team1

    Save Group

    Create second group

    Select Your_Attendee_ID_Team2

    After: 60 Seconds in queue

    Priority: 2

    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

  1. Download the Flow Template

    The file will open in a separate window.

    If using Firefox, Select the save option. (click for details)
    If using Chrome or Edge, right click and select save. (click for details)
    If using Chrome on a MAC, click the share icon in the URL bar and select save. (click for details)
  2. In the left pane of Control Hub, click Flows
  3. Click Manage Flows
  4. Click Import Flows
  5. Click Choose file or drag the flow template into the upload box
  6. Click Import

  7. Click the name of the newly imported flow_template

    Rename the flow to AttendeeID_TechSummit by clicking on the pencil icon at the top of the screen, next to the flow name

    Click 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 Channel

  1. In the left pane of Control Hub, click Channels
  2. Click Create Channel

    Name your Channel EP_AttendeeID

    Description: optional

    Channel Type: telephony

    Service Level Threshold: 60

    Routing Flow: AttendeeID_TechSummit

    Music on Hold: defaultmusic_on_hold.wav

    In Support Number section:

    Click Add

    In Webex Calling location, select “Office”

    In Available Numbers select Your Support Number

    Click the check mark

    Click Save


Test your configuration

  1. Call Your Support Number from your supervisor extension

    You 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

  1. Delete the connection which loops from the end of the Play Music node back to the beginning of the Play Music node.
  2. Drag a new Play Message node under the Play Music node.
  3. Click on the Play message node

    Activity Label: comfortMessage

    Audio File: comfort_1_English


  4. Click on the Play Music node

    Set the music duration to 15 seconds


  5. Connect the end of the Play Music node to the beginning of the play message node.
  6. Connect the end of the Play Message node to the beginning of the Play Music node.
  7. 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

    Compare


  8. Place a test call to Your Support Number

    Did you hear the comfort message every 15 seconds?


Creating alternating comfort messages while a call is in queue

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


  2. Delete the connection from the Play Music node to the comfortMessage node.
  3. Drag a Set Variable node onto the canvas and place it below the Play Music node
  4. Click on the Set Variable node

    Activity Label: lCount

    Variable: Loop_Count

    Set Value: {{ Loop_Count + 1 }}


  5. Connect the Play Music node to lCount
  6. Drag a Condition node on the canvas
  7. Connect the end of the Set Variable node to the Condition node
  8. Click on the condition node

    Activity Label: evenOdd

    Expression: {{ Loop_Count is odd}}


  9. Drag another Play Message node onto the canvas

    Activity Label: websiteMessage

    Audio File: website_English.wav


  10. Connect the True node edge from evenOdd to comfortMessage
  11. Connect the False node edge from evenOdd to websiteMessage
  12. Connect the end of websiteMessage node to the Play Music node
  13. Publish your flow Compare
  14. Place a test call to Your Support Number

    Did you hear the comfort message and website message alternate every 15 seconds?


Creating an opt-out option with ANI readout

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


  2. Delete the connection from the websiteMessage node to Play Music
  3. 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


  4. Connect the websiteMessage to the callback_opt node
  5. 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)}}


  6. Connect the callback_opt optOut node edge to callbackANI_set
  7. Add a Play Message Node

    Activity Label: cfrom

    Audio File: calling_from_English.wav


  8. Connect callbackANI_set to cfrom
  9. Add a Set Variable node

    Activity Label: rDigit_set

    Select Variable: rDigit

    Set to Value: {{callbackANI | slice (sPosition,sPosition+1)}}


  10. Connect cfrom to rDigit_set
  11. 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


  12. Connect rDigit_set to playDigit
  13. Add a Set Variable node

    Activity Label: advance

    Select Variable: sPosition

    Set to Value: {{sPosition+1}}


  14. Connect playDigit to advance
  15. 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


  16. Connect advance to positionCheck
  17. Publish your flow Compare
  18. Place a test call to Your Support Number

    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

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


  2. Delete the False node edge from positionCheck to Disconnect Contact
  3. Connect the False node edge from positionCheck to confirmNumber
  4. Connect the confirm number node edge to Disconnect Contact
  5. 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


  6. Connect the change number node edge to newNumber
  7. Add a Set Variable Node

    Activity Label: newCB

    Variable: callbackANI

    Set Value: {{newNumber.DigitsEntered}}


  8. Connect newNumber to newCB
  9. Add a Set Variable Node

    Activity Label:resetPosition

    Variable: sPosition

    Set Value: 0


  10. Connect newCB to resetPosition
  11. Add a Play message node

    Activity Label: rcontext

    Audio File: entered_English.wav


  12. Connect resetPosition to rcontext
  13. Connect rcontext to rDigit_set
  14. Publish your flow Compare
  15. Place a test call to Your Support Number

    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

  1. Create new flow variable:

    Name: Extension

    Type: String

    No default value

    Set as agent Viewable: True

    Desktop Label: Extension


  2. Add a Menu node

    Activity Label: needExt

    Audio File: ext_English.wav

    Make Prompt Interruptible: True

    Digit Number: 1 Link Description: collect ext


  3. Delete to connection from the confirm number node edge of confirmNumber to Disconnect Contact
  4. Connect the confirm number node edge of confirmNumber to needExt
  5. 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


  6. Connect the collect ext node edge of needExt to getEXT
  7. Add a Set Variable node

    Activity Label: setExt

    Variable: Extension

    Set Value: {{getEXT.DigitsEntered}}

  8. Connect getEXT to setEXT
  9. Add a Set variable node

    Activity Label: clrsPos

    Variable: sPosition

    Set Value: 0


  10. Connect setEXT to clrsPos
  11. Add a Play Message node

    Activity Label: entEXT

    Audio File: entered_English.wav


  12. Connect clrsPos to entEXT
  13. Use Shift + left click to select nodes:
    • rDigit_set
    • playDigit
    • advance
    • positionCheck
  14. Click the copy button in the lower left corner of the canvas
  15. Drag the copied versions of the nodes under the clrsPos node
  16. Rename the copied nodes the original names = _EXT (example: rDigit_set_EXT)
  17. Connect entEXT > rDigit_set_EXT > playDigit_EXT > advance_EXT > positionCheck_EXT
  18. Edit rDigit_set_EXT

    Set value: {{Extension | slice (sPosition,sPosition+1)}}


  19. Edit positionCheck_EXT

    Expression: {{sPosition <= (Extension.length -1) }}

    Connect True node edge to rDigit_set_EXT


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


  21. Connect the False node edge of positionCheck_EXT to confirmEXT
  22. Add a Callback node

    Activity Label: callback

    Callback Dial Number: callbackANI

    Callback Queue: Q_AttendeeID


  23. Connect the confirmed node edge of confirmedEXT to callback
  24. Add a Play Message node

    Activity Label: callbackConfirm

    Audio File: callback_confirm_English.wav


  25. Connect callback to callbackConfirm
  26. Connect callbackConfirm to Disconnect Contact
  27. Connect the No-Input Timeout and Unmatched Entry node edges from needExt to Disconnect Contact
  28. Publish your flow Compare
  29. Place a test call to Your Support Number

    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

Cisco TTS

Adding HTTP Request

Pubble Template

Congratulations, you have completed this lab! You can continue with the next one.

results matching ""

    No results matching ""