Breadcrumbs

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.

Customers using an on-premises instance of Microsoft Teams must have a Hybrid setup (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 registrationNew registration

  3. Extract these parameters:

    • tenant_id

    • client_id (Application/client ID)

  4. In Application registration, open the created application → Certificates & secretsNew client secret

    • Validity period: 24 months

    • Extract the secret value (copy the value before refreshing — it disappears afterwards)

  5. In Application registration, open the same app → API permissionsAdd a permissionMicrosoft Graph → add Application permissions:

    • Directory.Read.All

    • Presence.Read.All

    • User.Read.All

    • User.ReadBasic.All

    • TeamsUserConfiguration.Read.All

  6. The tenant administrator must grant admin consent for all permissions.

Tenant ID and Client ID extraction:

image-20260119-115421.png
Application overview

Secret value extraction:

image-20260119-115611.png
Certificates and secrets

Setting 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-095503.png
MS Teams synchronizace stavů v Integracích



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.

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