Forum Discussion

Mefteh_W's avatar
Mefteh_W
Copper Contributor
Jun 03, 2026

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:

     

    1. 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.