Skip to content

How to Set Up Call Queues in Microsoft Teams

Set up a Teams call queue the right way: resource account and free virtual user license, agents, routing methods, overflow and timeout handling, and auto attendant links.

MGMCSA Guru Team July 24, 2026 10 min read
Teams call queue flow showing a resource account routing callers to agents with overflow and timeout handling

A call queue is what stops a busy phone line from going to chaos: callers wait in line with hold music, and the next available agent picks up. In Microsoft Teams it’s a Teams Phone feature, and like the auto attendant, the hard part isn’t the queue settings — it’s the plumbing underneath. Get the resource account and its license right first and the rest falls into place. Skip them and the queue won’t take a number or won’t route calls at all.

This walkthrough builds a working call queue end to end: create and license the resource account, add agents, pick a routing method, set overflow and timeout handling, and wire the queue to an auto attendant. Most of it happens in the Teams admin center, with PowerShell where it’s faster.

Before you start

  • You're a Teams Administrator or Global Administrator
  • Your tenant has at least one paid Teams Phone license (this unlocks the free virtual user licenses)
  • Your agents are voice-enabled Teams users with Teams Phone licenses
  • You've decided how calls should route — all at once, one by one, evenly, or to the longest-idle agent
  • You know whether callers dial the queue directly or reach it through an auto attendant

How a call queue fits together

A call queue, like an auto attendant, is never a standalone object you can dial. It sits on top of a resource account — a disabled user object in Microsoft 365 that represents the queue instead of a person. The resource account holds the license and, when callers dial in directly, the phone number. The queue is then associated with that account.

The call path is straightforward: a caller reaches the queue (directly or via an auto attendant), the queue plays greeting and hold music while callers wait, and the routing method decides which agent rings. If the line gets too long or a caller waits too long, overflow and timeout rules send the call elsewhere.

Typical call queue flow
flowchart LR
C[Caller] --> RA[Resource account]
RA --> Q[Call queue: greeting + hold music]
Q -->|Routing method| A[Available agents]
Q -->|Too many waiting| OF[Overflow target]
Q -->|Waited too long| TO[Timeout target]

Step 1: Create the resource account

Create the queue’s resource account first. In the Teams admin center, go to Voice > Resource accounts > Add, give it a display name like CQ-Support, a UPN, and set the account type to Call queue.

In PowerShell, connect with the Microsoft Teams module and create the account with the call queue application ID:

Connect-MicrosoftTeams

New-CsOnlineApplicationInstance `
  -UserPrincipalName "[email protected]" `
  -DisplayName "Support Call Queue" `
  -ApplicationId "11cd3e2e-fccb-42ad-ad00-878b93575e07"

The GUID 11cd3e2e-fccb-42ad-ad00-878b93575e07 is the fixed application ID for call queues. Auto attendants use a different ID (ce933385-9390-45d1-9512-c8d228074e07), so don’t mix them up — the account type can’t be changed cleanly after creation.

Step 2: Assign the virtual user license

This is the step people miss, and it’s why a new call queue often refuses a phone number. The resource account needs a Microsoft Teams Phone Resource Account license — the virtual user license. It’s free, but it only becomes available once your tenant owns at least one paid Teams Phone license.

Assign it in the Microsoft 365 admin center under the resource account’s Licenses and apps, or with Graph/PowerShell. Set a usage location first if the account doesn’t have one.

Step 3: Assign a phone number (only if callers dial in directly)

Only a queue that callers reach from outside needs its own phone number. A queue sitting behind an auto attendant routes internally, so it runs on a licensed resource account with no number at all — that’s the most common setup.

Where a direct number comes from depends on your voice platform:

Where the queue's number comes from

Calling Plan Get or port a number through Microsoft, then assign it to the resource account
Operator Connect Acquire the number from your carrier in the admin center, then assign it
Direct Routing Assign an on-premises number and voice routing policy with PowerShell (Set-CsPhoneNumberAssignment)

If you’re still choosing between those, the trade-offs are covered in Calling Plan vs Operator Connect vs Direct Routing.

Step 4: Add agents to the queue

Now build the queue itself. In the Teams admin center, go to Voice > Call queues > Add, name it, and assign the resource account you created. Then add the people who’ll answer calls.

You can add agents two ways:

  • Individually — pick voice-enabled users one by one. Fine for a small, stable queue.
  • By group — point the queue at a team, Microsoft 365 group, distribution list, or security group. Anyone in that group becomes an agent automatically.

The group approach is far easier to maintain. When someone joins or leaves the support team, you update the group and the queue follows — no editing the queue every time staff changes. Every agent needs a Teams Phone license and the ability to take calls.

Step 5: Choose a routing method

The routing method decides which agent rings when a call arrives. Teams gives you four, and the right one depends on your team size and fairness needs.

Call queue routing methods

Attendant routing Rings all available agents at the same time; first to answer takes it
Serial routing Rings agents one at a time in a fixed order, in sequence
Round robin Distributes calls evenly so the same agent isn't always first
Longest idle Rings the agent who has been available the longest

Attendant routing is the common default — everyone’s phone rings and whoever’s free grabs it. It’s simple but can feel noisy in a big team. Serial suits a defined escalation order (try the senior agent first, then the next). Round robin and longest idle both spread the load fairly; longest idle is especially good at high volume because it naturally evens out who’s been on calls.

Two related settings shape this further:

  • Presence-based routing only rings agents whose Teams status shows them available, so calls skip people marked Away or in a meeting.
  • Agent opt-out lets agents toggle themselves out of taking queue calls when they step away, without you editing the queue.

Step 6: Set overflow and timeout handling

These two are different and people mix them up. Both are safety valves, but they trigger on different conditions.

Overflow handling fires when too many calls are waiting in line at once. You set a maximum number of calls in the queue; once it’s exceeded, the next call is routed to your overflow target instead of joining the line.

Timeout handling fires when a single call has waited too long. You set a maximum wait time; if one caller sits in the queue past that limit, their call is routed to the timeout target rather than waiting indefinitely.

Overflow vs timeout — what triggers each

Overflow Number of calls waiting exceeds the limit
Timeout One call has waited longer than the limit

For each, you choose where the affected call goes: disconnect, redirect to a person, to voicemail (a shared mailbox or the resource account’s voicemail), to another call queue, or to an auto attendant. A sensible pattern is to send overflow to a backup queue and timeout to voicemail so nobody waits forever.

Most queues don’t take direct calls. Instead, an auto attendant greets callers, offers a menu (“Press 2 for support”), and redirects the chosen option to the queue. The auto attendant sorts; the queue rings agents and holds the line.

For this to work, the queue has to exist first — an auto attendant can only point to a queue that’s already built. Then, in the auto attendant’s menu option, choose Redirect to > Call queue and pick this queue. From there the queue’s own routing, overflow, and timeout rules take over.

The full attendant side, including resource accounts, business hours, and holiday handling, is covered in how to set up an auto attendant in Microsoft Teams. Build the queues first, then the attendant in front of them.

Step 8: Test the queue end to end

Before going live, walk every path:

  • Call the queue (directly or through the auto attendant) and confirm it rings agents per your routing method.
  • Have an agent answer to confirm the connection and audio are clean.
  • Test overflow by lowering the call limit temporarily and stacking up calls, or confirm the target is correct in the settings.
  • Test timeout by setting a short wait time and letting a call sit, confirming it lands on the timeout target.
  • Check presence routing and opt-out — mark an agent away and confirm the call skips them.

If calls reach the queue but never ring an agent, the agents usually aren’t voice-enabled or are opted out — fix the agents, not the queue. If a connected call has audio problems like one-way or dropped audio, that’s a media/network issue; the Teams meeting and call troubleshooting guide covers those paths.

Common setup mistakes

The same handful of problems come up over and over:

  • No virtual user license, so the resource account can’t take a number. Assign the free Teams Phone Resource Account license and wait for it to apply.
  • Agents aren’t voice-enabled or lack a Teams Phone license, so calls ring nobody.
  • A hand-picked agent list that’s gone stale — use a group instead.
  • No overflow or timeout target, leaving callers stuck in line.
  • Mixing up the application IDs when creating the resource account — call queues and auto attendants use different GUIDs.

Wrapping up

The call queue settings are the quick part. The setup that trips people up is the foundation: create a resource account, give it the free virtual user license, and only assign a number if callers dial the queue directly. Add agents by group so the queue stays current, pick a routing method that fits your team, and always set both overflow and timeout targets so no caller falls off the end.

Pair the queue with an auto attendant out front and you’ve got the standard main-line setup — greet, sort, queue, answer. Start with one queue and a simple routing method, test it end to end, then layer on the attendant. For the front end, see setting up an auto attendant, and browse more in the Microsoft Teams guides.

Frequently asked questions

Does a Teams call queue need a license?

Yes. Each call queue runs on a resource account, and that account needs a Microsoft Teams Phone Resource Account license — the virtual user license. It's free, but your tenant has to own at least one paid Teams Phone license to unlock the free virtual user licenses. The queue only needs its own phone number if callers will dial it directly; queues sitting behind an auto attendant route internally and don't need a number.

What are the call queue routing methods?

Teams offers four. Attendant routing rings all available agents at once. Serial routing rings agents one at a time in a set order. Round robin spreads calls evenly so the same person isn't always first. Longest idle rings whichever agent has been free the longest. Attendant is the common default; longest idle is good for fairness when call volume is high.

Who can be an agent in a call queue?

Agents are voice-enabled Teams users you add directly, or members of a team or a group (Microsoft 365 group, distribution list, or security group). Each agent needs a Teams Phone license and the ability to take calls. Using a group is easier to maintain because adding someone to the group automatically makes them an agent without editing the queue.

What's the difference between overflow and timeout handling?

Overflow handling triggers when the number of calls waiting exceeds a limit you set — too many people in line. Timeout handling triggers when a single call has waited longer than the time limit you set — one caller waiting too long. Both let you route the affected call somewhere else: voicemail, another queue, an auto attendant, a person, or disconnect.

Can a call queue ring agents on their phones, not just in Teams?

Yes. If agents have call forwarding or simultaneous ring configured, or are using the Teams mobile app, queue calls follow those rules. You can also let agents opt out of taking queue calls, and presence-based routing skips agents who are away or busy so calls only ring people actually available.

How does a call queue connect to an auto attendant?

The auto attendant greets and sorts callers, then a menu option redirects to the call queue, which rings the agents. The queue must already exist on its own resource account before the auto attendant can point to it. This pairing — attendant in front, queues behind — is the standard structure for a main business line.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.