Forum Discussion
How much should Teams presence influence call routing
One thing I've noticed recently is that many Teams Phone environments still treat presence as a destination state rather than a routing input.
A typical flow might look like:
Caller selects an option
Call is transferred
User is unavailable
Caller ends up in voicemail or another queue
Technically the routing worked.
From the caller's perspective, it often didn't.
I'm curious how others are approaching this.
Are you using Teams presence as part of your call-routing logic?
For example:
Available → transfer immediately
Busy → offer an alternative path
In a meeting → capture context
Offline → route elsewhere
Or are traditional queues and escalation paths still sufficient for most scenarios?
Interested to hear what people are doing in real deployments.
1 Reply
Hi Mefteh_W,
Great topic! This is something many Teams Phone administrators wrestle with. Here is what I have seen in real deployments:
In practice, presence-based routing in Teams Phone is partially supported but with important caveats:
- Call Queues with Presence-Based Routing: Teams does support presence-based routing in Call Queues. When you enable the option Presence-based routing in the Call Queue settings in the Teams Admin Center, agents who are set to Busy, In a meeting, or Do Not Disturb will be skipped, and the call will ring only agents whose presence is Available. This is the most reliable native implementation.
2. Auto Attendants: Auto Attendants do not natively check presence when transferring to a user. If you transfer to an individual user in Busy state, it will still ring them (and they can decline or let it time out). The workaround here is to transfer to a Call Queue instead of a direct user, then use presence-based routing in the queue.
3. Direct Routing and Power Automate: Some organizations use Power Automate with the Microsoft Graph Presence API to build more sophisticated routing logic, reading presence states dynamically and adjusting routing behavior accordingly.
For your model (Available = transfer immediately, Busy = alternative path, In a meeting = capture context, Offline = route elsewhere), this is achievable with a combination of Call Queues with presence routing and a well-designed Auto Attendant hierarchy.
Traditional queues still work well for most scenarios, but presence routing adds meaningful value for high-availability teams.