Problem Statement:

How do I create MS Teams Call Queue


Call queues route callers to people in your organization who can help with a particular issue or question. Calls are distributed one at a time to the people in the queue, who are known as agents.

Call queues provide:

  • A greeting message.
  • Music while people are waiting on hold in a queue.
  • Call routing - in First In, First Out (FIFO) order - to agents.
  • Handling options for queue overflow and timeout.

Below we have explained two methods of creating Teams Call Queue

1. Creating Teams Call Queue Using PowerShell


  1. PowerShell is installed on your computer
    • MSTeams Module Installed
    • MSOnline module installed
  2. You have tenant administration rights
  3. You have purchased Microsoft Teams Phone
  4. The agents, distribution lists, and Teams channels referred to below have already been created


$credential = Get-Credential Connect-MicrosoftTeams -Credential $credential 
Connect-MsolService -Credential $credential

Create Audio Files

Replace "d:\" with the path to where the wav files are stored on your computer. 

$content = [System.IO.File]::ReadAllBytes('d:\sales-hold-in-queue-music.wav'
$audioFileSalesHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup
 -FileName "sales-hold-in-queue-music.wav" -Content $content).ID

Get Users ID

$userAdeleID = (Get-CsOnlineUser -Identity "").Identity 
$userSalesBillID  = (Get-CsOnlineUser -Identity "").Identity
 $userSalesMaryID = (Get-CsOnlineUser -Identity "").Identity

Create Call Queue

New-CsCallQueue -Name "Sales" -AgentAlertTime 15 -AllowOptOut $true -MusicOnHoldAudioFileID $audioFileSalesHoldInQueueMusicID -OverflowAction Forward -OverflowActionTarget $userAdeleID -OverflowThreshold 200 -TimeoutAction Forward -TimeoutActionTarget $userAdeleID -TimeoutThreshold 120 -RoutingMethod Attendant -ConferenceMode $true -User @($userSalesBillID$userSalesMaryID) -LanguageID "en-US"

For more details on how to create Teams Call queue using PowerShell kindly refer MSDN article -  Create a Call Queue with cmdlets

2. Creating Call Queue Using CoreView

    Creating Call Queue using Coreview is one of the easiest methods available. Kindly follow below steps to create 

    MS Teams Call queue using CoreView.

  • Go to CoreView Portal
  • Under Actions --> select Management actions --> Choose Teams --> select Create Teams call queue

  • You will be presented with below options:


  • Name: Give an appropriate name to your Call Queue
  • Resource Account:  In Microsoft Teams, a resource account is required for each auto attendant or call queue. 
  • Language: Choose as per your requirement

Resource Accounts are special Azure AD Objects (or Microsoft 365 User Accounts, if you will) which can only be created from Teams Admin Center or via Teams PowerShell. It’s not possible to create such an account in M365 Admin or Azure AD. For more details kindly refer MSDN article - Manage Resource Account in MS Teams


You can either choose No greetings or choose an audio file to play.

On Hold:

This is the music this is played for people while on hold. You can either use the default music on hold provided with the call queue, or you can upload an audio file in .Wav, mp3, or .Wma formats to use as your custom music on hold.

Call Answering:

Key Terminologies:

  • Conference Mode: Conference Mode reduces the amount of time it takes for a caller to be connected to an agent after the agent accepts the call.

  • Attendant: When attendant routing is used, the first call in the queue will ring all of the call agents at the same time. The first call agent to pick up the call gets the call.

  • Serial: When serial routing is used, incoming calls will ring call agents one by one. starting from the beginning of the call agent list.

  • Round Robin: When round robin routing is used, each call agent will get the same number of calls from the queue.

  • Longest Idle: Selecting longest Idle for the agent routing method will automatically enable presence based routing

  • Presence Based Routing: Uses the availability status of call agents to determine whether an agent should be included in the call routing list for the selected routing method

Call Overflow:

 Based on your requirement you can choose 'maximum call in the queue(max 200 calls)'.

Call Queue Timeout

Review and Complete: 

Finally you can review all details you have selected and submit the action.