Tuesday, November 9, 2021

Microsoft Teams Advanced Calling and Beyond

More and more organisations are moving to Microsoft Teams telephony; currently that is where I spend the most of my time helping customers. To start with, you need the Teams Phone System license and a phone number that you can get from your current operator with Direct Routing or Operator Connect, or you can get a phone number from Microsoft with Calling Plans. With Phone System in Teams you also get more advanced features for handling customer services and similar workloads. For some customers the built-in functions will be enough, but some customers and users will need more advanced functions and might user 3rd party tools in combination with Teams.

Auto Attendant

Auto Attendant is a feature in Teams that is built in, with this you can create an 'Interactive Voice Response' (IVR) that allows callers to navigate in a menu with their voice or with keypad DTMF. One example would be press 1 for sales, 2 for invoicing, 3 technical supports. Callers then select were to be connected.

Auto Attendant.png


A typic call flow in Teams Auto Attendant is that a call comes in, if it is within opening hours a greeting will be played to the caller and if it is outside of opening hours or during a holiday period another message can be played and the call with then be disconnected for redirected. After the greeting message caller will hear a message with the different option in the IVR menu. Each key can be configured to send callers to another Auto Attendant, a Call Queue, Voicemail, Person in the organization, External phone number or the caller can hear a announcement you have recorded.

Auto Attendant 2.png


If you want multiple levels in your IVR tree, you accomplish this by adding a new Auto attendant, so in this example when the caller select option 1, they will be redirected to the second Auto Attendant.

Directory Search

With Auto Attendant you can let callers get connected directly to one of your users, by saying their name (limited number of languages) or entering the name using their Dialpad on their phone.

It is possible to set a group of users that should be included in the Directory Search for each Auto Attendant you create; you can also set a group of users that should not be included in the search.


Call Queues

Call Queues is when multiple users/agents in Teams should be able to answer calls coming into a common phone number. A use case could be if you have an IT support and want multiple IT support users to be agents that can answer on calls coming into a common phone number.

Call Queues.png


Call comes into the Call Queue and an optional greeting is player, while waiting callers can listen to nice music while waiting and the Call Queue tries to find an available agent that is signed in, when an agent is available the Call Queue will connect the call to that agent that answers in their Teams client. Call Queues can be set so agents always are signed in or so they can opt-out from answering calls from a specific Call Queue.

In the call queue you can set that calls that not been answered in 15 sec – 45 minutes or if there are too many callers waiting in the queue, they can be transferred to another Call Queue, or to another person, external number or to a voicemail.

If allowed agents can select by themselves if they should be signed in or signed out from the Call Queue and since it is Teams it will not route calls to agents in DND or Offline.

Voice enabled channels

With Collaborative Calling you can connect a Call Queue to a Channel in a Team. All Team members will be agents in that Queue and can easily sign-in and sign-out from the Channel, they can also see other agents signed in.

In the Channel members will see a call history and they will be able to access call history for the Call Queue. It is also possible for agents to select that they want to call out as the Call Queue so that they show the number of the Call Queue instead of their personal phone number.

Voice Enabled Channels.png


Read more here.


Both the Auto Attendant and Call Queue have basic functions and might not be enough for all organisations. Since these functions are included in your Phone System license and you can get service numbers from Microsoft it is a good way to start with and test with your users to see if this will work for their group and use cases. But sometimes you will need more features and they we must check with Microsoft partners and use 3rd party system.

Some cases when I’ve been using 3rd party systems for my customers are:

  • Needed identify customers based on customer number (that they entered) or phone number to direct them to right queue or allow them to continue.
  • Customer needed advanced attendant solution for attendant that received calls and quickly transferred to correct users.
  • Managers needed to be able to sign agents out or in from queue.
  • Agents want to be able to answer calls on mobile phone (without Teams application) or on another external extension.
  • Integration to CRM systems.
  • Delegate administration of a queue to managers.
  • Detailed statistics

Statistics in Auto Attendants and Call Queue

Managers of a queue usually wants to know how many callers they have to a queue, how long callers waited, how many callers disconnected and other statistics. Built-in with Teams you can get data from Call Quality Dashboard and Power BI. With predefined reports you can see statistics for your Auto Attendants and Call Queues.

Call Queue Analytics.png


Read more here.

With Power BI you can customize reports but there are also 3rd party solutions providing advanced reporting tools for Call Queues and Auto Attendants.

3rd Party Contact Center Solutions

Microsoft provides you with the platform that will suite 80-90% of the use cases in your business, but for some use cases you will need a 3rd party application. There are many contact center applications that supports Microsoft Teams, if you check the docs page linked here you will see a list of certified and solutions in the process of getting certified.

Certified 3rd party solutions 

There are three different models for 3rd party solutions to connect to Teams: Connect model, Extend model and Power model.

Connect model sends calls from Teams to the 3rd party solution using Direct Routing and a certified SBC. Solutions can see if agents are available using Graph API for presence and can connect calls to agents in Teams using Direct Routing.

Extend model uses the Graph API that Microsoft created for 3rd party solution providers to integrate with Teams calls. In the Extend model calls are not transferred out from Teams like in the Connect model, calls are kept inside of Teams, and calls can come into Teams and the Contact Center with any connection like Calling Plans, Direct Routing and Operator Connect.

Power model will be available towards the end of 2021 and will allow 3rd party solution providers to crate native Azure-based voice applications. Power model enables omni-channel communications via Teams SDK.




There are currently 20 different Contact Center solution supporting Teams listed on Microsoft Docs, all with different features and capabilities, and the list is growing. Always start with an inventory and talk to your business what features they use today and what they want to use in the new solution, even if they always worked in one way before this can be the right moment to change their way of working with new possibilities. Then contact some of the vendors to see if they fit your needs, most of the vendors have trial periods so you can test for free or with a discount and since they provide cloud solutions it is usually a quick setup process.

What extra feature can 3rd party solutions give you? Since there are so many of them it is hard to summarize everything, but I’ve listed some of the feature and functions that you will get with an 3rd party solution.

Agents can get an app in Teams or a web app to sign in and out from queues, from this they also can see statistics and other agents signed into the queue. 3rd party solutions allow agents to select where they want to answer the call, in a Teams app, on another device like mobile phone or maybe that want calls coming into both Teams and mobile phone with Simultaneously Ring. Since it is Teams agents can of course answer Teams calls from any Teams client.

One example of a Teams app agents can use to control a queue in a 3rd party application.One example of a Teams app agents can use to control a queue in a 3rd party application.


Another example when you need a 3rd party application is when you have attendants in your organisation answering incoming calls. Attendants usually want an interface that fast to work with when searching for co-workers to connect calls to, they also need to easily see if co-workers are busy, find others in the same workgroup and see calendar of users. Many of the 3rd party applications offers interfaces for attendants, still with Teams as the carrier of the call.

Attendant consoles from 3rd party providers gives attendants and call center agents a richer interface build for their needs.Attendant consoles from 3rd party providers gives attendants and call center agents a richer interface build for their needs.


With Graph API it is possible to allow contact center solutions to read presence data, so calls are not routed to an agent that is in another call or in “Do Not Disturb” mode or attendants can use the presence to see if they should forward calls to a user or not. There are also APIs that allows 3rd party solutions to read calendar data, attendants can use this to see if a user is available or not before routing calls to them.

IVR (Interactive Voice Response) can be more complex in 3rd party solutions than in Teams Auto Attendant, you can build IVR trees in multiple levels and get or send data to other systems. IVR in Auto Attendant is limited to a few languages if you want callers to use their voice instead of dial pad, with 3rd party you can use a broader range of languages. You can also send the responses from the caller to the agent, so that the agent can see exactly what the caller selected before they got transferred to the agent.

Connections to other applications

Another feature that built-in Teams Auto Attendant and Call Queue can’t solve is integrations with other applications. A common scenario is that you want to identify callers from a database with customer data. 3rd party solutions can often do this, by sending the phone number of the caller or asking the caller to enter a customer id the contact center solution can send this to your CRM system or another database to see if it is a VIP-customer, a customer with a support contract, etc and based on that information it is possible to route the call to correct queue or agent.

With Power Automate you can integrate these contact center solutions with almost anything, it is possible to send a trigger to Power Automate that start a flow. For example, the flow can send a message in Teams to a team about a missed call or connect to another

system to write information about the caller. With Power Automate integrated to 3rd party contact center solution, you have a lot of possibilities to automate your call center.


Dynamics 365

Another option to service your customers with voice channels can be using Dynamics 365 that can integrate with Teams. Agents can answer calls in Dynamics and forward calls to Teams users when needed. With Dynamics agents can answer to voice calls, video calls, chat, mails, and other communication ways from the same interface.


Introducing Voice Channel for Dynamics 365 Customer Service


Linus Cansby is a Swedish Microsoft MVP, Office Apps and Services focusing on Microsoft Teams. He has a background working with LCS, OCS, Lync, Skype for Business and now with Microsoft Teams. Linus also have experience from other related products in Microsoft platform like Exchange, Stream and Active Directory. He works as a senior consultant at Altitude 365 + Uclarity in Sweden helping customers with Teams-related projects.

Follow Linus blog www.lync.se, Twitter and LinkedIn.

Posted at https://sl.advdat.com/31Nk3LK