The present invention relates to a contact center and more particularly, to a device, method, and system for monitoring communications or agents in a contact center.
Contact centers place and receive telephone calls, emails, textual chats, and other methods of communication (hereinafter collectively referred to as “communications”) to customers. Agents at the contact center handle the communications with the customer and guide the customer in obtaining information or providing the requested information. Customers may include current customers, previous customers, and individuals with information or with a desire to obtain additional information.
A growing number of businesses have begun using contact centers to handle interactions between customers. Companies typically use contact center services, for example, to manage outbound and inbound communications campaigns to potential customers for telemarketing or to existing customers for collections information or customer follow-up. At any particular time a contact center may be handling multiple campaigns for multiple businesses.
Contact centers may have a first group of agents assigned to one campaign and a second group of agents assigned to a second campaign. Agents assigned to a campaign may need access to specific knowledge to assist the agent in responding to customers' questions and requests. The agent may be provided with a Web browser to allow the agent to access the relevant information on the Web and/or private databases. The relevant information may be information associated with the customer, product, or service. The beneficial information may also be suggested scripts to assist the agent in responding to the customer during a telephone conversation.
Supervisors oversee the agents and aid agents in handling customer interactions. Supervisors are often responsible for multiple agents. In order to better assist agents, supervisors may need to have immediate access to the resources or information currently in use by the agent. Supervisors may also need to coach the agent on efficient use and access of relevant information. The information and resources used by the agent may be a variety of Web-based communications using Hyper Text Transfer Protocol (HTTP). Accordingly, a need exists for a device, method, and system that provides supervisors with access to information the agent is actively accessing in a Web-based communication. In addition the device, method, and system needs to be able to determine which Web-based communications are associated with a specific agent and customer communication session.
The present invention is a novel device, system, and method for monitoring communications or agents in a contact center. An exemplary embodiment, according to the present invention, initiates a request from a workstation. The request is communicated from the workstation to a server. A response to the request may be generated automatically by the server. One or more response objects may be automatically produced with a servlet container of the server in response to the request. The response object may be associated with request objects of the request. The request may be automatically parsed for one or more request objects to determine a routing destination and modify the response objects based on the routing destination with a filter portion of the servlet container. Rules of the filter portion may determine the routing destination and may modify the response objects. The modified response object may be used to route the response to the previously determined destination.
In an alternative embodiment, the exemplary method for routing a request in a contact center may also communicate rule modifications from a filter maintenance module to the filter portion. The rules of the filter portion may be modified by the rules sent from the filter maintenance module. The modified rules then may be used to route the requests.
It is important to note that the present invention is not intended to be limited to a system or method which must satisfy one or more of any stated objects or features of the invention. It is also important to note that the present invention is not limited to the exemplary embodiments described herein. Modifications and substitutions by one of ordinary skill in the art are considered to be within the scope of the present invention, which is not to be limited except by the following claims.
These and other features and advantages of the present invention will be better understood by reading the following detailed description, taken together with the drawings herein:
The agent workstation 104 may be a personal computer or other device for utilizing a Web browser to interface with internal databases and external databases as well as customers 106. The customer workstation 108 and the supervisor workstation 112 may also be personal computers or other devices for utilizing a Web browser to interface with the agent 102 via the server 114. The agent workstation 104, customer workstation 108, and supervisor workstation 112 may also include telephone sets or other communication devices for communicating with each other (not shown).
the agent 102 or the customer 106 initiates a communication session. The communication may be via a telephone communication session or a communication session via a Web application. During the course of a telephone communication session the agent 102 may use a Web application to gather information relevant to the telephone communication. This information may be information associated with the customer 106, product, or service relevant to the communication. The information may also be sample scripts to provide the agent 102 with answers or advice to provide to the customer 106. To initiate the sample script request, the agent 102 originates a request to the server 110.
The server 110 responds and routes the request. The server 110 of the system 100 may include a servlet container 116. The servlet container 116 may have a minimum specification of a 2.3 Servlet Specification. The Tomcat 4.x server is an example of a server 110 having an acceptable specification servlet container 112. The Tomcat 4.x server is available through Apache Software Foundation. The servlet container 116 provides a runtime environment in which Web applications run, as well as the tools necessary to deploy the Web applications.
The server 114 also has at least one filter interface or portion 118. For illustration purposes the filter portion 118 of the system 100, as shown in
The server 114 may route the request to the appropriate destination to service the request. The appropriate destination may be a local database or a database connected through an outside network 120. A response is generated and sent to the agent 102 in reaction to the agent's request. The response provides the agent 102 with the requested information or directs the Web application of the agent 102 to the requested information. The agent 102 may then view the relevant information on a display of the agent workstation 104. The agent 102 may then decide pertinent information and relay the information to the customer 106 during the agent's telephone dialogue with the customer 106.
The communication session between the agent 102 and customer 106 may also be via a Web application. The agent 102 or the customer 106 may at any time originate a request to the server 114 to initiate a HyperText Markup Language (HTML) communication session. In use, the agent 102 may make the request to the server 114 via the agent workstation 104. The server 110 communicates the request to the servlet container 112. In tandem with receiving the request, the servlet container 116 of the server 114 may create request objects, a response and response objects. The request objects and response objects represent the HTML transaction between the customer 106 and the agent 102. The request object contains all pertinent information about the request and the response object contains information about the response. For example, but not limited to, the request objects and response objects may include the IP address, destination address, request path, request context, etc. of the customer. The servlet container 116 passes the request object to the filter portion 118 and then to the agent's workstation 106 as part of the response. It is important to note that neither the request objects nor response objects are sent to the customer. Below is a table of an example request and response for a potential catalog customer.
The request objects associated with the above request include “Aaron Buyer”, “Undefined”, “1051005”, “Undefined” and “customer”. The request objects are the values that are added to the HTTP request. Similarly, the response objects associated with the above response include “Aaron Buyer”, “Susan Supervisor”, “1051005”, “Joe Agent” and “customer”.
The response objects are the values that are added to the HTTP response. The request objects and response objects are not limited to the above example. The request objects and response objects may be a variety of values. The transactions come in from the agent via an agent application, for example, a Web browser that is communicating using the HTTP protocol. The request is placed into the server 114 or servlet container 116, which in turn has a filter portion 118 set up to preprocess the request. The filter portion 118 is set to identify the predefined request objects. The filter portion 118 examines the request to determine if a request object is associated with a supervisor.
If a request object is associated with a designated supervisor, the response to the request may be produced and sent to the designated supervisor based on the request object via a servlet running in the servlet container 116. The servlet can deliver and distribute the response in a variety of manners. For example, an application on the supervisor's workstation 112 may poll the servlet 116. In another example the servlet 116 may place the response in a queue, which is then interrogated by an application of the supervisor's workstation designated by the request.
In addition to identifying requests and responses to be monitored, the servlet container 116 may indicate and mark requests and responses to monitor. The servlet container 116 creates unique tokens for both the requests and the responses. The unique token is a string identifier that is used to keep HTML transactions separate from each other. The unique token may also be the presence of a string. In the above example request and response, the unique token may be any of the request objects or response objects.
The filter portion 18 may include a plurality of filters that are operatively connected in series or in a chain. In
A first exemplary method of the invention, shown in
Referring to
The second exemplary embodiment 400, shown in the flow chart illustrated in
The exemplary embodiments described herein may be associated with the processor and memory associated with the server of the contact center or a host computer for each campaign. In addition, the aspects described in the exemplary embodiments may also be implemented in a variety of digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The exemplary embodiments described herein can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, a communications processing apparatus, e.g., a processing device, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled, assembled, or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
The present invention is not intended to be limited to a system, device, or method which must satisfy one or more of any stated or implied object or feature of the invention and is not limited to the exemplary embodiments described herein. Modifications and substitutions by one of ordinary skill in the art are considered to be within the scope of the present invention.