Method and system for providing agent training

A method for providing training to agents of an automatic call distribution center includes determining whether an agent is idle and, in response to determining that the agent is idle, initiating playback of a recorded training call to the agent. Additionally, the method includes receiving an incoming call from a caller for connection with one of a plurality of agents. Also, the method includes terminating playback of the recorded training call and connecting the agent to the incoming call.

TECHNICAL FIELD OF THE INVENTION

This invention relates in general to communication systems and, more particularly, to a method and system for providing training to agents answering calls in an automatic call distribution system.

BACKGROUND OF THE INVENTION

Automatic call distributors (ACDs) and other contact or call centers typically include specialized systems designed to match incoming requests for service, for example a telephone call or an e-mail, with a resource that is able to provide that service, for example a human call center agent. ACDs generally perform one or more of the following functions: (i) recognize and answer incoming calls; (ii) review database(s) for instructions on what to do with a particular call; (iii) using these instructions, identify an appropriate agent and queue the call, often times providing a prerecorded message; and (iv) connect the call to an agent as soon as the agent is available.

Some ACDs maintain queues that store calls while the calls are waiting to be connected with an agent. Furthermore, some systems dynamically move agents between queues, connecting these agents to calls in the queue. To achieve this functionality certain systems continuously calculate the service level (SL) for each queue. If they find that a certain queue is able to meet its target service level agreement (SLA) while another queue is falling behind, the system automatically moves agents from the queue that meets the SL to the queue that is falling behind.

In general, calls may be distributed among available agents in any appropriate manner to facilitate expedient handling of the calls. During busy times, calls may be stored in a queue until an agent becomes available to handle the call. During slow times, however, agents may wait idly until a caller calls into the ACD system. As a result, operation of the system may be inefficient, with agents wasting time when no callers are requesting service.

Additionally, in many types of ACDs, supervisors may monitor and/or record calls between callers and agents, either at the supervisor's discretion or at the request of the agent. Given enough storage, all calls can be recorded for post-call evaluation. Monitoring raises additional issues, however, particularly where the supervisor intends to monitor the call in real-time. Supervisors may be forced to monitor calls indiscriminately which may be unnecessarily time-consuming. Supervisors may also have access to call statistics to help them decide which calls to monitor and/or record, but using these statistics to determine when monitoring is appropriate may similarly require time expenditure that may prevent the supervisor from completing other tasks.

SUMMARY OF THE INVENTION

The present invention provides a method and system for transferring a call at an automatic call distribution system that substantially eliminates or reduces at least some of the disadvantages and problems associated with previous methods and systems.

In accordance with a particular embodiment of the present invention, a method for providing training to agents of an automatic call distribution center includes determining whether an agent is idle. The method also includes initiating playback of a recorded training call to the agent, in response to determining that the agent is idle. Additionally, the method includes receiving an incoming call from a caller for connection with one of a plurality of agents. The method further includes terminating playback of the recorded training call and connecting the agent to the incoming call.

In accordance with another embodiment, a method for providing training to agents of an automatic call distribution center includes determining whether any of a plurality of agents is idle and, in response to determining that one or more of the plurality of agents is idle, initiating playback of a recorded training call to one or more of the idle agents. Additionally, the method includes receiving an incoming call from a caller and, in response to receiving the incoming call, selecting an agent from the plurality of agents based on whether the selected agent is currently being played a recorded training call. The method also includes connecting the selected agent to the incoming call.

Technical advantages of particular embodiments of the present invention include methods and systems for processing a call at an automatic call distributor that reduces idle time for agents by providing agents training during idle times. Particular embodiments may also incorporate techniques for distributing calls in a manner that reduces interruptions to training and for logging training histories of agents. These techniques may result in more efficient use of time and resources.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1illustrates a communication system30that includes a plurality of endpoints32a-32dhaving the ability to establish communication sessions between each other and/or automatic call distributors (ACDs)34a-34d, using one or more of communication networks36a-36c. ACDs34a-34dare specialized communication systems designed to route incoming calls to available agents, so that calls are properly and/or evenly distributed. For the purposes of this specification, “automatic call distributor” or “ACD” shall refer to any combination of hardware, software and/or embedded logic which is operable to automatically distribute incoming calls. “Calls” shall include requests for service transmitted using any audio and/or video means, including signals, data or messages transmitted through voice devices, text chat, web sessions, facsimile, instant messaging and e-mail. ACDs may include outsourced call centers or other contact centers that receive incoming customer calls for distribution to agents and that place calls from agents to customers.

In particular embodiments, after connecting an incoming call to an agent, an ACD34may initiate a monitoring and/or recording session based on call metrics associated with the call. This may allow a supervisor to monitor or review the relevant agent's performance in handling the call. Additionally, in particular embodiments, ACD34may be able to connect idle agents to recordings of model calls to further the agent's training. This may allow the agent to make better use of free time between calls. As a result, ACDs34may provide features that facilitate improved agent performance. These features are described in greater detail below.

In the illustrated embodiment, communication network36ais a local area network (LAN) that enables communication between a plurality of endpoints32a-32dand ACDs34a-34ddistributed across multiple cities and geographic regions. In another embodiment, a single, central ACD may be used, which distributes incoming calls to agents distributed across multiple cities and geographic regions. Communication network36bis a public switched telephone network (PSTN) and couples endpoint32band ACD34cwith communication network36athrough gateway38. Communication network36cis another LAN, which couples endpoints32cand32dand ACD34dwith communication network36a. Accordingly, users of endpoints32a-32dand automatic call distributors34a-34dcan establish communication sessions between and among each network component coupled for communication with one or more of networks36a-36c. Communication links37aand37bcouple communication networks36aand36b, and communication networks36aand36c, respectively. In the illustrated embodiment, communication link37bis a wide area network (WAN), which couples LANs36aand36c. A call admission control (CAC) system45may be used to monitor and police the bandwidth available over WAN37b.

Communication network36aincludes a plurality of segments40and nodes41that couple endpoint32awith ACDs34aand34b, gateway38, and communication networks36b-36c. Therefore, a user of endpoint32ais provided with access to endpoints32b-32dand automatic call distributors34a-34d. Nodes41may include any combination of network components, gatekeepers, call managers, conference bridges, routers, hubs, switches, gateways, endpoints, or other hardware, software, or embedded logic implementing any number of communication protocols that allow for the exchange of packets in communication system30.

Although the illustrated embodiment includes three communication networks36a-36c, the term “communication network” should be interpreted as generally defining any network capable of transmitting audio and/or video telecommunication signals, data, and/or messages, including signals, data or messages transmitted through text chat, instant messaging and e-mail. Any one of networks36a-36cmay be implemented as a local area network (LAN), wide area network (WAN), global distributed network such as the Internet, Intranet, Extranet, or any other form of wireless or wireline communication network. Generally, network36aprovides for the communication of packets, cells, frames, or other portions of information (generally referred to as packets herein) between endpoints32a-32d. Communication network36amay include any number and combination of segments40, nodes41, endpoints32a-32d, and/or ACDs34a-34d.

In a particular embodiment, communication network36aemploys voice communication protocols that allow for the addressing or identification of endpoints, nodes, and/or ACDs coupled to communication network36a. For example, using Internet protocol (IP), each of the components coupled together by communication network36ain communication system30may be identified in information directed using IP addresses. In this manner, network36amay support any form and/or combination of point-to-point, multicast, unicast, or other techniques for exchanging media packets among components in communication system30. Any network components capable of exchanging audio, video, or other data using frames or packet, are included within the scope of the present invention.

Network36amay be directly coupled to other IP networks including, but not limited to, another LAN or the Internet. Since IP networks share a common method of transmitting data, telecommunication signals may be transmitted between telephony devices located on different, but interconnected, IP networks. In addition to being coupled to other IP networks, communication network36amay also be coupled to non-IP telecommunication networks through the use of interfaces or components, for example gateway38. In the illustrated embodiment, communication network36ais coupled with PSTN36bthrough gateway38. PSTN36bincludes switching stations, central offices, mobile telephone switching offices, pager switching offices, remote terminals, and other related telecommunications equipment that are located throughout the world. IP networks transmit data (including voice and video data) by placing the data in packets and sending each packet individually to the selected destination, along one or more communication paths. Unlike a circuit-switched network (like PSTN36b), a dedicated circuit is not required for the duration of a call or fax transmission over IP networks.

Technology that allows telecommunications to be transmitted over an IP network may comprise Voice over IP (VoIP), or simply Voice over Packet (VoP). In the illustrated embodiment, endpoint32d, ACDs34a-34b, and gateway38are IP telephony devices capable of participating in IM, video, and other multimedia communication sessions. IP telephony devices have the ability of encapsulating a user's voice (or other input) into IP packets so that the voice can be transmitted over network36a. IP telephony devices may include telephones, fax machines, computers running telephony software, nodes, gateways, wired or wireless devices, hand held PDA, or any other device capable of performing telephony functions over an IP network.

In particular embodiments, communication system30may receive and transmit data in a session initiation protocol (SIP) environment. SIP is an application-layer control protocol that includes primitives for establishing, modifying and terminating communication sessions. SIP works independently of underlying transport protocols and without dependency on the type of session that is being established. SIP also transparently supports name mapping and redirection services, which support personal mobility.

It will be recognized by those of ordinary skill in the art that endpoints32a-32d, ACDs34a-34dand/or gateway38may be any combination of hardware, software, and/or encoded logic that provides communication services to a user. For example, endpoints32a-32dmay include a telephone, a computer running telephony software, a video monitor, a camera, an IP phone, a cell phone or any other communication hardware, software and/or encoded logic that supports the communication of packets of media (or frames) using communication network36a. Endpoints32a-32dmay also include unattended or automated systems, gateways, other intermediate components or other devices that can establish media sessions. AlthoughFIG. 1illustrates a particular number and configuration of endpoints, ACDs, segments, nodes, and gateways, communication system30contemplates any number or arrangement of such components for communicating media.

FIG. 2illustrates ACD34ain more detail, in accordance with a particular embodiment of the present invention. In the illustrated embodiment, ACD34aincludes a call manager42, an interface or input ports44, a processor46, a monitoring module48, a training module54, a memory module52, a recording module50, queues56and a distributor58. Interface or input ports44couple ACD34awith communication network36a.

Processor46may be a microprocessor, controller, or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic. Memory module52may be any form of volatile or non-volatile memory including, without limitation, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component. In the illustrated embodiment, memory module52includes call metrics68, call recordings70, training profiles76, model call recordings72, and model call metrics74.

Call manager42maintains information on agents48and other users of system30and facilitates communication among users. Call manager42may include any suitable combination of hardware, software, and/or encoded logic and is used by ACD34ato manage agents48and other users of system30. In particular embodiments, call manager42may maintain a listing, table, or other organization of information about agents48and other users of system30. The information may include a name or other identifier for each agent48and other user. The information may also include contact information such as phone numbers and email addresses for the agents48and users. For identifying agents48a-48dthat may be contacted or otherwise recruited to handle incoming calls received by the ACD34a, call manager42may also include information identifying whether a user of system30is a call agent or performs other tasks within the organization. In particular embodiments call manager42may represent any appropriate combination hardware, software and/or encoded logic distributed throughout a communication network coupled with the ACD.

Recording module50records calls between agents48and callers of ACD34a, such as caller60, and generates call recordings70that are stored in memory module52. Training module54facilitates training of agents48by playing previously recorded calls, such as those captured by call recordings70, to agents48through endpoints49. Monitoring module48monitors call metrics68and, when appropriate, connects supervisor90to ongoing calls to facilitate monitoring of these calls by supervisor90. Distributor58connects incoming calls with appropriate agents48or, if appropriate, stores calls in queues54to wait for an available agent48. Each of recording module50, training module54, and distributor58may represent any suitable combination of hardware, software, and/or encoded logic located within ACD34aor distributed throughout communication network30. In particular embodiments, recording module50, training module54, and distributor58represent, at least in part, software applications running on processor46.

Additionally,FIG. 2illustrates a plurality of agents48and a caller60associated with ACD34a. Agents48use associated endpoints49to communicate with callers to ACD34a, such as caller60, and caller60uses endpoint62to communicate with agents48associated with ACD34a. Endpoints49and62may be similar to one or more of the endpoints32described above with respect toFIG. 1, such as IP phone endpoint32d. Endpoints49and62may be coupled to ACD34athrough one or more communication networks, such as communication networks described above with respect toFIG. 1which may include one or more WANs or LANs as indicated above. AlthoughFIG. 2shows an embodiment of ACD34aconfigured to operate with a particular number of agents48and a single caller60, alternative embodiments of ACD34amay be configured to operate with any suitable number of agents48and callers60.

Also shown inFIG. 2is a supervisor90capable of listening in on a call between a caller60and an agent48, reviewing metrics associated with the call, and/or monitoring the call in any other suitable manner based on the configuration of ACD34and the type of call in question. In particular embodiments, supervisor90may represent a manager or other appropriate supervisory party responsible for overseeing performance of one or more agents48. In particular embodiments, communication system30may include an endpoint92that allows supervisor90to monitor calls being handled by one or more agents48and/or interact with agents48and caller60. AlthoughFIG. 2illustrates one supervisor90, ACDs of particular embodiments may utilize any suitable number of supervisors.

In operation, particular embodiments may be configured to facilitate supervisor monitoring. For example, when an incoming call is received by ACD34a, distributor58may determine if a suitable agent48is available to receive the incoming call. If a suitable agent is available to receive the incoming call, distributor58distributes the call to that agent for handling. For example, distributor58may connect a voice or video call with an available agent capable of handling calls of that type. If a suitable agent is not available, the call may be placed into a queue56in order to wait for an appropriate agent. In this embodiment, ACD34ahas two queues56; however other embodiments of the present invention may have none, one or more than two queues56. The selection of which queue56to place an incoming call may depend on the type of customer making the call, the type of service requested in the call or any other characteristic or condition relating to the call or to ACD34a. While a caller60is waiting for an agent, ACD34amay perform one or more of several functions including data collection from caller60, playing of pre-recorded messages, or other automated processes. As soon as a suitable agent48becomes available, distributor58distributes the call to the appropriate agent48, assumed here for purposes of illustration, to be agent48a.

As part of distributing the call to a particular agent, ACD34ainitiates a call connection between agent48aand caller60. Once the call connection is initiated agent48amay begin interacting with caller60. Agent48amay provide caller60information, answer questions for caller60, place an order for caller60, and/or assist caller60in any suitable manner appropriate in conjunction with the services offered by ACD34a. Additionally, in particular embodiments, recording module50may be configured to record all calls handled by that ACD34a, and recording module50may, as a result, automatically begin recording the call when the call connection is initiated between agent48aand caller60. Moreover, in recording the call, recording module50may generate call recording70in memory module52.

While agent48aand caller60are interacting monitoring module48monitors call metrics68associated with the call. These metrics may represent, specify, or describe any appropriate characteristic, criteria, or property of the call and/or any associated outcome of the call. Examples of call metrics68include, but are not limited to, the amount of time elapsed since caller60was connected to agent48a, the total amount of time elapsed since caller60initially contacted ACD34a, whether caller60has requested to speak with a manager or supervisor of agent48a, whether agent48ahas attempted to transfer the call to another agent48, and whether a particular transaction associated with the call, such as a sale or order, is completed. Monitoring module48may also, in particular embodiments, record call metrics68in memory module52for subsequent review by supervisor90or another appropriate party.

At an appropriate point during the interaction between caller60and agent48a, monitoring module48may determine, based on call metrics68, that supervisor monitoring is appropriate. Monitoring module48may determine that supervisor monitoring is appropriate by comparing call metrics68to call metrics stored in memory module52, by comparing call metrics68to current averages for all agents48associated with ACD34a, or in any other suitable manner. For example, in particular embodiments, ACD34astores model call metrics74that are associated with a call that had desirable characteristics or outcome. If monitoring module48determines that call metrics68associated with the ongoing call between caller60and agent48adiffer from model call metrics74by a predetermined amount, monitoring module48may initiate supervisor monitoring.

In response to deciding to initiate supervisor monitoring, monitoring module48may identify an available supervisor90. Monitoring module48may then connect the supervisor90to the ongoing call in an appropriate manner based on the configuration and capabilities of ACD34a. For example, monitoring module48may connect supervisor90to the ongoing call so that supervisor90may interact with either or both of agent48aand caller60. Alternatively, monitoring module48may connect supervisor90in a manner such that supervisor90may only monitor the audio, video, or textual interaction between agent48aand caller60, call metrics68, or any other suitable aspect of the call. For example, in particular embodiments, monitoring module48may connect supervisor90to the call in a manner that allows supervisor90to listen to the ongoing call but does not allow supervisor90to speak to either party.

If monitoring module48decides to initiate supervisor monitoring but no supervisor is currently available, monitoring module48may initiate recording of the call by recording module50. Alternatively, in embodiments of ACD34in which all calls are recorded, recording module50may mark call recording70for the ongoing call to indicate that the call was selected for supervisor monitoring and/or take other appropriate steps to ensure that that call recording70is preserved and/or subsequently reviewed. Once the call is completed, call recording70generated by recording module50may be reviewed by supervisor90and/or agent48a. As a result, call recording70may be used as a training tool to allow supervisor90to identify and agent48ato correct the call-handling techniques that caused monitoring module48to begin supervisor monitoring. As one example, supervisor90may later review with agent48aa particular call recording70that exceeded a desired call length and explain to agent48aways in which agent48amay complete such calls more quickly in the future.

Instead of or, in addition to, initiating recording of the ongoing call, monitoring module48may also store the call in supervisory queue66to wait for an available supervisor. In such embodiments, monitoring module48may monitor the availability of all supervisors90associated with ACD34a. When one of these supervisors90becomes available monitoring module48may connect the available supervisor90to the call at the front of the supervisor queue66, as described above.

Thus, monitoring module48may provide an efficient manner for identifying calls that should be monitored by supervisors90and connecting these calls to supervisors90as supervisors90come available. Consequently, particular embodiments may free supervisors90from the responsibility of determining which calls to monitor and allow supervisors90to focus on supervising the appropriate calls and/or completing other tasks. Additionally, because monitoring module48, in particular embodiments may initiate recording of a particular call only in response to determining that no supervisor90is available, storage space within memory module52and processing resources of ACD34amay be conserved. In this regard, particular embodiments may provide multiple operational benefits.

In addition to or instead of providing the described supervisor monitoring features, particular embodiments may be configured to facilitate training of agents48when agents48are not responding to calls. In particular embodiments, training module54may be configured to determine whether a particular agent48is available for training and, if so, initiate playback model call recordings72to agents48. For the purposes of this description and the claims that follow, ACD34amay “initiate playback” by transmitting audio, video, and/or text data associated with model call recordings72in an appropriate form (for example, as a plurality of VoIP packets) to endpoints49, transmitting audio signals to another component of communication system30(such as a speaker or a video monitor) associated with agent48, and/or taking any other appropriate steps to initiate playback of model call recordings72in any manner appropriate based on the configuration and capabilities of ACD34.

Moreover, ACD34amay be capable of determining whether an agent48is available in any suitable manner. In particular embodiments, ACD34amay use processor46to monitor conditions of ACD34a, such as the number, type or characteristics of calls in queues54or the “state” of each agent48. In some embodiments, such monitoring may be performed in conjunction with a presence server or other component providing presence detection and functionality. Agents48may be placed in various states, such as a “ready-and-requesting-training” state, a “ready-and-undergoing-training” state, a “ready-requesting-training” state, a “not ready” state, or a “talking” state, according to their current status with respect to ACD34a. For example, an agent48in a ready state may be ready and able to accept an incoming call distributed by ACD34a, but not currently receiving nor requesting training. Moreover, an agent48in a ready-requesting-training state is currently ready and requesting training, while an agent48in a ready-undergoing-training state is ready and currently receiving training, for example, by listening to a recorded training call. Conversely, an agent48in a not ready state may be away from his desk or otherwise unavailable for accepting an incoming call or training, and an agent48in a talking state may be communicating on a previously established ACD-related or customer-related call.

Model call recordings72comprise recordings of portions or the entirety of calls that have been selected to illustrate correct or incorrect techniques for interacting with callers60. For example, in particular embodiments, recording module50may record all calls received by ACD34a, and training module54may be capable of selecting one or more model call recordings72for playback from a plurality of call recordings70based on call metrics68associated with the relevant call recordings70. As one example, training module54may be capable of identifying all calls that lasted less than a predetermined maximum time and playing one or more of these calls to agents48. Consequently, in such embodiments, model call recordings72may represent a subset of call recordings70generated during operation of ACD34a.

In some embodiments, supervisor90or another appropriate party may manually select model call recordings72from the call recordings70created by recording module50or may store model call recordings72in memory module52that represent recordings of scripted phone calls demonstrating proper or incorrect techniques for agents48to handle calls. In general, however, model call recordings72may be selected and/or created in any suitable manner. After completing playback of a model call recording72to a particular agent48, training module54may being playback of another model call recording72or return that agent48to an idle state based on the number of calls currently in queues56, the training history of that agent48, and/or any other appropriate considerations.

Furthermore, training module54may determine whether an agent48is available for training in any suitable manner. As one example, training module54may detect whether a particular agent48is currently engaged in a call. If the relevant agent48is not currently engaged in a call, training module54may determine that the relevant agent48is available to receive training. As another example, in some embodiments, training module may be capable of detecting whether the relevant agent48has requested training, for example, by activating a particular input of the endpoint49associated with that agent48. In such embodiments, training module54may determine that the relevant agent48is available to receive training if that agent48is not currently engaged in a call and has also requested training.

After initiating training for a particular agent48, for example agent48b, training module54may, as appropriate, interrupt playback of a model call recording72to allow agent48bto respond to incoming calls from callers. For example, in particular embodiments, training module54may be configured to interrupt playback of model call recordings72to agent48bwhenever ACD34areceives a new incoming call and training module54determines that all agents48other than agent48bare already engaged in calls with callers60such that the new incoming call should be distributed to agent48b. In alternative embodiments, training module54may determine based on predetermined criteria whether to interrupt playback to agent48bor to place the call in one of queues56and continue playback of model call recordings72to agent48b. As one example, training module54may determine based on an estimated wait time for calls in either or both of queues56whether to interrupt playback of model call recording72and distribute the incoming call to agent48bor to place the incoming call in a queue56and continue playback. As another example, an operating entity of ACD34amay be obligated to satisfy a service level goal of a service level agreement (SLA). The service level goal may specify a maximum time callers60will wait before speaking with an agent48or a satisfactory value or range for any other suitable criteria for measuring the performance of ACD34. If ACD34ais currently answering incoming calls in a manner that satisfies this SLA, ACD34amay place the incoming call in a queue56, and training module54may continue playback to agent48b. If, instead, the ACD34ais not currently answering calls in a manner that satisfies the SLA, ACD34amay route the incoming call to agent48b, and training module54may terminate playback to agent48b. Particular embodiments may implement various methods for distributing calls and initiating or terminating playback based on service level goals.

Additionally, training module54may maintain a training profile76for one or more agents48that documents the training of that agent48. As one example, if multiple model call recordings72are stored in memory module52, training module54may document in training profile76which model call recordings72the associated agent48has heard. Training module54may then select a model call recording72for a particular agent48based on which model call recordings72that agent has already heard. Moreover, in particular embodiments, training module54may select model call recordings72based on the various lengths of the model call recordings72that the agent48has yet to hear and on an estimated idle time for that agent48. For example, training module54may estimate based on the contents of queues56and average traffic levels of ACD34athe amount of time until agent48will need to answer an incoming call. Training module54may then select, from among the model recorded calls that the relevant agent48has not yet heard, a model call recording72that has a playing time less then the estimated idle time for that agent48.

As another example, when training module54interrupts playback of a particular model call recording72to a particular agent48to allow that agent48to answer an incoming call or for any other reason, training module54may indicate in training profile76the point in model call recording72at which training module54terminated playback. Training module54may then resume playback of that same model call recording72at the indicated point in the model recorded call. In general, however, training module54may store any appropriate information associated with the training of agents48in training profiles76.

Thus, particular embodiments may provide for automated training of agents48. As a result, an ACD may reduce idle time for agents48without requiring supervisor90to continually monitor the current availability of agents48. Additionally, particular embodiments may be configured to limit interruptions to this training thereby increasing the effectiveness of such training sessions. Moreover, training module54may document the progress of training for particular agents48thereby allowing training module54to personalize training for these agents48and providing a useful record of the progress of these agents48that may be used, for example, as a basis for distributing promotions or other incentives to agents48.

It will be recognized by those of ordinary skill in the art that ACD34ais merely one example configuration of an ACD for providing the described call-recording and training functionalities, in accordance with particular embodiments of the present invention. ACD34amay include any number of interfaces, call managers, processors, memory modules, distributors, queues and other modules to accomplish the functionality and features described herein. For example, although ACD34ais illustrated and described as including call manager42, interface44, processor46, monitoring module48, recording module50, training module54, memory module52, two queues56, distributor58, these components and other desired components for performing the above described functionality may be centrally located (local) with respect to one another, or distributed throughout communication system30.

FIG. 3is a flowchart illustrating a method for providing training to agents48of an ACD34, in accordance with a particular embodiment. The method begins at step100with ACD34determining whether a particular agent is idle. If the relevant agent48is not idle, for example if the agent is currently helping a caller60, operation returns to step100to wait until that agent becomes idle.

If ACD34determines, at step100, that agent48is currently idle, ACD34then determines whether agent48has requested training, at step110. If agent48has not requested training, operation returns to step100, in the described embodiment. Thus, ACD34, in this embodiment, only checks once to see if the agent48has requested training once each time agent48becomes idle. In alternative embodiments, however, ACD34may continue to check to see if agent48has requested training until ACD34determines that agent48is no longer idle. Additionally, althoughFIG. 3illustrates a method for providing training in which ACD34provides training to agent48only if agent48has requested training, in particular embodiments, ACD34may instead decide whether to provide training to agent48without considering whether agent48has requested training and, as a result, ACD34may not make any determination of whether agent48has requested training.

If ACD34determines that agent48has requested training, ACD34selects a particular model call recording72to playback to agent48at step120. ACD34may select a particular model call recording72based on a training profile associated with agent48, a playback time associated with the selected model call recording72, a type of model call recording72requested by agent48, and/or any other appropriate information. At step130, ACD34initiates playback of the selected model call recording72. At step140, ACD34determines whether ACD34has received an incoming call from caller60. If ACD34, has not received an incoming call from caller60, ACD34continues playback of the selected model call recording72.

If ACD34, has received an incoming call from caller60, ACD34determines, at step150, whether an agent other than agent48is available to accept the call. If ACD34determines that another agent48is available, ACD34continues playback of model call recording72at step140. If another agent48is not currently available, ACD34may terminate playback of the selected model call recording at step150. In the illustrated embodiment, ACD34may also store information indicating the point within the selected model call recording72where ACD34terminated playback at step160. ACD34may then connect the incoming call to agent48at step160.

At step170, ACD34determines whether agent48has finished handling the incoming call. If agent48has finished handling the incoming call, ACD34resumes playback of the selected model call recording72. In particular embodiments, ACD34may access a training profile76associated with agent48to determine a location within the selected model call recording72at which ACD34terminated playback and may resume playback starting from this location. Operation of ACD34then continues at step190.

At step190, ACD34completes playback of the selected model call recording72. ACD34then stores information indicating that agent48has completed playback of the selected model call recording72in a training profile76associated with agent48at step200. ACD34may then terminate training of agent48as shown inFIG. 3. Alternatively, in particular embodiments, operation of ACD34may return to step100and ACD34may determine whether agent48is available for additional training.

AlthoughFIG. 3illustrates steps executed by a particular embodiment of ACD34in a particular order, alternative embodiments of ACD34may perform all, some, or none of these steps and may do so in any appropriate order. Moreover, any two or more of the steps illustrated inFIG. 3may be combined, modified or deleted where appropriate, and additional steps may also be added to the flowchart.

As indicated above, technical advantages of particular embodiments of ACD34include methods and systems for providing training to agents communicating with callers to an ACD34. The techniques supported by particular embodiments of ACD34may optimize use of idle time by agents48. Additionally, particular embodiments of ACD34may incorporate functionality to limit or reduce the disruptiveness of incoming calls received while ACD is providing training to a particular agent48. The described training may, in particular embodiments, improve agent performance, increased the likelihood of reduce customer wait-time, and in general result in more effective operation of ACDs and their associated agents. Additionally, particular embodiments of ACD34may provide improved methods and systems for supervising performance of agents associated with ACD34.

Although the present invention has been described in detail with reference to particular embodiments, it should be understood that various other changes, substitutions, and alterations may be made hereto without departing from the spirit and scope of the present invention. For example, although the present invention has been described with reference to a number of elements included within communication system30and ACD34a, these elements may be combined, rearranged or positioned in order to accommodate particular routing architectures or needs. In addition, any of these elements may be provided as separate external components to communication system30, ACD34aor each other where appropriate. The present invention contemplates great flexibility in the arrangement of these elements as well as their internal components. Numerous other changes, substitutions, variations, alterations and modifications may be ascertained by those skilled in the art and it is intended that the present invention encompass all such changes, substitutions, variations, alterations and modifications as falling within the spirit and scope of the appended claims.