Queue
Overview
Call queueing allows calls to be placed on hold without handling the actual inquiries or transferring callers to the desired party. While in the call queue, the caller is played pre-recorded music or messages. Call queues are often used in call centers when there are not enough staff to handle a large number of calls. Call center operators generally receive information about the number of callers in the call queue and the duration of the waiting time. This allows them to respond flexibly to peak demand by deploying extra call center staff.
With the VoIPBIN’s queueing feature, businesses and call centers can effectively manage inbound calls, provide a smooth waiting experience for callers, and ensure that calls are efficiently distributed to available agents, improving overall customer service and call center performance.
The purpose of call queueing
Call queueing is intended to prevent callers from being turned away in the case of insufficient staff capacity. The purpose of the pre-recorded music or messages is to shorten the subjective waiting time. At the same time, call queues can be used for advertising products or services. As soon as the call can be dealt with, the caller is automatically transferred from the call queue to the member of staff responsible. If customer or contract data has to be requested in several stages, multiple downstream call queues can be used.
Flow Execution
A call placed in the queue will progress through the queue’s waiting actions, continuing through pre-defined steps until an available agent is located. These waiting actions may involve playing pre-recorded music, messages, or custom actions, enhancing the caller’s experience while awaiting assistance in the queue.
Agent searching
While the call is in the queue, the queue will be searching for available agents to handle the call. Each valid queue has tags associated with it. The queue will search for agents with the same tags as the valid status.
The agent status, such as available, unavailable, or busy, will be taken into account when searching for available agents. Once an available agent is found, the call will be routed to that agent for further handling, and the waiting actions will cease. This process ensures that calls are efficiently handled by available agents in the call center. The agent searching mechanism enhances call center productivity and customer satisfaction by reducing wait times and optimizing resource allocation.
Queue
Queue
Queue struct
{
"id": "<string>",
"name": "<string>",
"detail": "<string>",
"routing_method": "<string>",
"tag_ids": [
"<string>",
...
],
"wait_actions": [
{
action...
}
],
"wait_timeout": <number>,
"service_timeout": <number>,
"wait_queue_call_ids": [
"<string>",
...
],
"service_queue_call_ids": [
"<string>",
...
],
"total_incoming_count": <number>,
"total_serviced_count": <number>,
"total_abandoned_count": <number>,
"total_waittime": <number>,
"total_service_duration": <number>,
"tm_create": "<string>",
"tm_update": "<string>",
"tm_delete": "<string>",
}
id: Queue’s ID.
name: Queue’s name.
detail: Queue’s detail description.
routing_method: Define the queue’s call routing method. See detail here.
tag_ids: List of tags.
wait_actions: List of actions for waiting calls.
wait_timeout: Timeout for waiting(ms). If it sets to 0, no timeout.
service_timeout: Timeout for service(talk with agent. ms). If it sets to 0, no timeout.
wait_queue_call_ids: List of waiting call ids.
service_queue_call_ids: List of service call ids.
total_incoming_count: Number of joined calls.
total_serviced_count: Number of serviced calls.
total_abandoned_count: Number of abandoned calls.
total_waittime: Sum of all call’s waitting time(ms).
total_service_duration: Sum of all call’s service time(ms).
Routing Method
Define the queue’s queued call routing method to the agent if the number of available agent is more than 2.
Type |
Description |
---|---|
random |
Pick the agent randomly. |
Queuecall
Queuecall
Queuecall struct
{
"id": "<string>",
"reference_type": "<string>",
"reference_id": "<string>",
"status": "<string>",
"service_agent_id": "<string>",
"tm_create": "<string>",
"tm_service": "<string>",
"tm_update": "<string>",
"tm_delete": "<string>"
}
id: Queuecall’s ID.
reference_type: Referenced resource’s type. See detail here.
status: Queuecall’s status. See detail here.
service_agent_id: Connected agent_id.
Example
{
"id": "c7c1e226-8c86-4b43-9606-2d5bb2059a09",
"reference_type": "call",
"reference_id": "1fe1356f-3f7f-4ff9-9d33-08136b38f506",
"status": "done",
"service_agent_id": "eb1ac5c0-ff63-47e2-bcdb-5da9c336eb4b",
"tm_create": "2022-03-29 15:07:46.111715",
"tm_service": "2022-03-29 15:08:04.811442",
"tm_update": "2022-03-29 15:08:25.814885",
"tm_delete": "2022-03-29 15:08:25.814885"
}
Reference type
Referenced resource’s type.
Type |
Description |
---|---|
call |
Call reference resource |
Status
Queuecall’s status.
Type |
Description |
---|---|
wait |
Queue is looking for an available agent and the queuecall is looping the waiting actions. |
kicking |
A queuecall is being kicked. |
service |
A queuecall is talking with agent. |
done |
A queuecall is done. |
abandoned |
A queuecall has abandoned before connect to the agent. |
Tutorial
Create a new queue
Create a new queue
$ curl --location --request POST 'https://api.voipbin.net/v1.0/queues?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b21lciI6IntcImlkXCI6XCI1ZTRhMDY4MC04MDRlLTExZWMtODQ3Ny0yZmVhNTk2OGQ4NWJcIixcInVzZXJuYW1lXCI6XCJhZG1pblwiLFwibmFtZVwiOlwiYWRtaW5cIixcImRldGFpbFwiOlwiYWRtaW4gYWNjb3VudFwiLFwid2ViaG9va19tZXRob2RcIjpcIlBPU1RcIixcIndlYmhvb2tfdXJpXCI6XCJodHRwczovL2VuN2V2YWp3aG1xYnQueC5waXBlZHJlYW0ubmV0XCIsXCJwZXJtaXNzaW9uX2lkc1wiOltcIjAzNzk2ZTE0LTdjYjQtMTFlYy05ZGJhLWU3MjAyM2VmZDFjNlwiXSxcInRtX2NyZWF0ZVwiOlwiMjAyMi0wMi0wMSAwMDowMDowMC4wMDAwMDBcIixcInRtX3VwZGF0ZVwiOlwiMjAyMi0wMi0wMiAxODowNToxMC42NTA1MjVcIixcInRtX2RlbGV0ZVwiOlwiOTk5OS0wMS0wMSAwMDowMDowMC4wMDAwMDBcIn0iLCJleHAiOjE2NDY4NzQwMzl9.LoPJ9Vv6GFAItYQ1AVV4lrEoOVtJaFOQx-tkauUR1-g' \
--header 'Content-Type: application/json' \
--header 'Cookie: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b21lciI6IntcImlkXCI6XCI1ZTRhMDY4MC04MDRlLTExZWMtODQ3Ny0yZmVhNTk2OGQ4NWJcIixcInVzZXJuYW1lXCI6XCJhZG1pblwiLFwibmFtZVwiOlwiYWRtaW5cIixcImRldGFpbFwiOlwiYWRtaW4gYWNjb3VudFwiLFwid2ViaG9va19tZXRob2RcIjpcIlBPU1RcIixcIndlYmhvb2tfdXJpXCI6XCJodHRwczovL2VuN2V2YWp3aG1xYnQueC5waXBlZHJlYW0ubmV0XCIsXCJwZXJtaXNzaW9uX2lkc1wiOltcIjAzNzk2ZTE0LTdjYjQtMTFlYy05ZGJhLWU3MjAyM2VmZDFjNlwiXSxcInRtX2NyZWF0ZVwiOlwiMjAyMi0wMi0wMSAwMDowMDowMC4wMDAwMDBcIixcInRtX3VwZGF0ZVwiOlwiMjAyMi0wMi0wMiAxODowNToxMC42NTA1MjVcIixcInRtX2RlbGV0ZVwiOlwiOTk5OS0wMS0wMSAwMDowMDowMC4wMDAwMDBcIn0iLCJleHAiOjE2NDY4NzQwMzl9.LoPJ9Vv6GFAItYQ1AVV4lrEoOVtJaFOQx-tkauUR1-g' \
--data-raw '{
"name": "test queue",
"detail": "test queue detail",
"routing_method": "random",
"tag_ids": [
"d7450dda-21e0-4611-b09a-8d771c50a5e6"
],
"wait_actions": [
{
"type": "talk",
"option": {
"text": "All of the agents are busy. Thank you for your waiting.",
"gender": "female",
"language": "en-US"
}
},
{
"type": "sleep",
"option": {
"duration": 10000
}
}
],
"timeout_wait": 100000,
"timeout_service": 10000000
}'
Get list of queues
Gets the list of created queues.
$ curl --location --request GET 'https://api.voipbin.net/v1.0/queues?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
{
"result": [
{
"id": "99bf739a-932f-433c-b1bf-103d33d7e9bb",
"name": "test queue",
"detail": "test queue detail",
"routing_method": "random",
"tag_ids": [
"d7450dda-21e0-4611-b09a-8d771c50a5e6"
],
"wait_actions": [
{
"id": "00000000-0000-0000-0000-000000000000",
"next_id": "00000000-0000-0000-0000-000000000000",
"type": "talk",
"option": {
"text": "Hello. This is test queue. Please wait.",
"gender": "female",
"language": "en-US"
}
}
],
"wait_timeout": 100000,
"service_timeout": 10000000,
"wait_queue_call_ids": [
"2eb40044-2e5e-4dae-b41e-61968e4febf9",
"b0aa4639-fea3-4727-8b86-44667d8f4c27",
"ec590f5b-6de5-477b-905b-1833dde213a0",
"003e8242-a0ed-4d55-9e4f-59c317c023ad",
"467fdfc2-fa2b-40f6-82cf-18dcb4c952c3",
"2973648e-5989-4f75-9bda-b356d7a470dc"
],
"service_queue_call_ids": [],
"total_incoming_count": 76,
"total_serviced_count": 70,
"total_abandoned_count": 21,
"total_waittime": 338789,
"total_service_duration": 4050690,
"tm_create": "2021-12-24 06:33:10.556226",
"tm_update": "2022-02-20 05:30:31.067539",
"tm_delete": "9999-01-01 00:00:00.000000"
}
],
"next_page_token": "2021-12-24 06:33:10.556226"
}