Use Case - Tracking Extended User Presence via Application Permission

In this use case, we explain how to grant Nimbus the permission to track extended user presence states

Why does Nimbus require presence tracking?

"Presence Tracking" allows Nimbus to make smarter routing decisions by determining the extended presence state, e.g. if your users are already in a (non-Nimbus) Teams call. Please note that a few steps are required on your Microsoft Tenant for this feature to work.

🔎 Read the instructions below carefully and contact the support in case you need assistance.

 

PRECONDITIONS

  • Nimbus Installation is complete and at least one Service is provisioned on your tenant.
  • In extension you should know about the Distribution Service Settings, accessible to you if you are Team Owner or Tenant Admin.
    💡 These settings define when service calls are distributed to the users (team members) based on their MS Teams status (Away, DND, etc.). More on this will be explained below.
  • You require Tenant Administrators rights to access the Nimbus Tenant Administration > "Presence Tracking" section or to grant the permissions by running the provisioning script.
 

🤔 Which permissions are needed?

The needed Nimbus App Permission is: Presence.Read.All (Application)

🤔 What is extended user presence?

Besides the presence state, there is a presence activity detailing in certain cases the user presence, such as "Busy → In a Call" or “Busy → In a Conference”. 

🤔 What happens when this setting is active?

When activating the presence tracking feature, calls are handled according to the MS Teams status as follows:

Calls are delivered while Calls are NOT delivered while

Available

Busy*

Busy in a Meeting*

  • Away*
  • Busy in a call
  • in DND (Do Not Disturb)
  • Offline

*Only when Distribution Service Settings are set accordingly within the individual Service.

With extended presence enabled, Nimbus can now distinguish a "Busy" status and plan/avoid call distribution accordingly.

KNOWN LIMITATION

For "Away" and "BRB" states, the "In a Call" extended status is not returned by Microsoft. When any of these status were manually set by users, Nimbus doesn't have additional information whether the user is already in a call, and will follow the plain "Away" status as defined in Distribution Service Settings to route the calls. 

⮑  As this is a Microsoft limitation, we cannot provide a fix or workaround for this at the moment.

 

🔍 Also see related Microsoft Documentation: User Presence States in Teams.

If you want to keep using "Presence Privacy mode" on your Teams tenant, you need to allow Nimbus to track extended presence. Otherwise Nimbus cannot route anything because presence states will not be available to Nimbus.

Grant Application Permission

You can grant the application permission for extended user tracking either by running the provisioning script as a Tenant Admin or clicking the grant link in Extensions Tenant Settings.

  1. Go to  Extensions Tenant Settings.
  2. In section Presence Tracking, click the grant permission button.
    ⮑ This will ask you to sign in with your account.
    💡 You need to sign in as a Tenant Administrator for granting the permission.

    ✅ A green checkmark is shown if the permission was granted successfully:
  3. Click Test Connection and enter your UPN if the permission was granted successfully.

Option B: Grant permission by running the provisioning script

✅ Granting permission by running the provisioning script requires Tenant Administrator rights. 
To grant the permission this way, run the provisioning script as a Tenant Administrator.

You can check if the permission was granted successfully:

  1. Go to Extensions Tenant Settings > Presence Tracking.
  2. Click Test Connection and enter your UPN.

Adjust Your Service Settings

💡 With granting the permission successfully performed, Nimbus is now able to distinguish between busy states.

✅  We recommend you to check the Service Settings > Distribution > Conversations Distribution tab and have conversations "Distributed to the user" even while busy. Nimbus will then automatically detect if a Nimbus user already handles a (direct) call and re-route incoming Nimbus service calls accordingly.

Table of Contents