Cisco Agent Desktop

Cisco Agent Desktop: Methods for Integrating Third-Party Enterprise Applications

  • Viewing Options

  • PDF (486.3 KB)
  • Feedback

Tech Note


Improving agent productivity and customer satisfaction are primary goals of contact center management. Getting the right information to the right agents at the right time plays a significant role in improving agent performance and increasing customer satisfaction.
One best practice for enhancing contact center performance is to integrate data from automatic call distributor (ACD) systems, interactive voice response (IVR) systems, third-party enterprise applications (i.e. customer relationship management (CRM) and help desk), and telephony systems into a common desktop application for use in screen pops, task automation, and outbound preview dialing. Integration provides context, saves talk time, eliminates keystrokes, and improves the customer experience. Repetitive tasks such as opening call logs, sending e-mail forms, and activating application features can be automated, increasing agent productivity and reducing errors.
The conventional understanding is that a basic screen pop can save a company 15 seconds in an average transaction. That time alone can significantly affect contact center performance. Expanding productivity applications to include task automation, IVR integration, and outbound transactions further enhances the business case for the automated, integrated desktop.
With Cisco Agent Desktop, enterprises can integrate telephony data with data processing applications without modifying the existing applications. To deliver this compelling benefit, Cisco Agent Desktop uses workflows-powerful tools that automate agent activities. Voice contact workflows automate agent activity based on telephony and ACD events such as ringing, answered calls, dropped calls, and call wrap-up codes. The goals of Cisco Agent Desktop workflow automation are to:

• Integrate customer contacts with an enterprise's software applications without the need to modify the application source code

• Provide a way for customers to configure the operation of the contact center agent and supervisor desktops to match their business needs

• Automate both mundane and complex tasks for contact center employees

• Allow contact center operations staff to specify workflow rules without relying on IT staff

Different workflows can be created for specific workgroups, providing role-specific applications for better productivity. The advantage of Cisco Agent Desktop is that the software is packaged and configurable-no programming is required. This reduces the overall lifecycle cost for the solution-from deployment to ongoing administration of modifications and enhancements.
Workflows follow an event -> rule -> action behavior paradigm that is straightforward, yet the results are powerful. An event is a contact center activity that corresponds to a real-world state transition, such as the ringing of the phone at an agent's position, a change in an agent's ACD state, or time of day. For each event, sets of rules are evaluated to determine what actions to perform based on the rules for that event. A set of actions is defined for each set of rules, and this action set defines the integration of the telephony data with the desktop application and the execution of that desktop application. Figure 1 shows an example of workflow.

Figure 1. High-level Workflow Example:

Workflows can integrate third-party applications as actions in four ways:

• Web Integration Action-Uses standard HTTP methods for integration; HTTP methods have become increasingly important as many corporate applications migrate to Web-based interfaces.

• Interprocess Communication (IPC) Action-Provides methods for applications to communicate and coordinate their execution by passing information embedded in User Datagram Protocol (UDP) messages; Cisco Agent Desktop and enterprise applications may be on the same computer or distributed.

• Keystroke Macro Action-Provides basic integration by automating the steps for repeatable, recurring actions between Cisco Agent Desktop and Windows rich client applications.

• Launch External Application Action-Allows Cisco Agent Desktop to start another desktop application and pass data to it.

The process for integrating the Cisco Agent Desktop with third-party applications is consistent across all types of integration. Using a Cisco Desktop Administrator Voice Contact Work Flow (Figure 2 shows the Voice Contact Work Flow screen), an administrator implements Cisco Agent Desktop application integration by "Add"ing workflow "Actions (of current Rule)" and choosing integration actions in the Select Action window (See Figure 3).
After an administrator defines "Events" and "Rules (of current Event)" they can then "Add" an action that can be used in new workflow definitions. Actions can be triggered by a voice event (receipt of a call with a specific automatic number identifier [ANI], for example) or a change in agent state (a change in the ACD state or time of day). Rules may be defined that apply to that event, such as, whether the incoming phone number (ANI) is provided or an account number has the correct number of digits.
Workflows are shared among agents assigned to a common workflow group. Multiple workflow groups can be defined within a contact center, with each workflow group assigned common workflows. For example, the sales department can have different workflows than the customer service department. This assignment of workflows helps ensure that each team has the right tools to do its job effectively.
The choice of integration method depends on the characteristics of the application and the desired outcome.

Figure 2. Cisco Desktop Administrator Voice Contact Work Flow Setup Screen

Figure 3. Cisco Agent Desktop Select Action Window

This document discusses Cisco Agent Desktop software suite third-party enterprise application integration techniques that can be used with the following Cisco products:

• Cisco Unified Contact Center Enterprise Version 7.1

• Cisco Unified Contact Center Hosted Version 7.1

• Cisco Unified Contact Center Express Versions 4.0 and 4.5 (except for IPC integration actions)


Cisco Agent Desktop Web Integration Action links to Web-based applications such as or to products with Web-based interface options such as Siebel, PeopleSoft or SAP. Contact centers can also use Web integration to link to other Cisco applications, such as Web View or Cisco Unified MeetingPlace software. Web integration can be triggered by voice call events or changes in the agent state or time of day. Figure 4 shows the flow of a Web integration action.

Figure 4. Web Integration Action Example

Web Integration Actions employ HTTP POST or GET methods to implement the integration. The choice depends on the Web server implementation. In general, GET is used to retrieve information that will not be changed, and POST is used to retrieve information that will be changed.
Web integration allows an agent to use call-based data to interact with the Web or a Web application in the Cisco Agent Desktop integrated browser window. For example, a Web Integration Action can be set up so that data associated with an incoming call, such as an account number collected by IVR, can be used to retrieve a customer record and display it in the integrated browser window in Cisco Agent Desktop or pass upon disconnect into a specific browser window or pane.
To create a Web Integration Action, the administrator needs the parameters that the third-party Web application uses. If the application uses GET method to search for a page, for example, the administrator determines the search Uniform Resource Locator (URL) by performing the search process manually to generate the search URL string. The administrator can then decompile the URL and enter the string in the HTTP Action Setup screen.
Figure 5 shows the HTTP Action setup screen used to build a URL that will be executed in the integrated browser. To complete the dialog box, the administrator needs to specify the following:

• Protocol-Specifies whether a secure or non-secure Web protocol is used

• Method-Defines the HTTP action (POST or GET) used to send data to the server

• Host-Specifies the name of the Web host

• Port-Specifies the port used to talk to the server (most setups default to 80)

• Path-Defines the specific page to go to

• Request Data-Defines the specific data to be passed to the server

Figure 5. HTTP Action Setup Screen

Cisco Agent Desktop Web Integration Action is easy to implement and update, uses standard HTTP integration methods, and can use any telephony data and regular text input. These features allow an enterprise to integrate Cisco Agent Desktop with any browser-based application, use work already done by the Web development group, reuse completed actions, and automatically distribute the initial release and any subsequent updates.

Cisco Agent Desktop Web Integration Action Example

A large regional bank is using Cisco Agent Desktop to pass information collected on a Nortel/Periphonics IVR application to contact center agents. Agents use a customer-created Web portal to access all client data. The Cisco ICM application passes the account number, premier account flag, IVR disposition, and verification flag to Cisco Agent Desktop. Using a Web Integration Action, the Cisco Agent Desktop workflow passes this data to the customer's Web portal as a screen pop in the integrated browser window in Cisco Agent Desktop. This integration project, combined with routing improvements, has significantly decreased call handling time and overall wait time in the contact center.


Launch External Application Actions start a third-party application in a new window. The application launch can be implemented based on voice call events or changes in the agent state or time of day. Launch External Application Actions can be combined with macros to complete standard tasks. For example, to help ensure that applications are running before macros attempt to use them, applications can be started by Launch External Application Actions assigned to the startup event. Launch of a third-party application can be associated with a
button, reducing agent keystrokes. Agents can also use this button to launch WordPad or some other tool for recording notes or, at the end of a call, to launch an e-mail application, using macros to complete standard sections of the e-mail message (the e-mail address, the subject, etc.).
Launch External Application Actions can also be used with custom applications. For example, an enterprise can have technical personnel create a custom Microsoft Visual Basic application to integrate with its business applications. Cisco Agent Desktop can launch this application and pass parameters to it, allowing users to work with the business applications and letting Cisco Agent Desktop handle all the telephony data.
Before configuring an action to launch an external application, the administrator must identify the path to the .exe file. Typically, the .exe file is on a network drive that is accessible by all agents.
For example, an external application action can launch an application when an agent logs into Cisco Agent Desktop. Data collected by ANI or IVR can be sent to the application using command-line parameters, and a screen pop with the business application customer information can be displayed for the agent.
Such an action can be set up by using a simple, menu-directed dialog box (Figure 6) and following these steps:

1. In the Cisco Desktop Administrator Workflow setup screen, select the event that will trigger the action.

2. Select any rules that apply to this workflow.

3. From the Select Action screen, select Launch External Application.

4. In the Launch External Application Action setup screen, select the application and path of the application to be launched.

5. Add any available arguments to pass to the application, such as "open application xxx and then open file yyy."

Figure 6. Launch External Application Action Setup Screen

Launch External Application Actions are easy to create. The action can be predicated on an event (a voice call or a change in the agent state or time of day), or it can be associated with a desktop button, creating a quick way to access the application. It can also be combined with macros to further control the launched application to increase agent productivity and reduce the time required when working with a customer.

Cisco Agent Desktop External Application Launch Action Example

A large life insurance company uses an external application launch action for both inbound and outbound integration of Cisco Agent Desktop with the FrontRange Solutions GoldMine CRM application. For the inbound integration, Cisco Agent Desktop passes the ANI calling number to a customer-written script executed through workflow. The customer script passes the ANI data back to Cisco Agent Desktop to display the screen pop. The outbound integration is similar. The Cisco ICM application passes the account number to the agent's desktop, which launches a record search within GoldMine. This integration has reduced call duration by an average of 30 seconds and improved the overall productivity of blended inbound and outbound agents.


Cisco Agent Desktop IPC Integration Action uses IPC actions to pass information in the form of UDP messages from the agent desktop to a custom application. The application can be located on the agent's PC or anywhere on the network.
Cisco Agent Desktop 7.1 can send and receive IPC integration actions. Supported receive actions include tasks to start a supervisor chat session and make a call. Figure 7 shows the flow of an IPC integration action.

Figure 7. IPC Integration Action Example

Cisco Agent Desktop IPC Integration Action requires programming by the enterprise's IT group or a systems integrator because the application must listen for data sent to a specific IP address and port.
An administrator implements the IPC Integration Action by creating the action when creating a workgroup workflow. The action can be activated by a voice call or a change in the agent state. (Note: unlike other actions, activation based on time of day is not supported.) The administrator needs to know the IP address and port number of the application that will be integrated with Cisco Agent Desktop.
Creating an IPC action is a straightforward process. On the IP Action Setup screen (Figure 8), the administrator:

• Enters an action name

• Identifies the protocol (currently the default and only protocol is UDP)

• Enters the IP address of the third-party application that will receive the data

• Enters the number of the port on which the third-party application is listening for data

• Enters the appropriate values for the action

Figure 8. IPC Action Setup Screen

IPC Integration Actions are powerful, flexible tools for integrating third-party enterprise applications with Cisco Agent Desktop. IPC Integration Actions provide tight integration and are good options when technical personnel are available to add UDP socket handlers to the third-party application. Action setup within Cisco Agent Desktop is straightforward and requires no programming.
IPC Integration Action is not currently available for Cisco Unified Contact Center Express offerings.

Cisco Agent Desktop IPC Integration Action Example

The contact center of a retail organization uses two internally developed agent desktops, both written using Visual Basic. For inbound dialing, ICM passes ANI, dialed number identification service (DNIS), call type, account number, and several other data fields to Cisco Agent Desktop. The Cisco Agent Desktop IPC workflow creates a UDP socket to pass this data to the customer agent desktop application, displaying screen pops based on call type that list the customer data. The contact center also uses the IPC workflow to accurately pass customer and prospect call data to the company's data warehouse for CRM metrics.
Agents also use a click-to-call capability in their Visual Basic application for outbound dialing. An outbound UDP socket session passes the phone number the agent selected to Cisco Agent Desktop, which makes the outbound call.


Cisco Agent Desktop Keystroke Macro Actions simplify agents' tasks and improve their productivity by automating repeatable activities. A keystroke macro records all the keystrokes required to complete a repetitive task. At the click of a button, a specified voice contact event, or a specified change in agent state, Cisco Agent Desktop can automatically launch the keystroke macro action. Any application that can be controlled through the keyboard (that is, not using the mouse) can be controlled using a keystroke macro. Figure 9 shows the flow of a keystroke macro action.

Figure 9. Keystroke Macro Action Example

The administrator creates the macros, which are loaded on the agent desktop when Cisco Agent Desktop starts. Macros record the keystrokes for tasks so that the user needs only to run the macro and not enter each keystroke, providing consistency and saving time. Any task that can be accomplished with keystrokes can be accomplished with macros. In application integration, macros can be used to eliminate repetitive tasks such as opening and accessing specific parts of an application.
Keystroke macros can be used for tasks such as the following:

• Launching WordPad or some other tool for recording notes at the end of a call

• Launching an e-mail application at the end of a call and completing standard sections of the e-mail message (the e-mail address, the subject, etc.).

Macros can also be very sophisticated. For example, a macro could perform the following sequence of tasks for each incoming call:

1. Copy the ANI from Cisco Agent Desktop to Microsoft Outlook.

2. Open a contact list.

3. Find the ANI in a database or spreadsheet.

4. Display a screen containing the caller's account information.

Before creating a macro, the administrator must carefully document the keystrokes required to complete the action to help ensure that the steps are consistently repeatable.
Keystroke macros are created as part of the workgroup workflow setup process. As with all the other methods, the administrator is guided through a step-by-step process to complete the action. The primary steps to implement keystroke macro application integration are as follows:

1. Start the application you want to record macros from.

2. Configure the new event and rules (Figure 2).

3. Add an "Action" and select "Run Macro" tab and "New" button (Figure 3) and enter the macro action name.

4. Click "record" button and begin recording (Figure 10).

Figure 10. Cisco Desktop Administrator Macro Screen

5. Select desktop application with mouse and using key strokes only, carefully navigate and type the key strokes exactly as you would if you were executing the action.

6. If necessary during the recording process, suspend recording (by pressing the configured macro hot key, F2 by default) to enter data in Cisco Agent Desktop fields.

7. After you have completed recording, click "Stop" button to end recording. You are returned to the macro editor window. Figure 11 shows an example macro for Microsoft Word screen pop that would paste agent, team and call data into a document. From here, you can accept, test, or cancel the macro.

Figure 11. Cisco Desktop Administrator Completed Macro Screen

The Keystroke Macro Action provides a powerful yet simple method for setting up screen pops, workflow, or call wrap-up automation. They can be quickly modified and extended, allowing the administrator to customize them and maintain multiple versions of the integration.

Cisco Agent Desktop Keystroke Macro Example

A state government agency uses a Cisco Agent Desktop keystroke macro action in conjunction with a sales tax IVR application to provide service to the public. The IVR application passes the caller's tax ID number, along with other caller status information, to Cisco Agent Desktop. This information is passed to an IBM System Network Architecture (SNA) mainframe and then, using keystroke macros, to 3270 agent terminal applications. This integration has reduced the number of questions asked by agents, thereby improving agent efficiency and decreasing talk time.


Out of the box, Cisco Agent Desktop provides four methods that administrators can use to integrate Cisco Agent Desktop with third-party enterprise applications. Table 1 summarizes the integration methods and actions.

Table 1. Enterprise Application Integration Methods

Workflow Action

Application Integration

Target Application Location

Modify Target Application?

Keystroke Macro Action

Integration with Windows desktop applications that provide keystroke access to all GUI controls, including rich client applications and terminal emulation

Agent's PC


Web Integration Action

Integration with applications accessible through the Web browser

Web server


Launch External
Application Action

Integration with Windows desktop applications

Agent's PC


IPC Integration Action

Tight integration to allow data exchange and coordination of the agent desktop application with the third-party application

Agent's PC or server

Yes, during general
application processing

All four of these methods provide easy-to-implement application integration. Administrators can implement integration on a workgroup basis without making programming changes to the Cisco Agent Desktop source code. New actions are automatically loaded on the agent's desktop when Cisco Agent Desktop is started, simplifying system administration.
Application integration increases agent productivity by eliminating keystrokes and reducing agent time on calls and call wrap-up activities. The improved agent responsiveness improves customer satisfaction-the primary metric that all call centers want to achieve.