Sunteți pe pagina 1din 73

Agenda

Unified Contact Center Express Editor


Basic
Scripting Fundamentals
Deployment

Advanced
Enterprise Data, Custom Variables, Agent-based Routing, Get
Reporting Statistics step, eMail steps, HTTP Triggers, Custom
Java, multi-language support

Changes in CCX 8.0


Script Repository
FAQ (If time permits)
Q&A

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Unified Contact Center Express Editor

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Unified Contact Center Express Editor

Palettes Pane

Script
Pane

Message
Pane

Variables Pane

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Unified Contact Center Express Editor


Each step has its own unique capabilities, from
simple increment to generating and playing out
prompts, obtaining user input, queuing calls, or
performing database operations.
Steps are grouped into palettes: General, Call
Control, Media, ACD etc.
Every step (except End step) has at least one
output branch.
Variables can be created and accessed anywhere
in the script.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Unified Contact Center Express Editor


Variables can be specified as final or parameter.
The values of parameter variables can be set in
AppAdmin.
Variables support built-in types: String, int, char,
boolean etc.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Unified Contact Center Express Editor


Additional editor functions: Validate, Debug
Validate checks if all steps are properly customized
and all execution paths terminate to an End step.
Debug in real-time add breakpoints, reactive and
non-reactive debugging
More details on how to debug scripts available in
Getting Started With Scripts guide.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Scripting Fundamentals

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Scripting Fundamentals
Basic Steps:
GeneralIf, Increment, Label, Goto, Annotate,
Call Subflow
Call ControlAccept, Redirect, Terminate
MediaPlay Prompt, Menu, Get Digit String
ACDSelect Resource, Connect, Set Priority

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Scripting FundamentalsGeneral
Steps
Start, EndThe first and last
steps of execution
IfBranch based on boolean
condition
Increment, Set
Goto, LabelJump to any
label in the script
Call SubflowA subflow is a
script that is invoked from
another script.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

Scripting Fundamentals
Call Control Steps
The Accept step answers
the call. The caller hears
ring tone until the Accept
step is executed.
The Redirect steps
redirects the call to a
specified destination.
Output branches are
Successful, Busy, Invalid,
Unsuccessful.
The Terminate step ends
the call.
Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

10

Scripting FundamentalsMedia Steps


The Play Prompt plays back a specified prompt to the caller.
The step has properties such as:
Interruptible (Yes or No): Can the step be interrupted by an
event such as an agent going Ready?
Barge-In (Yes or No): Can the caller interrupt the prompt?

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

11

Scripting FundamentalsMedia Steps


The Menu step provides
a menu from which
callers can choose an
option.
The Menu step receives
a single digit entered or
spoken by a caller and
maps this entry to a
series of output
branches.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

12

Scripting FundamentalsMedia Steps


The Get Digit String step captures either DTMF or
spoken digit string from the caller in response to a
prompt.
The step waits for input until the caller does one
of the following:
Presses the terminating key (DTMF only)
Exceeds the max number of retries
Enters the max number of keys (DTMF only)

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

13

Scripting FundamentalsACD Steps


Use Select Resource step to
queue for a CSQ or agent
If there is no agent available,
exit on Queued output
branch. The script is
interrupted when an agent
becomes available.
If there is an agent available,
exit on either Connected or
Selected output branch.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

14

Scripting Fundamentals
Properties of Select Resource Step:
Contact
Routing Target Type:
CSQ, Resource
CSQ/Resource Target
Connect option
Timeout
Resource Selected

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

15

Scripting Fundamentals
Simple Routing Script

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

16

Scripting Fundamentals
Deploying Scripts
Write script
Validate and debug script
Upload scriptuse AppAdmin to upload script to repository
Create Applicationuse AppAdmin to create application
and set values for configurable parameters
Create triggercreate telephony or HTTP trigger for the
application
Admin Guide has more details on how to debug and create/deploy
applications.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

17

First Chance to Win Fabulous Prize

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

18

Question
Which of the following is not a name previously used
by Cisco Unified Contact Center Express?
CRA
CRS
CRX
IPCCX

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

19

Advanced Scripting

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

20

Enterprise Data
Enterprise data is data related to the customer that
is presented to the agent on CAD or IPPA.
Script can collect enterprise data by prompting
caller, doing database lookups etc.
Additional configuration is required on Cisco
Desktop Administrator (CDA) to present enterprise
data on CAD and IPPA

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

21

Enterprise Data

Enterprise
Data

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

22

Enterprise Data
How to Display Enterprise Data on CAD?
Add ECC variables or
the 12 predefined call
variables to a layout.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

23

Enterprise Data
Steps to Set up Enterprise Data to Display on CAD
Use the Set Enterprise
Call Info step in script to
set enterprise data values.
The step is used to set
values for both ECC and
predefined (called call
peripheral variables)
enterprise data.
Remember to set the
layout.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

24

Enterprise Data
Enterprise Data on CAD

Enterprise
Data

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

25

Custom Variables
Custom variables allow users to store custom
information about a contact that is not already stored
as part of a Contact Call Detail record (called number,
disposition etc). Example: you want to track at what
point in the script a call is abandoned.
The Call Custom Variable report shows information
about any custom variables set using the Set
Enterprise Call Info step.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

26

Custom Variables
Call variables 1-10 are
stored in the Contact Call
Detail table.
Use the Set Enterprise Call
Info step to set the values.
ECC variables are NOT
stored in the Contact Call
Detail table.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

27

Custom Variables
Example of how custom
variable can be used to
track the path taken in
a script

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

28

Routing Options
Agent-Based Routing
Routes a call to an agent
directly.
Available in Enhanced and
Premium.
In the Select Resource step,
select Resource as the
Routing Target Type, and
specify the agent to route
the call to.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

29

Routing Options
Agent-Based Routing
Script needs a way
to determine which
specific agent to
route to (e.g. DB
lookup)
Agent-based
queuing is not
supported, so what
do you do?

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

30

Get Reporting Statistics Step


Used to retrieve real-time stats
overall, CSQ and agent-based
stats.
Examples:
Number of logged in agents
Duration of oldest call in queue
Number of handled calls for
a CSQ
Number of handled calls for
an agent
Position in queue
Expected wait time

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

31

Get Reporting Statistics Step


Formula for Expected Wait Time =
Position in queue * the CSQs average handle
duration/(total number of working agents of the
CSQ)
where total number of working agents of the CSQ =
number of talking + reserved + work agents, and
the CSQ handle time includes reserved, talking and
wrap-up time.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

32

Email Steps
Used to send outgoing emails.
Only available with CCX Premium and IPIVR.
Need to configure the email subsystem by providing the
address of the mail server.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

33

Email Steps
Email steps: Create eMail, send
eMail, Attach to eMail
Typical sequence:
Get email address you want to send the
email to
Use Create eMail step to create email.
Specify the subject and body and assign
the email to a Contact variable.
Use Attach to eMail to attach any
documents to the same Contact variable.
Use the Send eMail step to send the email.
Specify the destination and use the same
Contact variable.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

34

Email Steps: Example


Lets look at a sample script that emails agents
when the number of calls in queue exceeds a
threshold.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

35

HTTP Triggers
Script execution can be triggered from HTTP requests
Only available in CCX Premium and IPIVR
To create an HTTP Trigger, provide the following:
URL (the relative url, e.g.hello)
Default Language
Maximum number of sessions
Idle timeout (how long the system waits for a session to become available)
Enabled

To invoke the HTTP trigger, invoke the url, e.g. .


www.myCCXserver.com:9080/hello

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

36

HTTP Triggers
Sample HTTP script:
Presents queue stats on
a browser. Can be used
to supplement CAD realtime stats.
Invoke script by
accessing
http://myserver.com:9080
/queueStats

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

37

HTTP Triggers
First, gather real-time
stats using the Get
Reporting Stat

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

38

HTTP Triggers
Use Create File Doc step
to create a document
object based on a html
template

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

39

HTTP Triggers
Use Keyword Transform
Doc step to replace
keywords in a predefined
template with values
obtained from local
variables

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

40

HTTP Triggers
Use the Send Http
Response step to send
back response

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

41

Custom Java
Available in CCX Enhanced and Premium and IPIVR
Allows script to execute custom Java code
You can upload your own JAR file or add your own Java code in the
expression editor
You can access the expression editor anytime you see a 3-dot button

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

42

Custom Java
Example:

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

43

Custom Java
To make custom Java
classes accessible to
the editor:
Use AppAdmin to upload
the jar file containing the
custom classes to the
document repository. Jar
file must be uploaded to
default/classpath folder.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

44

Custom Java
Use AppAdmin to
configure a custom class
path to specify the JAR file
(System Custom File
Configuration)
Restart the Cisco Unified
CCX Editor to load the
custom jar file.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

45

Multiple Language Support


CCX 8.0 supports the following IVR languages:
Australian English, Polish, Czech, Hungarian,
Turkish
The CCX system has a default language configured
(System->Language Configuration)

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

46

Multiple Language Support


When a script needs to play a prompt, it will use the
contacts language context. e.g. You may have a
context of L[en_AU, en_GB]. The system will look
for prompts in the following folders in the following
order:
\en_AU
\en
\en_GB
\default

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

47

Multiple Language Support


When you create a trigger, you need to specify a
language. This is the first language in the contacts
language context.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

48

Multiple Language Support


You can write a script that supports multiple
languages
You can use the Set Contact Info step to add a new
language to a contacts language context.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

49

Another Chance To Win

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

50

Question
Which of the following is not a valid CCX release
(there may be multiple)?
3.1
4.1
5.1
7.1

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

51

What Changed in CCX 8.0

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

52

Changes in CCX 8.0


New Time Zone data type added.
Time zone support in Day of Week and Time of
Day steps

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

53

Changes in CCX 8.0


Limited access to local file system for reading and
writing.
Single directory will be opened for reading/writing
This directory is meant for temporary storage.
The location to the directory can be retrieved by using:
System.GetProperty(uccx.customer.dir)
Files should be stored in the Document Repository.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

54

Script Repository

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

55

Script Repository
Provides scripts that can be used as reference and
some can be used out-of-the-box.
Provides commonly-used functionalities:
System State
Holiday Management
Prompt Management
Basic Menu
Advanced Menu with Enterprise Data

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

56

Script Repository
Release 1:
Agents Logged-In Check
Auto Agent Greeting, Auto Agent Greeting Upload
Emergency, Emergency Check
Holiday, Holiday Check
ICD Demo
Musician Supply, Musician Supply MOH
QueueStats
Utility CSQ-based MOH
VoiceMail, VoiceMail Queuing
WebCallback, WebCallback Queuing

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

57

Script Repository
Release 2:
System State Management
Holiday Management
Prompt Management
Basic Menu
Advanced Menu with Enterprise Data

Extensive documents

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

58

Script Repository
Release 3:
Database Access
HTTP Trigger with callbacks
Advance Queuing with Voicemail and Callbacks

Extensive documents

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

59

Final Chance to Win Fabulous Prize

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

60

Question
Which of the following is the most recent CCX
release?
5.0(2)SR3
7.0(2)
8.0(1)
8.0(2)

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

61

FAQ

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

62

FAQ
The Upload Prompt step does not seem to work
anymore after upgrading from CCX 4.0 to CCX 7.0.
Starting in CCX 4.5, the Upload Prompt step needs a user that
is authenticated. Use the Authenticate User step to
authenticate the user.

Do I need to purchase TTS to speak numbers such as


account number, currency, phone number?
No, the system can use the system prompts to do this. Take a
look at the Create Generated Prompt for a list of generated
prompts supported: number, character, spelling, currency etc.

I modified a script but it does not seem to take effect?


You need to upload the new script to the script repository and
refresh the script on AppAdmin.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

63

FAQ
How do I allow callers to press any digit while in queue to be
transferred to the operator?
Use the Get Digit String and Redirect steps. Set Barge-In to True. If you
have a series of Play Prompt steps after the Get Digit String step, set
Barge-In to True and Flush Input Buffer to False on all the steps.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

64

FAQ
I would like to play out the customers account number but I
want to hear three-seven-four-two instead of three thousand
seven hundred and forty two?
You can use the Create Generated Prompt step and specify spelling as
the generator type, or when you create the Prompt, specify the second
parameter, Play.Full, to be false. E.g. N[3472, false]

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

65

FAQ
How do I route based on area-code?
Use Get Contact Info step to get ANI. Use Set step to
extract the first 3 digits. Depending on the number of area
codes, you can build logic directly in the script, or do XML or
database lookups for the right queue.

I would like to track how many callers selected 2 for


Spanish in my script. How do I do this?
Use the Set Enterprise Call Info step to set a value of a
predefined call variable.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

66

FAQ
I would like to do some processing even after the
caller drops the call. How do I do this?
Use the On Exception Goto step to catch the
ContactInactive exception, and add steps in your script to
handle this exception.

I do not want to mark a call as abandoned if the


caller drops within 1 min. How do I do this?
Store the start time of the call in a variable, e.g. startTime =
T[now]. Use the On Exception Goto step to catch the
ContactInactive exception, and then use the Set Contact
Info step to mark the call as handled if the currentTime
startTime < 1 min.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

67

FAQ
Script2

Script1

Ag1

Ag2

CSQ1

CSQ2

I have 2 CSQs, CSQ1 and CSQ2. I have 2 scripts: Script1 queues


for CSQ1 and script2 queues for CSQ2. Ag1 belongs to CSQ1 and
Ag2 belongs to CSQ1 and CSQ2. I only want to route calls from
CSQ1 to Ag2 if there are no queued calls on CSQ2, regardless of
how long call has waited on CSQ1.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

68

FAQ
Problem: Calls queued on CSQ1 are routed to Ag2
even when there are calls queued on CSQ2,
because the system always selects the longest
waiting contact. How do I ensure that calls queued
on CSQ1 are routed to Ag2 only when there are no
calls in queue on CSQ2?
Use the Set Priority step in script2 to increase the priority
of calls that queue on CSQ2.

If traffic is light and you have available agents, you


want calls to CSQ1 to get routed to Ag1, not Ag2.
Increase the competence level of Ag1 and set the resource
selection criteria of CSQ1 to Most Skilled.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

69

FAQ
I use the Name To User step to search the
corporate directory but I dont want the system to
spell out the name to the caller. Do I need to invest
in TTS to address this?
No. You can use spoken names. This allows users to
upload their spoken name wav file to the system. You can
use the
Get User Info step to get the spoken name and play it back
to the caller.

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

70

FAQ
I use the Get Reporting Stats step to get the
Expected Wait Time but it returns -1.
Formula for Expected Wait Time = PIQ * AHT / NWA
PIQ = Position in queue
AHT = the CSQs average handle duration
NWA = total number of working agents of the CSQ)

If there are no working agents (no agents in Talking,


Reserved and Work state), it returns -1. You need to handle
this in the script!

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

71

Summary
Unified Contact Center Express Editor
Scripting Fundamentals
Advanced Scripting Techniques
Changes in CCX 8.0
Script Repository
FAQ (if time permits)
Q&A

Presentation_ID

2010 Cisco and/or its affiliates. All rights reserved.

Cisco Public

72

S-ar putea să vă placă și