ShoreTel Contact Center Solution CRM Integration Guide Release 4.32. Robust IP Phone Systems



Similar documents
ShoreTel Enterprise Contact Center 8 Applications Interface Guide

ShoreTel Enterprise Contact Center Using Agent Toolbar

ShoreTel Contact Center Using ShoreWare Agent Toolbar

ShoreTel Enterprise Contact Center 8 Using Agent Toolbar

Personal Call Manager. User Guide

ShoreTel Enterprise Contact Center Supervisor Guide

ShoreTel Enterprise Contact Center 8 Supervisor Guide

ShoreTel Enterprise Contact Center 8 Administrator Guide

FOR SHORETEL CHAMPION PARTNERS ShoreTel Contact Center Workgroups vs. ECC 9 GENERAL SYSTEM OVERVIEW

ShoreTel Enterprise Contact Center 8 Report Data Fields

ShoreTel Enterprise Contact Center 8 Report Data Fields

ShoreTel Converged Conferencing ShoreTel Converged Conferencing V5.6.2b Quick Start Guide

Using the. Call Manager Features. (Student Guide)

ShoreTel Enterprise Contact Center 9 Supervisor Guide

Deploying Cisco Unified Contact Center Express Volume 1

Five9 Virtual Contact Center

Using Your ShoreTel 210 IP Phone

ShoreTel 11. ShoreTel Communicator for Windows Guide

ShoreTel & AMTELCO Infinity Console via SIP Trunking (Native)

Using Your ShoreTel 110 IP Phone

Using Avaya Aura Messaging

ShoreTel Enterprise Contact Center 8 Installing and Implementing Chat

ShoreTel 13 Conferencing User Guide. Part Number

BPMonline CRM + Service Desk Agent Desktop User Guide

Sage CRM. Sage CRM 7.3 CTI Guide

ShoreTel 115 IP Phone User Guide

Multi-Tech FaxFinder IP

Enterprise Toolbar User s Guide. Revised March 2015

Oracle IVR Integrator

PORTA ONE. Porta Switch. Handbook: Unified Communications Maintenance Release 24.

Virtual Contact Center

White Paper UC for Business - Outdial Queuing

Corporate Telephony Toolbar User Guide

exchange Call Center Quick Installation Guide

Application Note. IP8000 Conference Phone Configuration Guide. Table of Contents. Overview. Requirements. ST October 25, 2007

Contact Center 5.1. Software Release Notes. GA Build

Empowered by Innovation. Setting Up and Using Fax Mail. P/N July 2006 Printed in U.S.A.

MiVoice Integration for Salesforce

Revolution Web ShoreTel Innovation Network Application Note for ShoreTel 14.1

PRODUCT DOCUMENTATION. Contact Center Installation Guide

<Insert Picture Here> Contact Center Anywhere: Interaction Manager (IM) Overview

managedip Hosted TDS Table of Contents Call Center Administrator Guide

Fidelity ACD Agent. User Guide

Virtual Contact Center

Allworx Queuing and Automated Call Distribution Guide (Release x)

Hosted VoIP Phone System. Desktop Toolbar User Guide

HP EPICCenter Contact Center Software for VCX Solutions Series

White Paper Integration of TTY Calls into a Call Center Using the Placeholder Call Technique Updated: February 2007

HP EPICCenter Contact Center Software for VCX Solutions Overview

Interaction Center Integration with HEAT

Allworx Queuing and Automated Call Distribution Guide (Release x)

SIP Trunking using Optimum Business SIP Trunk Adaptor and ShoreTel IP PBX Phone System

INTRODUCTION TO SYNTHESYS

Template 1 - Call Center

ShoreTel Workgroup Real-Time Monitor

RiOffice Users Manual

Ipiphony Phone System. User Manual. 1 P a g e

CLIENT APPLICATION USER GUIDE

5 Setting up a Contact Center

Contact Center. Admin and Subscriber User Guide

Virtual Contact Center

OmniTouch 8400 Instant Communications Suite. My Instant Communicator for Microsoft Outlook User guide. Release 6.7

White Paper UC for Business - Queuing Desktop SMTP

MySphere Assistant User Guide

Telephony Toolbar Corporate. User Guide

To access your mailbox by computer. For assistance, call:

Oracle Predictive. Concepts and Procedures. Release 11i. April 2000 Part No. A

User's Manual for Zultys MXmobile

Overview of Web Request Routing Through Unified ICM

for Networks Installation Guide for the application on the server August 2014 (GUIDE 2) Lucid Exact Version 1.7-N and later

UX Mail Fax Features. Empowered by Innovation. P/N Rev 1, September 15, 2008 Printed in U.S.A. V4.21

Hosted VoIP Phone System. Admin Portal User Guide for. Call Center Administration

How To Set Up A Fax Server

Advanced Customer Education Presentation NEC SV9100 Contact Advanced Customer Education Document

Orchestra Call Centre Agent Software Version 3

Virtual Contact Center

Parallels Plesk Control Panel

MegaPath Call Center Agent/Supervisor

ShoreTel 11. ShoreTel IP Phone 655 User Guide

Contact Center Solutions A Highly Flexible, Two-Tiered Offering

User Manual. 3CX VOIP client / Soft phone Version 6.0

ERICSSON SOLIDUS ecare AGENT, MANAGEMENT AND SELF-SERVICE APPLICATIONS BUILT FOR BETTER BUSINESS

USER GUIDE SHORETEL NETSUITE CLIENT. ShoreTel Professional Services

Business Solutions. Page 1

Assistant Enterprise. User Guide

Installing Policy Patrol on a separate machine

for Networks Installation Guide for the application on the server July 2014 (GUIDE 2) Lucid Rapid Version 6.05-N and later

Avaya IP Office Platform Web Self Administration

Application Notes for Configuring Microsoft Office Communications Server 2007 R2 and Avaya IP Office PSTN Call Routing - Issue 1.0

Allworx Call Assistant 2.4 Quick Reference Guide

Nortel Networks Symposium Call Center Server Symposium Database Integration User s Guide

Envox Call Information Manager

Monitor Print Popup for Mac. Product Manual.

Part No. P Multimedia Call Center. Set Up and Operation Guide

for Networks Installation Guide for the application on a server September 2015 (GUIDE 2) Memory Booster version 1.3-N and later

User Manual in English. Call Center RC Elastix. For more information visit

PRIMUS CALL CENTRE: AGENTS & SUPERVISOR GUIDE

Transcription:

ShoreTel Contact Center Solution CRM Integration Guide Release 4.32 Robust IP Phone Systems

Document and Software Copyrights Copyright 1998-2004 by ShoreTel, Inc., Sunnyvale, California, U.S.A. All rights reserved. Printed in the United States of America. Contents of this publication may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without prior written authorization of ShoreTel, Inc. ShoreTel, Inc. reserves the right to make changes without notice to the specifications and materials contained herein and shall not be responsible for any damage (including consequential) caused by reliance on the materials presented, including, but not limited to typographical, arithmetic or listing errors. Trademarks ShoreCare, ShoreTel, ShoreWare, ShoreGear, and AnyPhone are registered trademarks of ShoreTel, Inc. in the United States and/or other countries. ShoreTel5 is a trademark of ShoreTel, Inc. in the United States and/or other countries. Microsoft, Windows, Windows NT, and ActiveX are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. VxWorks is a trademark of Wind River Systems. All other copyrights and trademarks herein are the property of their respective owners. Version Information ShoreTel Contact Center CRM Integration Guide Release 4.32 June, 2004 Company Information ShoreTel, Inc. 960 Stewart Drive Sunnyvale, California 94085 (408) 331-3300 (408) 331-3333 fax www.shoretel.com

Contents PREFACE About This Guide..................................................................... Preface-v Documentation................................................................... Preface-v Document Conventions............................................................. Preface-v Disclaimer.......................................................................Preface-vi CHAPTER 1: CRM INTEGRATION USING CALL CONTROL SCRIPTS Call Profiles.............................................................................. 1-1 Call Control Scripts........................................................................ 1-2 Integrating to CRM Databases............................................................... 1-3 Call Routing Based on CRM Information........................................................ 1-4 Self-Service Based on CRM Information......................................................... 1-4 CHAPTER 2: USING DIAL LISTS FOR OUTBOUND CALLING Overview............................................................................... 2-1 Configuring the Dial Lists................................................................... 2-1 External Databases.................................................................... 2-2 Output Source........................................................................ 2-2 CHAPTER 3: AUTOMATING AGENT ACTIVITIES Overview............................................................................... 3-1 The ShoreWare Agent INI File................................................................ 3-1 Integrating Applications by DDE.............................................................. 3-3 Introduction......................................................................... 3-3 First Invocation of the ShoreWare Agent Toolbar Software...................................... 3-4 Configuring the ShoreWare Agent Toolbar Software........................................... 3-4 The ShoreWare Agent Toolbar Software as a DDE Client........................................ 3-4 The ShoreWare Agent Toolbar Software as a DDE Server........................................ 3-6 Integrating Applications by ActiveX............................................................ 3-9 Configuring ShoreWare Agent Toolbar.................................................... 3-10 Managing ShoreWare Agent Toolbar...................................................... 3-10 ShoreWare Agent Toolbar Events......................................................... 3-11 ShoreWare Agent Toolbar Software Methods (Services)........................................ 3-11 Activating Applications by Triggers........................................................... 3-14 Introduction........................................................................ 3-14 Configuring the ShoreWare Agent Toolbar Software.......................................... 3-14 Activating an Application............................................................... 3-14 Activation Events..................................................................... 3-15 Command Substitution................................................................ 3-15 APPENDIX A: INTEGRATION EXAMPLES Goldmine by DDE......................................................................... A-1 MSAccess by DDE......................................................................... A-1 Web Application by Triggers................................................................. A-2 Vantive by DDE........................................................................... A-2 External Application by ActiveX............................................................... A-2 Code of VbController.exe............................................................... A-2 The Control Panel..................................................................... A-5 iii

iv

Preface About This Guide This guide describes how to integrate the ShoreTel Enterprise Contact Center Solution with external Customer Relationship Management (CRM) applications. It details the available interfaces, and provides necessary reference information including examples. NOTE The options and modules required for CRM integration are only available with the ShoreTel Enterprise Contact Center Solution. This guide provides information for professional services engineers and application programmers who must plan the integration of the ShoreTel Enterprise Contact Center Solution to selected external applications before development begins. This guide assumes that you are familiar with the ShoreTel Enterprise Contact Center Solution architecture, features, and functionality. You should also be familiar with Agent Toolbar, see the ShoreWare Agent Toolbar User Guide for more information. Documentation The following documents are available for the ShoreTel Enterprise Contact Center Solution system: ShoreWare Agent Toolbar User Guide ShoreWare Supervisor Applications Guide ShoreTel Contact Center Solution Installation Guide ShoreTel Contact Center Solution Administration Guide ShoreTel Contact Center Solution CRM Integration Guide (this guide) Document Conventions The following conventions are used in this guide: Data-entry fields, hypertext links, control buttons, keywords, and other items within the system management interface are in a boldface font. Information that you enter in data fields are in a data_entry font. NOTE indicates notes to the reader that contain useful information or references. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) Preface v

Preface Disclaimer The illustrations, telephone displays, and screen captures appearing in this manual are examples used to explain more clearly how the features and controls are used. What appears on the display or screen capture in the illustrations may differ from what appears on the actual equipment, and some of the illustrations may represent something impossible in actual operation. The functions that can be used and the information that can be displayed will differ depending on the telephony state and external equipment being connected. The names of companies, products, people, characters, and/or data mentioned in the examples herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Preface vi ShoreTel, Inc.

C H A P T E R 1 CRM Integration Using Call Control Scripts To automate your contact center operation, you can integrate ShoreTel Enterprise Contact Center Solution with your Customer Relationship Management (CRM) using call control scripts. This allows the contact center to be more closely tied to your customer information and to improve your customer service. For example, you can use your CRM database to change skills, priority, call flow, or even to let callers bypass agents and interact directly with the CRM database in a self-service application. Integration requires the interaction of three key components: Call profiles Call control scripts CRM database This chapter explains how these components work together in call routing and selfservice applications. Call Profiles The call profile contains a list of fields, each with a field name and value. There are mandatory fields (fields defined and managed by the ShoreTel Contact Center Solution), and user-definable fields. User fields can be created in the Contact Center Director according to your application needs. The call profile fields can be updated by caller interaction, or from a CRM database using call control scripts. With call control scripts, you can set call actions and decisions based on the contents of select call profile fields. NOTE For detailed information on managing call profile fields, see the ShoreTel Contact Center Solution Administration Guide. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 1 1

CRM Integration Using Call Control Scripts The following table lists the mandatory fields in the call profile. External Name Description DNIS DNIS of the call Calling ANI (caller ID) of caller Called Agent extension Elapsed Time since call entered the ShoreTel System (hh:mm:ss) Last Redirection Last device connected to the call Originally Called Dial Number originally called (typically the IRN) Status Current state of the call (connected, hold, and so on) Time Current station time (hh:mm:ss) Trunk Dial Number of CO trunk Waiting Time Time the call waited in the queue Type Call type (1=voice, 2=chat, 3=mail, 4=callback, 5=abandoned, 6=Web_callback, 7=dial from list) Media Call media (1=voice, 2=chat, 3=email) Priority Priority of call Service Service that handles the call CUSTOMER_NUMB Identifier number of the customer (if internal, the ER Customers Table is used) CUSTOMER_NAME Customer name (if internal the Customers Table is used) ACD_ENTER_DATE Date the call entered the ShoreTel Contact Center Solution ACD_ENTER_TIME Time the call entered the ShoreTel Contact Center Solution Q_POSITION Call position in the queue AVERAGE_Q_TIME Expected average wait time in the queue CALLBACK_TIME Callback time set by caller (if empty, Abandoned Call) CALLBACK_DEST Callback destination LANGUAGE Language needed for chat-customer NOTE The field names in the call profile are case sensitive. Call Control Scripts Call control scripts define the way the system handles ACD calls. The scripts are used to process calls, present information to callers, prompt them for input, collect input digits, query the organization s database, and so on. Call control scripts can be used to: Make announcements Collect caller information Make routing decisions Provide self-service Provide music-on-hold Read and write information to the database There are two call control script tools available: a graphical call control scripting application called Graphical Call Control Scripts Director (GCC Scripts Director) and Call Control Scripts Director (CC Scripts Director). You can create specific scripts from the set of actions available in the CC Script Director or GCC Script Director. 1 2 ShoreTel, Inc.

CRM Integration Using Call Control Scripts A call control script contains a set of actions that are performed on a call. You can change the agent requirements or call flow based on database interactions. Call control scripts can access external databases based on caller-supplied input. Information from the database can be used to modify the call routing or play back information to the caller. The actions that are defined for a script control the flow of a call (that is, its routed destination). They can also update the call profile fields that control the call handling as well as the agent s display. Some of these actions are logical (for example, Logic Switch), and some are related to telephony (for example, Transfer). Some actions obtain information from the organization s database (for example, SQL Query), while others require Interactive Voice Response (IVR). When the Contact Center executes IVR actions, such as Menu, Get Digits, and Play File, the call is automatically transferred to an available IVR port. To use call control scripts: Plan the actions you want the call control script to perform. Identify and connect to an external database and create ODBC queries. Create any new call profile fields needed by the call control script. Record the required announcements. Create the call control scripts using Call Control Scripts Director. Set IVR application parameters from the IVR Application window. Set the call control scripts as IRN or service destinations. Integrating to CRM Databases To integrate your call control scripts with you customer information, you must first identify the database, and the columns within the database, that contain the necessary information. When integrating with an external database, the ShoreTel Contact Center acts as the client and uses an ODBC interface on the Contact Center Server to interact with the database. NOTE You must have the appropriate ODBC drivers installed on the Contact Center Server. To query or do other database interactions, the Contact Center uses Structured Query Language (SQL). External databases must be in SQL format to be accessible by the Contact Center via ODBC. Integrating to external database require the following steps: Ensure that you have a network connection to the external database by confirming that you can ping between the computers. Install all needed infrastructure software (OBDC drivers and client side processes) and create the OBDC connections on Contact Center server. Plan the data items you need to gather, define the conditions, and decide where to put data results. Define the Data Source Name (DSN) of the database to which you want to connect on the Interface tab of the System configuration window. Create the SQLConnect and SQLExecute actions in your call control script using GCCS Director. SQLConnect connects to a database in order to make database queries. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 1 3

CRM Integration Using Call Control Scripts SQLExecute sends a query (written as an SQL statement) to the database to obtain specific information, such as the priority of a caller. For example, the query may be able to find and retrieve the priority of the caller, enter the call profile, and update this value. Call Routing Based on CRM Information You can use the data in your customer database to route calls to agents who can better server a particular customer. The following example routes an incoming call based on a customer type field in the CRM database. In this scenario, a call arrives at a financial institution and is routed by customer type to either a group of agents handling stock trades or to a group specializes in bonds. A field for customer type has been added to the call profile. The incoming call follows these basic stages: 1 The call arrives at the IRN and is sent to a call control script. 2 The call control script uses the Get Digits action to collect the Customer ID number and record it to the call profile. 3 The call control script assesses the database in the following interaction: Connects to the CRM database using the SQLConnect action. Uses the Query Database action to identify this customer s data in the database. Uses the SQLExecute action to retrieve the customer type from the CRM database and write to the call profile. 4 The call control script uses the Decision action to check the Customer Type field and branch to the correct change profile action that sets the required service in the call profile. Self-Service Based on CRM Information You can use the data in your customer database to provide customers with self-serve options. The application can play back selected.wav files based on the customer status or convert text digits, currency, or dates into speech. The following example provides a balance to a self-service customer. In this scenario, a call arrives at a financial institution and the customer is given the option of checking his or her account balance. A field for customer balance has been added to the call profile. The incoming call follows these basic stages: 1 The call arrives at the IRN and is sent to a call control script. 2 The call control script uses the Get Digits action to collect the Customer ID number and records it to the call profile. 1 4 ShoreTel, Inc.

CRM Integration Using Call Control Scripts 3 The call control script accesses the database in the following interaction: Connects to the CRM database using the SQLConnect action. Uses the Query Database action to identify this customer s data in the database. Uses the SQLExecute action to retrieve the customer s account balance from the CRM database and write to the call profile. 4 The call control script uses the Announce action to play back the account balance to the caller. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 1 5

CRM Integration Using Call Control Scripts 1 6 ShoreTel, Inc.

C H A P T E R 2 Using Dial Lists for Outbound Calling Overview Enterprise Contact Center can automatically make outbound calls for agents based on lists of numbers. Calls made from the lists are placed by the system and transferred to an agent. Working in a mode called preview dialing, the outbound call is only placed after a free agent is identified to service the call. After the call is placed while it is proceeding through the network or ringing it is transferred to a configured destination, either the reserved agent or to a call control script. Since the call is transferred while ringing, ShoreTel recommends that calls only be transferred to an agent since the script will begin playing any prompts immediately and the recipient may not hear the first part of a script's prompt or message. Use the Outbound tab of the System configuration window to define various system parameters for handling outbound calls. Configuring the Dial Lists Dial lists are sets of telephone numbers that are used for outbound calls, according to rules defined in the system. The Dial Lists configuration window enables you to configure the system s rules for the dial lists. The Contact Center allows dialing from multiple dial lists at the same time. After the agent receives the call, they can mark the call complete (reached a person) or incomplete/try later from a button on Agent Toolbar. To prevent incorrect numbers from staying on the dial list, the agent marks the call incomplete/done. You must define a location in the database for storing the call results. You have the option of defining priority for the inbound calls versus the outbound dialing from a list. You can control the activation of the specific dial list according to: Simultaneous pending dial numbers in queue This is used to control the load of each dial list when the agents in the specific group related to the dial list campaign are also active in another group s activity (such as other dial-lists, inbound or callback calls). ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 2 1

Using Dial Lists for Outbound Calling Statistical TSF conditions The system will activate the dial list only if the TSF is equal to or higher than the percentage defined. Calls automatically dialed from the list can be passed to the agent after the party called answers, or while the call is in ringing mode. If the called is passed to the agent while in ring mode, then call status must be set manually by the agent (ring no answer, fax or answering machine). External Databases To use dial lists for outbound dialing campaigns, you must have the dial data in an ODBC/SQL database. Integrating to an external database require the following steps: Create the physical connection to the external database. Make sure you can ping between the computers and that they can communicate via the network. Install all needed infrastructure software (OBDC drivers and client side processes) and create the OBDC entries on the ShoreWare Contact Center Server. Plan which data items you would like to gather, define the conditions, and decide where to put them in the call control script. Define the Data Source Name (DSN) of the database to which you want to connect on the Interface tab of the System configuration window. Create the SQLConnect and SQLExecute scripts in Call Control Script Director. SQLConnect connects to a database in order to make database queries. SQLExecute sends a query (written as an SQL statement) to the database to obtain specific information, such as the priority of a caller. For example, the query may be able to find and retrieve the priority of the caller, enter the call profile, and update this value. Output Source The system can update the results of the outbound dialing to the external database. The database must be an ODBC/SQL database. The updates can be according to: Success Single failure (still under retries) Final failure To define various parameters for dial lists, use the Interfaces tab of the System configuration window. NOTE Dial lists should be in the form of a table in an SQL database. 2 2 ShoreTel, Inc.

C H A P T E R 3 Automating Agent Activities Overview The ShoreTel Contact Center Solution provides interfaces for client-based integrations with external applications. The information related to a call is kept in a table called the call profile. The call profile includes all data associated with the call, and is composed of mandatory fields (such as DNIS, ANI, Initiate Time, and Priority), and user fields (fields which can be defined and managed by the implements). The call profile originates when the call enters the ShoreTel system, is accessible and managed during the progress of the call, and is cleared at call completion. When a call is routed to an agent, Agent Toolbar uses call profile values to provide the appropriate notifications to the agent, and offers tools to deliver specific fields to external applications available at the agent station along with executable commands. For example, the system may send a command to display the caller s screen based on Caller ID (ANI). The ShoreTel Contact Center Solution supports standard interfaces for integration with external applications, including DDE, ActiveX, and basic Microsoft prompt commands (called triggers ). The ShoreWare Agent INI File Each agent in the ShoreTel Contact Center Solution has an INI file that includes the application setup definitions, and maintains the agent s personal setup information, along with other valuable data related to features and customization of the agent workstation. The file named ETAS.INI is formatted as a standard Windows INI file, and resides in the agent s personal folder XXXX, where XXXX is the agent ID. All agent personal folders are located on the shared directory named Agents. The INI file contains all information necessary for the setup of the agent station. It also includes information related to actions and data for integrating with external applications. The integration data appears in the DDE and Triggers paragraphs as shown in the following example: ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 1

Automating Agent Activities [TRIGGERS] OperateTriggers=1 [TRIG_OnIncoming] Command=MyApplication.exe %calling %DNIS %Service %callid [TRIG_OnConnected] Command=notepad.exe %service.txt [DDE] Server=CRM Topic=Events [DDE_OnStarted] Command=started [DDE_OnReStarted] Command=restarted [DDE_OnDenied] Command=denied %cause [DDE_OnStoped] Command=stopped [DDE_OnLoggedIn] Command=loggedin %group [DDE_OnLoggedOut] Command=loggedout %group [DDE_OnHeld] Command=held %callid [DDE_OnRetrieved] Command=retrieved %callid [DDE_OnIncoming] Command=incoming %callid, %Calltyp, %DNIS, %calling, %Service, %Priority, %TimeLn [DDE_OnConnected] Command=connected %callid, %Calltyp, %DNIS, %calling, %Service, %Priority, %TimeLn [DDE_OnConferenced] Command=conferenced %callid [DDE_OnReleased] Command=released [DDE_OnResumed] Command=resumed [DDE_OnWrapUp] Command=wrapup [DDE_OnReady] Command=ready [DDE_OnCleared] Command=cleared %callid For each integration type, there is a list of agent states and the related action (mainly commands) activated at that state. The available states are detailed later on the document. The command may include free text, parameters prefixed by the percentage (%) sign, and control codes. A parameter 3 2 ShoreTel, Inc.

Automating Agent Activities can be any call profile field name available in the ShoreWare Agent Toolbar Software, in either the mandatory or user fields. On state changes, the command related to that state is evaluated and all parameters and control codes are substituted by their appropriate values. The following table details the substitution rules: Parameter/Code Substitution Value %call_profile_field Call profile field value \\ \ (Backslash) \t TAB \b BACKSPACE \r CR \n Newline \f Formfeed \a Alert (Beep) \xhh Character HH (HH= hexadecimal value of character) Integrating Applications by DDE the DDE interface provided by the ShoreWare Agent Toolbar Software to external applications, usually CRM applications. Introduction The ShoreWare Agent DDE interface enables external applications to interact with the ShoreWare Agent Toolbar Software. The applications can get notifications from the ShoreWare Agent when some important event occurs, and can control some of the telephony and ACD functions supported by the ShoreWare Agent Toolbar Software. For example, an application working as a DDE server and as a DDE client can perform the following scenario from the application itself: 1 When a call is delivered to an agent and the phone rings, the ShoreWare Agent connects to the application (working as a DDE server) and invokes an EXECUTE command on the DDE protocol. 2 The application gets the information and the parameters from the ShoreWare Agent event. At this time, the application can perform its functions, such as displaying the customer screen, updating the database, and so on. 3 The application provides a button to the agent to answer the call. When the agent clicks the button, the application contacts the ShoreWare Agent Toolbar Software (now working as a DDE server) and invokes an EXECUTE command on the TEL topic requesting to answer the call. 4 The call is answered and the agent handles the call. 5 The application provides another button to the agent to end the call. When the agent clicks the button, the application contacts the ShoreWare Agent Toolbar Software (now working as a DDE server) and invokes an EXECUTE command on the TEL topic requesting to end the call. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 3

Automating Agent Activities The ShoreTel Contact Center Solution gathers information related to a call from the moment the call enters the system until it is concluded. All these information is stored in the call profile. The ShoreWare Agent Toolbar Software makes all the call profile information available to the external application. The ShoreWare Agent Toolbar Software works as a DDE client and DDE server simultaneously. First Invocation of the ShoreWare Agent Toolbar Software Any Windows application can start the ShoreWare Agent Toolbar Software using the following command line: EPICAgent.exe 0 AgentId AgentPwd Where: 0 = the number zero AgentId = the agent ID number of the agent AgentPwd = the agent s password Configuring the ShoreWare Agent Toolbar Software The ShoreWare Agent Toolbar Software was designed to provide maximum flexibility during integration. When the ShoreWare Agent Toolbar Software works as a DDE client, you may configure the following general parameters: 1 Server Name of the server application 2 Topic Topic to be used by the ShoreWare Agent Toolbar Software when executing a command on the external application. 3 Command Command and parameters to send to the application when a specific event occurs. This command is defined per event type. The configuration of the commands should be done at the time the system is installed. Typically, the person installing the ShoreTel Contact Center Solution performs this configuration. The ShoreWare Agent Toolbar Software as a DDE Client The ShoreWare Agent Toolbar Software can execute commands on an external application when the following events occur: 1 DDE_OnIncoming: When the call rings at the agent s station. 2 DDE_OnConnected: When the call is answered by the agent. 3 DDE_OnCleared: The call was terminated. 4 DDE_OnHeld: The current call was held. 5 DDE_OnRetrieved: The call was retrieved from hold. 6 DDE_OnStarted: ShoreWare Agent Toolbar Software starts to work. 7 DDE_OnRestarted: ShoreWare Agent Toolbar Software restarts. 8 DDE_OnDenied: ShoreWare Agent Toolbar Software cannot work. 3 4 ShoreTel, Inc.

Automating Agent Activities The command is a string that will be sent as is to the external application. To provide parameters, the % sign must precede the field name in the Call Profile. Example To indicate to a CRM application that a call has been delivered to the agent (and is ringing), you may use the following command: [DDE_OnIncomng] command=incoming from=%calling group=%acd_group When a call comes in from number 7410953 to the group called Sales, the following command will be sent to the external application: Topic=EPICAgent DDE_Command= DDE_EXECUTE Command= Incoming from=7410953 group=sales NOTE The following rules apply: 1 All the commands and parameters are not case sensitive. 2 If a parameter requested in the command has no value, a blank will be sent. 3 The structure of the commands and the events is defined for each installation. The person installing the ShoreWare Agent Toolbar Software performs the agent configuration. 4 The configuration file is called ETAS.INI and is stored on the ShoreTel Contact Center Server. DDE Commands Event Parameters Default Description DDE_OnIncoming Command Incoming %CallId, %Calling,%Service, %Group A call is ringing at the agent phone DDE_OnConnected Command Connected %CallId, %Calling,%Service, %Group DDE_OnCleared Command ConnCleared %CallId The agent answers the call The call terminates DDE_OnRelease Command Released Agent was released DDE_OnResume Command Resumed Agent was resumed DDE_OnWrapUp Command WrapUp Agent goes to wrap-up DDE_OnReady Command Ready Agent returns from wrap-up DDE_OnLogin Command LoggedIn Agent logged in DDE_OnLogout Command LoggedOut Agent logged out DDE_OnHeld Command Held %CallId, A call was held DDE_OnRetrieved Command Retrieved %CallId, A call was retrieved DDE_OnStarted None Started Agent Toolbar started ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 5

Automating Agent Activities DDE_OnRestarted None Restarted Agent Toolbar lost connection to the server, and now it is online again DDE_OnDenied Cause Denied %cause Agent Toolbar is unable to work Possible OnDenied Causes: Cause Name Description 1 LOGGED_ON_TO_ANOTHER_EXT Agent already logged in on another extension 2 NEW_AGENT_ON_EXT Another agent logged on current extension 3 WRONG_AGENT Wrong agent ID supplied 4 WRONG_PASSWORD Wrong password 5 MAX_NUM Maximum number of agents in system is exceeded 6 FAILED_TO_READ_FROM_DBS Internal error 7 STILL_INITIALIZING Agent Toolbar cannot start because the system is still initializing NOTE There can be more than one active call at the same time, therefore the values for the call ID are important. The ShoreWare Agent Toolbar Software as a DDE Server When working as a DDE server, the ShoreWare Agent Toolbar Software supports the following topics: 1 ACD For ACD-related functions 2 TEL For all telephony-related functions 3 REQUESTS The application can request information from the ShoreWare Agent Toolbar Software 4 OTHER Miscellaneous commands The ACD Topic The following commands are invoked using DDE_EXECUTE: Command name Parameters Description LoginPrimaryGroups None Logs in to all primary groups LogoutFromPrimaryG None Logs out from all primary groups roups LoginGroup Group name Logs in into a specific group LogoutFromGroup Group name Logs out from a specific group Release None Makes agent enter release state Resume None Makes agent enter resume state Wrapup Wrap-up code Enters wrap-up code AgentReady None Terminates wrap-up time 3 6 ShoreTel, Inc.

Automating Agent Activities Command name Parameters Description TransferToAgent Agent number Transfers call to specified agent Help None Help request from supervisor SetCallProfile Field name, new field value Sets call profile field value The following commands are supported using DDE_REQUEST: Command name Parameters Description CommandList None Gets a space delimited list of supported commands for the topic NOTE The following rules apply: 1 All the parameters are strings. 2 The commands and parameters are not case sensitive. The TEL Topic The following commands are invoked using DDE_EXECUTE: Command name Parameters Description Alternate None Exchanges between the call on hold and the active call Answer None Answers the call that is ringing HangUp None Terminates the current call ClearConnection Call ID Terminates the call with the selected Call ID Divert Destination dial number Diverts the call the desired destination before answering the call Hold None Puts the current call on hold Retrieve None Retrieves a call that was previously put on hold MakeCall Destination dial Makes an outgoing call number TransferCall Destination dial Starts the transfer process number CompleteTransfer None Removes the agent from the call completing the transfer Conference Destination dial Begins a conference call number CompleteConference None Complete the conference call SingleStepTransfer Destination dial number Transfers the current call to another telephone Reconnect None Returns the agent to the original call and terminates the consultation ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 7

Automating Agent Activities The following commands are supported using DDE_REQUEST: Command name Parameters Description CommandList None Gets a space delimited list of supported commands for the topic The REQUEST Topic The following commands are supported using DDE_REQUEST: Item name Parameters Returns (string) Description TopicItemList None GETS A SPACE DELIMITED LIST OF SUPPORTED ITEMS FOR THE TOPIC IsPhoneBusy None TRUE or FALSE TRUE if the phone is busy HeldCallsCo unt None Number of calls on hold Number of calls currently on hold () or 1 GetCpParam Field name Field value Retrieve the value of a specific call profile field IsRelease None TRUE or FALSE TRUE if the agent is in the release state IsLoggedIn Group Name TRUE or FALSE TRUE if the agent is logged in IsWrapUp None TRUE or FALSE TRUE if the agent is currently in wrap-up time The OTHER Topic The following commands are invoked using DDE_EXECUTE: Command Parameters Description name Terminate None Closes Agent Toolbar The following commands are supported using DDE_REQUEST: Command Parameters Description name CommandList None Gets a space delimited list of supported commands for the topic 3 8 ShoreTel, Inc.

Automating Agent Activities Integrating Applications by ActiveX This section provides a simple reference for integrating with the ShoreWare Agent Toolbar Software using the ActiveX control provided with the ShoreTel Contact Center Solution. It describes the interface of the control, the available methods, parameters, and additional information required to perform the integration. This guide assumes that the programmer is familiar with ActiveX specifications and use. The ShoreWare Agent Toolbar Software ActiveX control enables external applications to use the ShoreWare Agent Toolbar Software to perform telephony and ACD functionality. The applications can get events from the ShoreWare Agent Toolbar Software when some telephony, ACD, and management events occur, and can control the telephony, ACD, and management functions supported by ShoreWare Agent Toolbar Software. The following scenario details the process of an incoming call: 1 The moment a call is delivered to an agent and the phone rings, the ShoreWare Agent Toolbar Software initiates an OnIncoming event to the application. Standard parameters (Call ID, Call type, DNIS, ANI, Service, Priority, and Time the call got in) are supplied in the event. Some parameters can be missing. 2 The application can get more call parameters from the ShoreWare Agent Toolbar Software by getting properties (call profile fields). 3 At this time, the application can perform its functions, including displaying the customer screen, updating the database, and so on. 4 The application provides a button to the agent to answer the call. When the agent clicks the button, the application commands the ShoreWare Agent Toolbar Software (using the answer method) to answer the call. 5 The call is answered, the application gets an OnConnected event, and the agent handles the call. 6 The application provides another button to the agent to disconnect the call. When the agent clicks the button, the application commands ShoreWare Agent Toolbar Software to disconnect the call. The ShoreTel Contact Center Solution gathers information about a call from the moment the call enters the system until the call is disconnected. Those parameters are from the caller s input (in the IVR), read from the organization s database, or set in the process of handling the call. All these information is stored in the call profile. The ShoreWare Agent Toolbar Software makes all the call profile information available to the external application. The call profile fields are either fixed (for example, priority, required service, time the call entered the system, and so on), or user defined in the ShoreWare Contact Center Director Software. Both can be used to pass parameters that the ShoreTel Contact Center Solution can collect and share with the CRM application. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 9

Automating Agent Activities Configuring ShoreWare Agent Toolbar No configuration is required on ShoreWare Agent Toolbar Software side. All events are sent, all call profile information is sent on relevant events, and all commands are enabled. It is the responsibility of the CRM application to ignore what is not required. Managing ShoreWare Agent Toolbar The management includes starting the ShoreWare Agent Toolbar Software, as well as stopping and monitoring the connection state to the ShoreTel Contact Center Server. The application can start the ShoreWare Agent Toolbar Software using the following method: StartEa(AgentNumber AgentPwd) Where: AgentNumber: the agent's number AgentPwd: the agent's password. The application waits for a response event. There are two possible events: Event Description Started() The ShoreWare Agent Toolbar Software started and logged on Denied(Cause number) Log on was denied by the ShoreTel Contact Center Server. For list of causes of denial, see appendix A. The application can stop the ShoreWare Agent Toolbar Software using the following method: StopEa() No parameters are required. The Stopped() is the event indicating a successful action. Monitoring the connection state to the ShoreTel Contact Center Server uses the Connection lost and Restarted events. When Connection is lost (until a Restarted event is received), the ShoreWare Agent is Out of Service. No new calls are received, and all telephony and ACD methods are inoperative while ShoreWare Agent Toolbar Software is Out of Service. 3 10 ShoreTel, Inc.

Automating Agent Activities ShoreWare Agent Toolbar Events ShoreWare Agent Toolbar Software sends events to the external application when the following events occur: The TEL Events The following are telephony events: Command Parameters Description OnIncoming CallId, Calltyp, DNIS, ANI, Service, Priority, TimeIn A call is ringing at the agent phone OnConnected CallId, Calltyp, DNIS, ANI, The agent answers the call Service, Priority, TimeIn OnCleared CallId The call terminates OnHeld CallId A call was held OnRetrieved CallId A call was retrieved The ACD Events The following are ACD events: Command Parameters Description OnLogin GroupName Agent logged in OnLogout GroupName Agent logged out OnRelease Agent was released OnResume Agent was resumed OnWrapUp Agent goes to wrap-up OnReady Agent returns from wrap-up NOTE The following rules apply: 1 There can be more than one active call at the same time, therefore the values for the call ID are important. 2 Calltyp is always set to 0 (inbound voice call). ShoreWare Agent Toolbar Software Methods (Services) The ShoreWare Agent Toolbar Software supports the following commands: TEL for all telephony-related functions ACD for ACD-related functions ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 11

Automating Agent Activities The TEL Methods The following are telephony methods: Command name Parameters Description Answer None Answers the ringing call HangUp None Clears the current call MakeCall Destination dial number Makes an outgoing call ClearConnection Call ID Terminates the call with the selected Call ID Hold None Puts the current call on hold Retrieve None Retrieves a call that was previously put on hold Divert Destination dial number Diverts the call the desired destination before answering the call StartTransfer Destination dial number Starts the transfer process CompleteTransfer None Removes the agent from the call, completing the transfer SingleStepTransfer Destination dial number Transfers the current call to another telephone StartConference Destination dial number Begins a conference call CompleteConference None Complete a conference call Alternate None Exchanges between the call on hold and the active call Reconnect None Returns the agent to the original call and terminates the consultation The ACD Methods The following are ACD commands: Command name Parameters Description LoginPrimaryGroups None Logs in to all primary groups LogoutPrimary None Logs out from all primary groups Groups LoginGroup Group name Logs in to a specific group LogoutFromGroup Group name Logs out from a specific group ReleaseAgent None Makes agent unavailable ResumeAgent None Makes agent available WrapUpCode WrapUp code Enters wrap-up code ControlledWrapUp None Lets the agent continue in wrap-up mode until he or she is finished (otherwise a predetermined period is set by the administrator) AgentReady None Terminates the wrap-up time TransferToAgent Agent number Transfers call to specified agent Help None Help request from supervisor 3 12 ShoreTel, Inc.

Automating Agent Activities The Properties (Get Only) The following is the list of properties: Item name Parameters Returns Description ISPHONEBUSY None TRUE or FALSE (0 or 1 Long) TRUE if the phone is busy HeldCallsCount None Number of calls on hold (Long) Number of calls currently on hold User or skill CallProfile field Call Profile field name Field value (String) Retrieve the value of a specific call profile field IsRelease None TRUE or FALSE (0 or 1 Long) TRUE if the agent is in the release state IsLoggedIn Group name TRUE or FALSE (0 or 1 Long) IsWrapUp None TRUE or FALSE (0 or 1 Long) TRUE if the agent is currently in wrap-up state NOTE All strings are not case sensitive. Possible OnDenied Causes Cause Name Description 1 LOGGED_ON_TO_ANOTHER_EXT Agent already logged in on another extension 2 NEW_AGENT_ON_EXT Another agent logged on current extension 3 WRONG_AGENT Wrong agent ID supplied 4 MAX_NUM Maximum number of agents in system is exceeded 5 FAILED_TO_READ_FROM_DBS Internal error 6 STILL_INITIALIZING ShoreWare Agent Toolbar Software can t start because the system is still initializing Type of All Variables Name Type Comment AgentNumber String AgentPwd String Cause number Long CallId Long Calltyp Long DNIS String ANI String Service String Priority Long TimeIn String (HH:MM:SS) ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 13

Automating Agent Activities Name Type Comment GroupName String Destination Dial String number WrapUp code String Any User field String Fields can be defined in administration Any Skill field String Fields can be defined in administration All strings are VB strings / BSCR in C language, and are not case sensitive. Activating Applications by Triggers This chapter describes the interface, called triggers, provided by the ShoreWare Agent Toolbar Software to activate external applications available at the agent environment. Introduction The ShoreWare Agent Toolbar Software triggers interface enables the activation of external applications at events (mainly states) of the ShoreWare Agent Toolbar Software. When receiving an event (a state change or activity performed by the agent), the command line related to that event on the INI file is activated. Configuring the ShoreWare Agent Toolbar Software The configuration of the ShoreWare Agent Toolbar Software to activate triggers is done on the triggers area of the ETAS.INI file for the appropriate agent. Initially, the triggers area appears as follows: [TRIGGERS] OperateTriggers=1 To activate the triggers option, OperateTriggers should be set to 1. Activating an Application You can activate an application at a specific event by configuring the command for the appropriate event. For example, if you wanted to activate an application called MyApplication.exe at a call ringing on the agent station, and then pass the application several parameters related to the call, such as an ANI number, DNIS, and the called extension, you would set the following commands: [TRIG_OnIncoming] Command=MyApplication.exe %calling %DNIS %Service %called 3 14 ShoreTel, Inc.

Automating Agent Activities Activation Events ShoreWare Agent Toolbar Software can activate a command when the following events occur: TRIG_OnStarted TRIG_OnReStarted TRIG_OnDenied TRIG_OnStopped TRIG_OnLoggedIn TRIG_OnLoggedOut TRIG_OnHeld TRIG_OnRetrieved TRIG_OnIncoming TRIG_OnConnected TRIG_OnConferenced TRIG_OnReleased TRIG_OnResumed TRIG_OnWrapUp TRIG_OnReady TRIG_OnCleared Command Substitution The command line can include free text and call profile parameters (mandatory and user fields). For more information, see Chapter 1, CRM Integration Using Call Control Scripts. ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) 3 15

Automating Agent Activities 3 16 ShoreTel, Inc.

A P P E N D I X A Integration Examples The following examples show possible integrations of ShoreTel Contact Center Solution with external applications. Goldmine by DDE The following example displays the caller file on a Goldmine application once the phone rings at the agent workstation: [DDE] Server=GOLDMINE ActivateServer=TRUE Topic=DATA [DDE_OnIncoming] Command=[CallerID(%calling,"EpicAgent",1)] MSAccess by DDE The following example starts the MSAcess application, activating a database called MYDB when the ShoreWare Agent Toolbar Software starts. On each arriving call, it opens the caller s file: [DDE] Server=MsAccess Topic=System Database=D:\MYDB.mdb [DDE_OnIncoming] Command=[OpenForm cust,,, phone = %calling] [DDE_OnStarted] Command=[OpenDatabase D:\MYDB.mdb] ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) A 1

Integration Examples Web Application by Triggers The following is an example of activating a web application using the Triggers interface. The application is started in a new Internet Explorer window and shows all activities related to the calling customer. [TRIGGERS] OperateTriggers=1 [TRIG_OnIncoming] command=start c:\\program files\\internet explorer\\iexplore.exe http://www.company.com/homepages/cmainternalpage/ 1,1564,11,FF.html?EZRu n=1&personalid=%calling Vantive by DDE The following is an example of displaying the file for the calling customer on a Vantive application: [DDE] Server=Vantive Topic=System [DDE_OnIncoming] Command=maEaXIncoming X%calling External Application by ActiveX The following example is the implementation, in Visual Basic 6, of a console that enables the user to activate the controls of the ShoreWare Agent Toolbar Software. Events are received in the List window of the console, shown below. Code of VbController.exe Private Sub Button_Alternate_Click() EaX.Alternate Private Sub Button_Answer_Click() EaX.Answer Private Sub cclearconn_click() Private Sub Button_CompTrans_Click() EaX.CompleteTransfer Private Sub Button_Divert_Click() EaX.Divert Edit_Divert.Text Private Sub Button_Exit_Click() End Private Sub Button_GetCp_Click() Edit_CallProfileValue.Text = EaX.CallProfile(Edit_CallProfileName.Text) A 2 ShoreTel, Inc.

Integration Examples Private Sub Button_HangUp_Click() EaX.HangUp Private Sub Button_Hold_Click() EaX.Hold Private Sub Button_IsLoggedIn_Click() If EaX.IsLoggedIn(Edit_IsLogInGroupName.Text) = 1 Then Shape_IsLoggedIn.BackColor = &H80000003 Else Shape_IsLoggedIn.BackColor = &HFF& End If Private Sub Button_LogIn_Click() EaX.LoginGroup Edit_LogInGroupName.Text Private Sub Button_LoginPrim_Click() EaX.LoginPrimaryGroups Private Sub Button_LogOut_Click() EaX.LogoutFromGroup elogroup.text Private Sub Button_LogoutPrim_Click() EaX.LogOutFromPrimaryGroups Private Sub Button_MakeCall_Click() EaX.MakeCall Edit_MakeCallDestination.Text Private Sub Button_LogOff_Click() EaX.StopEa Private Sub Button_LogOn_Click() EaX.StartEa Edit_AgentId.Text, Edit_Password.Text Private Sub Button_CompConf_Click() EaX.CompleteConference Private Sub Button_Ready_Click() EaX.AgentReady Private Sub Button_Reconnect_Click() EaX.Reconnect Private Sub Button_Release_Click() EaX.ReleaseAgent Private Sub Button_Resume_Click() EaX.ResumeAgent ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) A 3

Integration Examples Private Sub Button_Retrive_Click() EaX.Retrieve Private Sub AddToLog(ByVal line As String) If List.ListCount > 20 Then List.Clear End If List.AddItem line Private Sub Button_SingleStepTransfer_Click() EaX.SingleStepTransfer Edit_SingleStepTransfer.Text Private Sub Button_StartConf_Click() EaX.StartConferrence Edit_Conferrence.Text Private Sub Button_StartTrans_Click() EaX.StartTransfer Edit_Transfer.Text Private Sub Button_TransferToAgent_Click() EaX.TransferToAgent Edit_TransferTyAgendId.Text Private Sub Button_Wrapup_Click() EaX.WpapUp Edit_WrapupCode.Text Private Sub EaX_OnCleared(ByVal callid As Long) AddToLog "Cleared: " + Str(callid) Private Sub EaX_OnConnected(ByVal callid As Long) AddToLog "Connected: " + Str(callid) Private Sub EaX_OnHeld(ByVal callid As Long) AddToLog "Held:" + Str(callid) Private Sub EaX_OnIncoming(ByVal callid As Long) AddToLog "Incoming: " + Str(callid) Private Sub EaX_OnLoggedIn(ByVal group As String) AddToLog "LoggedIn " + group Private Sub EaX_OnLoggedOut(ByVal group As String) AddToLog "LoggedOut " + group Private Sub EaX_OnReady() AddToLog "Ready " Private Sub EaX_OnReleased() AddToLog "Released" A 4 ShoreTel, Inc.

Integration Examples Private Sub EaX_OnResumed() AddToLog "Resumed" Private Sub EaX_OnRetrieved(ByVal callid As Long) AddToLog "Retrieved " + Str(callid) Private Sub EaX_OnWrapUp() AddToLog "WrapUp" Private Sub EaX_Started() AddToLog "Started" Private Sub EaX_Stopped() AddToLog "Stopped" Private Sub Form_Load() EaX.Init "Temp" The Control Panel ShoreTel Contact Center Solution CRM Integration Guide (CCCIG-4.32-01) A 5

Integration Examples A 6 ShoreTel, Inc.