Customers nowadays tend to be less and less patient when calling in to get answers to their questions or problems. This leads to higher abandon rates during peak hours or times where fewer agents are online. Offering alternatives to waiting on hold for the next available agent will not only improve customer satisfaction but also lead to better SLAs and a better customer interaction for the agent. Let's face it, who doesn't dread taking the call that's been waiting in a queue listening to the same music looping for 30 minutes.
One such alternative is to offer an option for a callback. With this option, a caller can enter the number at which they want to be called and leave a short message which would take their place in the queue, allowing them to hang up and go about their business. Once an agent is available, they'll hear the message left by the customer and the system will call back the number left by the customer.
To gain the best benefits, it is also best offered immediately when entering the queue when specific criteria are met, such as the Estimated Wait Time (EWT) above a certain threshold or a mix of queue position and number of agents present.
In UCCX, the base concept for callback (or voicemail in queue as Cisco calls it) is to have the leading call center application takes the callback information (phone number and the customer's recording) and place a new call to a second call center application which does the actual queueing while the customer is away. It is important to pass along between these two scripts, via session data, any customer information that may have already been collected. For example, if the caller had previously entered an account number and the script had fetched any relevant data in the CRM. This will ensure the agent has the full picture once receiving the callback request and avoid having to ask the customer for details they've already provided.
Another point to take into consideration is the position in the queue. From the point of view of the system, the call placed between the applications is a new one so that the callback would be placed at the back of the queue. This may be desired, as it would give priority to callers remaining on the phone. In some cases, however, you may want to preserve the caller's original position. This depends on how the queues are set. If the callback requests are sent to the same queue as the caller was in, a simple formula can be used to process the call in the correct order. Once the callback's position in the queue reaches the delta between the caller's position when they opted for callback and that callback's starting position, the priority can be bumped up so that it gets handled by the next agent.