Skip to content

Microsoft Teams Device Presence Sync

The MS Teams device also synchronizes the user’s status from Teams to Daktela. So if the user is unavailable in Teams, users device state will be marked as busy / offiline in Daktela as well. For this to work, the MS Teams device number in Daktela must match the MS Teams device in Teams.

Warning

Customers using an on-premises instance of Microsoft Teams must have a Hybridsetup (on-prem + cloud sync). If they are still using an older Skype for Business Server installation, presence synchronization will not work — there is no official API available to retrieve presence data from that environment.


How to Configure Presence Sync

MS Teams Presence Sync is an extension for the MS Teams Devices integration. It requires the full completion of all configuration steps described in the MS Teams Devices article.

Microsoft Entra Admin Center:

  1. Go to https://entra.microsoft.com/
  2. → Application registration → New registration
  3. Extract these parameters:

  4. tenant_id

  5. client_id (Application/client ID)
  6. In Application registration, open the created application → Certificates & secrets → New client secret

  7. Validity period: 24 months

  8. Extract the secret value (copy the value before refreshing — it disappears afterwards)
  9. In Application registration, open the same app → API permissions → Add a permission → Microsoft Graph → add Application permissions:

  10. Directory.Read.All

  11. Presence.Read.All
  12. User.Read.All
  13. User.ReadBasic.All
  14. TeamsUserConfiguration.Read.All
  15. The tenant administrator must grant admin consent for all permissions. Tenant ID and Client ID extraction:

image-20260119-115421.png Application overviewSecret value extraction:

image-20260119-115611.png Certificates and secretsSetting up permissions:

image-20260119-115721.png API permissions

Integrations module in Daktela

  1. In Daktela, navigate to Settings → System → Integrations and “configure” MS Teams Device Presence Sync under External libraries.
  2. Name the integration and enter the Tenant ID, Client ID, and Client Secret that you retrieved earlier.
  3. Activate the integration.

image-20260121-095422.png MS Teams Device Presence Sync in Integrations


Presence states sync logic

MS Teams State Daktela Device State Note
Online Online User is ready in MS Teams = Daktela device is online.
Busy Offline User has selected, that they are busy = Daktela Device is NOT reachable.
DND (Do-Not-Disturb) Offline User has selected “Do Not Disturb” = Daktela Device is NOT reachable.
Be Right Back Offline User has selected, that they are away from keyboard at the moment = Daktela Device is NOT reachable.
Away / Appear Away Online User is inactive for a while in MS Teams = Daktela device is still online to prevent calls being dropped.
Call/Meeting in MS Teams Busy If a user has manually set a custom state in MS Teams, it may take precedence and override the call status. In such cases, the Daktela device state may remain "Offline" due to API limitations.)
Appear offline Offline User has selected, that they are offline = Daktela Device is NOT reachable.

Info

If this integration extension is NOT enabled, the Daktela device will remain "Online" at all times, regardless of the user's current status in MS Teams.

image-20260119-104840.png MS Teams user states