Good customer service is one of the critical components of a successful business these days. Many interactions with customers happen over the phone when they are making calls to the company's call center and, since it's rather expensive to keep a big number of agents in the call center, customers have to spend their time in a queue listening to some music and waiting for an answer.
Fortunately, there is a solution to this problem – queue with a callback function. IVR tells the customer that he can press some key (for example, # or *) to hang up the call, but stay in the queue. After the customer's position in the queue is reached, the system connects the agent with the customer by calling the customer's number.
It's rather an expensive module for Enterprise call center solutions, but with Voximplant any developer can implement this type of queue in a few minutes.
You need to read our "How to build a call queue" article before reading this tutorial, since we will rely on some terms, code and entities described in the post.
First of all, sessions that use ACD module can exists without active calls during 2 hours. Let's modify our scenario from the "Using ACD module for call queuing" post to enable callback function:
This scenario processes inbound calls, but sometimes developers would like to put a call in a queue from a callback form. It can be done using StartScenarios HTTP API request and additional code in the scenario:
It's also possible to make requests to the session using media_session_access_url and get queue position updates to display it to the customer.