How to Setup an Auto Attendant and Call Queue in Microsoft Teams with a Shared Mailbox as the Voicemail Target

Introduction:

The purpose of this article is to explain how to setup an auto attendant and call queue in Microsoft Teams with a shared mailbox as the voicemail target. A brief explanation of auto attendants and call queues by Microsoft: "Auto attendants allow you to set up menu options to route calls based on caller input. Call queues are waiting areas for callers." The areas most likely to need an auto attendant would be Director's Offices and departments that receive a high volume of calls. Microsoft recommends setting an M365 group as the shared voicemail target, however, we have found that this comes with certain challenges for the users. Users are unable to use tags in a group mailbox, and when emails are marked as read or deleted, the change is only reflected for the user that made that change. The other members will be unaware if a voicemail has been answered without a lot of verbal communication. This can lead to a lot of confusion among the group members, and result in duplicate work being done. By using a shared mailbox instead, these issues are removed. The use of Anywhere365 changes how this works, so the setup process is different. IT and OneStop cannot use the Teams Call Queue as Anywhere365 serves that purpose. The differences will be included in this article.

Prerequisites:

In order to complete this task, you will need to be assigned either a Global Admin or Teams Admin Role in M365. You will also need to install the Microsoft Teams module for Powershell to gain access to the cmdlets.

Step-by-Step Directions:

Step # Directions Screenshot/GIF/Video
 

Although Microsoft suggests otherwise, it seems to be easiest to create the Resource Accounts in Teams before beginning the setup of the Auto Attendant.

The accounts can be created in the Teams Admin Center by going to the Voice section on the left, and then Resource Accounts. You will need both an AA and CQ Resource Account created for most scenarios (CQ Resource Accounts cannot be used for IT or OneStop due to Anywhere365). 

Click +Add to get started. You will need to enter the Display Name, Username, and Resource Account type.

We use this format for Auto Attendants and Call Queues:

Display Name: AA-Name or CQ-Name

Username: AA or CQ-Name@TulsaTechnologyCenter191.onmicrosoft.com

Resource account type can be set as either an Auto Attendant or Call Queue.

Click Save once completed.

Both the AA and CQ Resource accounts require the same license. They need the Microsoft Teams Phone Resource Account for faculty license to be assigned.

You may encounter an error that the license could not be assigned. Click the error and it will most likely tell you the account needs its Usage location set. To do this, find the account in Entra ID, select it, then click Edit Properties. Go to settings and you can set the Usage Location as United States. Leave Account Enabled box unchecked. Save, and then you should be able to assign the license. While inside the account in Entra ID, select Licenses on the left, then click + Assigments to add the correct license. 

The AA Resource Account will need an extension assigned to it as well as a calling plan. The process for that is explained in this KB article: https://tulsatech.teamdynamix.com/TDClient/2573/Portal/KB/ArticleDet?ID=145800

 

 

Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)
 

Begin creation of the Auto Attendant by going to the Teams Admin Center, then Voice>Auto attendants. Configure General Info page:

Operator: No Operator

Time Zone: Central Time (US)

Language: English (US)

Voice Inputs: Off ( This feature allows the caller to simply say which menu option they want instead of having to press 1 or 2 to get to the next menu option. Not using this feature on any AAs right now, but could be put to use if end users request the feature.) 

Click Next when page is completed

Uploaded Image (Thumbnail)
 

Configure Call flow settings

Greeting Options: Set as either No Greeting, Play an Audio File, or Add a greeting message. Audio files can be MP3, WAV, or WMA format and must be less than 5 MB. There can be other issues to consider with audio files such as clearing copyrights if music files are used. Adding a text greeting seems to work well, and is easy to update should anyone request changes to the greeting. It is recommended to use that option.

Call Routing options:  Options are Disconnect, Redirect, or Play Menu options. Disconnect will end the call after the auto attendant greeting is played. Redirect can be used if the users would like the call to be redirected to a particular person in the organization. Play menu options allows for a second greeting message that would direct the caller to press a certain number to have their call redirected to their desired location. Such as "Press 1 to speak to a Team member." If this feature is set, there will be another section to configure. Under Set menu options, you can assign a dial key and the destination that will be associated with the dial key. This destination can be set as a person in the organization, or a voice app (this is where the Call Queue resource account would be added if calls need to be redirected to the queue). It is also possible to set the attendant to send all calls to voicemail. Voicemail will be covered later in the article.

Set Directory Search to None. Click Next to go to Advanced settings.

Uploaded Image (Thumbnail)

 

 

Uploaded Image (Thumbnail)
 

Advanced Settings (optional)

For the most part, settings in this section are not used. You may get requests to use the Holiday call settings feature though if a department wants a special greeting to be played while the organization is closed for holidays. The same Call Routing and Greeting options are available here. You will start by Adding a Holiday in the dropdown menu under "Holiday".  From there, you must name your holiday and set the date and time range you would like for the holiday greeting to be used. Save when setup is completed.

There is a Resource Account section where you will need to add the AA-Resource Account you created earlier. Just click +Add and search for the account you created to add.

All other Advanced Settings I leave as default.

Click Next and then Submit to complete the creation of the Auto Attendant

Uploaded Image (Thumbnail) Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)
 

Setup Call Queue next in the Teams admin center by going to Voice>Call Queues

Click on +Add to get started. Configure General Info page.

Enter the Display Name for the Call Queue at the top using the naming format from earlier: CQ-Name.

Under Resource Accounts, add the CQ Resource account you created earlier.

Under Assign Caller ID, add the AA Resource account you created earlier. This will allow agents to make an outbound call and display the auto attendant number, rather than their own.

Set Language to English United States

Click Next

 

Uploaded Image (Thumbnail)
 

CQ Greeting and music:

Set to No Greeting

Set Music on hold to Play default music

Click Next

Uploaded Image (Thumbnail)
 

Configure Call Answering settings:

Keep in mind that all call agents must have a valid license, be voice enabled, and also have a calling plan and phone number assigned.

You can choose to use a Team and Channel as the Call agent. Assigning individual users or groups is also an option. From a management standpoint, assigning individual users seems to make this somewhat easier. If multiple users are added, you will have the option to move users up or down the list the same as when you manage a Teams call group. 

Leave Conference mode turned Off

Click Next

 

Uploaded Image (Thumbnail)
 

Configure Agent Selection page:

This section concerns things that are up to the preference of the end users. It is advised to seek the input of the requestor on which routing method they prefer. These are the options and their descriptions:

  • Attendant routing rings all agents in the queue at the same time. The first call agent to pick up the call gets the call.

  • Serial routing rings all call agents one by one in the order specified in the Call agents list. If an agent dismisses or doesn't pick up a call, the call will ring the next agent. This cycle repeats until the call is answered, times out, or the caller hangs up.

  • Round robin balances the routing of incoming calls so that each call agent gets the same number of calls from the queue.

  • Longest idle routes each call to the agent who has been idle the longest time. An agent is considered idle if their presence state is Available. Agents who aren't available won't receive calls until they change their presence to Available.

Leave Presence-based routing turned off. 

Call agents can opt out of taking calls: This is another setting that would be up to the user's preference.

Call agent alert time is 30 seconds. Some users may wish to change this. Leave as default unless they request a change.

Click Next

 

Uploaded Image (Thumbnail)
 

Configure Exception Handling page:

Call overflow section:

In most cases use the default setting of 50 for Maximum calls in the queue.

When the maximum number of callers is reached: This can be set to disconnect the caller if the queue is full, but most departments will not want to use this setting. They will opt for voicemail in most cases. This is where we deviate from Microsoft's suggestions and do our own thing: They only allow you to set an individual user or an M365 group as the shared voicemail target. This causes issues that were explained in the introduction of this article. The best option is to setup a shared mailbox so that it can receive voicemails.

Using a shared mailbox as a voicemail target is only an option in Call Queues. This cannot be used in Auto Attendants. That is why IT and OneStop cannot use this method. Anywhere 365 serves as their call queues. I will include some alternate instructions for their scenarios.

Whether a Call Queue is being used or not, a User account will need to be created On Prem under User Accounts>Applications>Exchange>SharedMailboxes. You can copy from one of the other existing accounts to begin creation. Assessment or Admissions are good examples of accounts you can copy. When you create the account, set the password to the same as all the shared phone accounts (password can be found in Keeper). Set password to never expire; User cannot change password. 

On the General tab of the account properties, make sure the email address is there and also make sure to enter the phone number that you assigned to the Auto Attendant you created earlier. You will also want to go into the Attribute Editor and make sure that extensionAttribute13 is set as Shared Phone. This will ensure the account gets the correct license when the dynamic licensing is being applied.

After the On Prem account has been created, you will need to login to dc2 and run a delta sync so that your newly created account will be present in M365. 

Login to dc2 with your elevated rights account, launch Powershell, then run this command: Start-ADSyncSyncCycle -PolicyType Delta

Now that you've run the delta sync, and the account has had enough time to make its way into M365 and receive the correct license, it's time to Enterprise Voice Enable the account. Go back to your PowerShell session on your computer, and run this command if you are not already connected to Teams: Connect-MicrosoftTeams   Login with your elevated rights account.

We are not going to assign a number or calling plan for this account. We are just Enterprise Voice Enabling it so that the shared mailbox can receive voicemails. After you know you are connected to Teams in PowerShell, run this command to enable:

Set-CsPhoneNumberAssignment -Identity user3@tulsatech.edu -EnterpriseVoiceEnabled $true

Now you can add the account as the voice mail target for the Call Queue under When the maximum number of calls is reached:  Set to Redirect this call to Voicemail (personal) and add the name of the account you created and voice enabled.

Call timeout section:

This section is another that may be different, depending on what the end user wants. In most cases you you will use the default settings of 20 minutes for Maximum wait time, and Disconnect for When call times out.

No agents opted or signed in section:

Apply settings only to new incoming calls should be set to Off

Redirect call to should be set the same as in the Call timeout handling page. Set to Voicemail (Personal) and use the same account you voice enabled from before. 

Click Next

There is an Authorized Users page next that we will most likely never use. It grants others access to make changes to the Call Queue. We probably want that ability to remain with the Admin.

Click Submit to complete the creation of the Call Queue.

 

Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)

Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)

 

Uploaded Image (Thumbnail)

 

 

 

 

Uploaded Image (Thumbnail)
 

Alternative instructions for use with OneStop: 

The main issue for them is with the voicemail target. Since they have no Teams Call Queue, you can't use the same method of adding a voice enabled shared mailbox as the target. They have to use their M365 group called, "OneStop Voicemail". In order to get around the issues caused by using the M365 Group mailbox, we need to voice enable the On Prem One Stop user account, and then add that shared mailbox as the only member of the M365 group, and have all the call agents added as members of the One Stop shared mailbox . This will ensure that when voicemails reach the M365 voiemail target, the emails will be delivered to that shared mailbox, which will deliver those voicemails to all members of the shared mailbox. They can now use tags, and when a voicemail is marked as read, it show that for all members.