Guide to Building a WhatsApp Call Queue in 3CX for Customer Service
6 min read
Ever pictured what happens if your WhatsApp Business number is routed straight to a single extension, and then 20 calls come in at once during a busy hour?
Besides overwhelming your agent, other customers get a busy signal, and you have zero data on how many calls you actually lost.
This is something teams that have just enabled the WhatsApp Business Calling API often overlook. Turning the calling feature on is easy — but for it to actually function as a real call center, not just “a phone that connects,” you need a clear queue and routing architecture.
This article covers how to build that architecture in 3CX — from mapping call types, separating queues, choosing a routing strategy, to overflow handling and monitoring — so your queue stays organized even as WhatsApp call volume keeps growing.
Why WhatsApp Calls Need Their Own Queue Architecture #
A WhatsApp call arrives in 3CX as a SIP trunk, so technically it can be treated just like a PSTN call. But there are a few reasons you shouldn’t just plug it into an existing queue without thinking it through:
- Volume can be higher than expected. Customers prefer tapping the Call button in a chat over manually dialing, so once this feature is live, call volume often rises quite significantly.
- It’s a different source than a regular phone call. If it’s simply mixed in with your PSTN queue, it becomes hard to measure the WhatsApp channel’s performance separately.
- It’s not just one kind of need. Calls coming in via WhatsApp can be for Sales, Support, or even complaints. If they’re all dumped into one queue, the right agent won’t necessarily be the one who picks up first.
That’s why building a clean WhatsApp Call queue isn’t just about “connecting it to a queue” — it’s about designing a flow: who answers, in what order, and what happens when every agent is busy.
Prerequisites #
Before you start building the queue, make sure:
- The WhatsApp SIP Trunk is already active in the 3CX Admin Console.
- You already know how many teams/departments will be receiving WhatsApp calls (e.g. Sales, Support, Billing).
- The agents handling these calls already have an active extension and can log into one of the clients (Webclient, Desktop App, Mobile App, or IP Phone).
Step 1: Map Out Call Types and Put an IVR in Front #
Before a call reaches any queue, route it to a Digital Receptionist (IVR) first. This is a key step that often gets skipped — without an IVR, every WhatsApp call piles into a single queue even though the actual needs differ.
Example of a simple IVR menu for WhatsApp Call:
Press 1 for Customer Service, Press 2 for Sales, Press 3 for Billing
If call volume is high enough, this IVR can also route to an AI Agent first to answer common questions (business hours, order status, etc.) before handing off to a human queue. See the guide Digital Receptionist (IVR): How to Build a Professional Automated Phone Menu (Indonesian) for the details on setting one up.
Step 2: Separate Queues per Service (Don’t Lump Them All Together) #
After the IVR, each menu option should route to a different Call Queue, not into one big queue.
| Type of Need | Destination Queue |
| Product questions / complaints | Customer Service Queue |
| Purchase interest / follow-up | Sales Queue |
| Billing / payments | Billing Queue |
Why separate them? Because per-queue performance reporting becomes far more accurate — you can tell exactly how long a Sales customer waits on average compared to a Support customer, without the data getting mixed together.
If you’re not yet familiar with the difference between a Ring Group and a Call Queue, it’s worth reading Ring Groups vs Call Queues in 3CX (Indonesian) first — for a call center handling growing WhatsApp Call volume, a Call Queue is almost always the better choice over a Ring Group.
Step 3: Choose the Right Routing Strategy #
Within each queue, you can control how the system picks which agent gets the call. For a WhatsApp Call-based call center, three strategies are the most relevant:
1. Round Robin #
Calls are distributed to every agent in turn, one at a time. This is the safest strategy for a Customer Service or Sales team, since the workload is spread evenly — no single agent gets flooded with calls while others sit idle.
2. Skill-Based Routing #
If your team has agents with different specialties (say, an agent who’s an expert on a particular product, or one who speaks a foreign language), Skill-Based Routing lets calls go to the agent best suited to handle them, rather than just whoever’s turn it is. This fits a call center with a more complex team structure.
3. Prioritized Hunt #
Calls always try the primary agent first (e.g. a senior agent or supervisor), then move on to the next agent if they’re busy. Good for a small queue with one go-to agent.
| Team Situation | Recommended Strategy |
| CS/Sales with agents of similar skill level | Round Robin |
| Some agents with specific expertise | Skill-Based Routing |
| A primary agent who should be tried first | Prioritized Hunt |
Step 4: Set Up Overflow — Don’t Let Calls Vanish #
This is the part that most often causes a messy queue: what happens when every agent in a queue is busy?
Configure the following at the Call Queue level:
- Maximum Wait Time — cap how long a customer waits before being redirected, so they’re not left waiting indefinitely.
- Overflow Destination — if the queue is full or the wait time is exceeded, automatically redirect the call to:
- Another queue that’s currently free
- A supervisor
- An AI Agent to hold the conversation temporarily
- Voicemail, with a request for a follow-up
- Music on Hold & Queue Position Announcements — so customers know they’re still in the queue, not being ignored.
This overflow setup is exactly what separates a “well-organized” queue from one that’s just relying on luck — a call always has somewhere to go, even when every agent is tied up.
Step 5: Enable Recording and Monitoring #
Since a WhatsApp call comes in as a regular SIP call, all of the following native 3CX features automatically apply and should be enabled at the queue level:
- Call Recording — for quality assurance and resolving complaints.
- Live Monitoring (Barge – Listen – Whisper) — supervisors can monitor calls in real time without interrupting the conversation.
- Call Reporting — duration, number of answered/missed calls, and per-agent performance are logged automatically per queue.
Enable it via Admin Console → Queues → [select queue] → Recording, if it isn’t already on by default.
Step 6: Monitor and Adjust via Wallboard or Grafana #
A well-organized queue isn’t the result of a one-time setup — it comes from ongoing monitoring. Use the 3CX Wallboard or a Grafana Dashboard to see:
- Number of incoming WhatsApp calls per hour, so you know your peak hours
- Average Wait Time per queue
- Missed calls that need a follow-up
If a queue’s wait time is consistently high at a certain hour, that’s your cue to add more agents, change the routing strategy, or tighten the overflow rules for that time slot.
A Complete Flow Example #
To make this clearer, here’s roughly what one WhatsApp call’s journey from customer to agent looks like:
Customer taps the Call button on WhatsApp
↓
WhatsApp SIP Trunk → 3CX
↓
IVR / Digital Receptionist (select a service)
↓
Matching Call Queue (Round Robin / Skill-Based / Prioritized)
↓
Agent available? → Yes → connected, recorded, logged in reports
↓ No (everyone busy / wait time exceeded)
Overflow → another queue / AI Agent / voicemail
Tips to Keep the Queue Running Smoothly #
- Separate WhatsApp queues from PSTN queues if volume is high enough, so per-channel performance reports stay accurate.
- Combine it with an AI Agent to filter out repetitive questions before they reach the human queue.
- Review missed call reports regularly — customers whose calls went unanswered tend not to call back.
- Adjust routing strategy based on the season/peak hours, rather than setting it once and leaving it alone.
Conclusion #
Turning on WhatsApp Call in 3CX is just the first step. For it to truly function as a reliable call center, calls need to go through an IVR, land in the right queue for the need at hand, be distributed using a routing strategy that fits your team, and have an overflow path so no call is simply lost when every agent is busy.
With a clean queue and routing architecture, customers still feel taken care of even as call volume keeps rising, and your team can work with a more balanced workload — instead of just relying on whoever picks up the phone fastest.
