Setup needed for MS Teams status change subscription?

Tenneti Sudheer Kumar 20 Reputation points
2026-06-24T11:11:33.76+00:00

We currently use application permissions (client credentials) for Presence.Read.All and may extend it to Presence.ReadWrite.All. These permissions will let us use presence get and presence set / clear for MS teams integration.

We also need to subscribe to user status changes. Can presence change notification subscriptions be created using application permissions, or do they require delegated permissions?

We need to monitor presence for multiple users across several customer tenants. What is the recommended approach?

Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

1 answer

Sort by: Most helpful
  1. Jayden-P 24,710 Reputation points Microsoft External Staff Moderator
    2026-06-24T11:49:35.4733333+00:00

    Hi @Tenneti Sudheer Kumar

    Presence change notification subscriptions require delegated permissions and cannot be created using application permissions.

    Microsoft Graph explicitly does not support application (app-only) permissions for presence subscriptions; instead, they must be created in the context of a signed-in user (delegated) with permissions such as Presence.Read.All.

    User's image

    Ref: https://learn.microsoft.com/en-us/graph/changenotifications-for-presence

    You can also see the alternatives mentioned in the document. Polling for presence uses APIs like GET presence or getPresencesByUserId to repeatedly check a user’s status. This approach works well with application permissions and allows monitoring without a signed-in user, making it suitable for background services.

    However, it requires continuous API calls, which increases traffic and resource usage, and it does not provide real-time updates. There will be a delay depending on how often the app checks.

    You can also try using a hybrid model within a single application.

    The app uses application permissions to retrieve presence data via polling APIs, and delegated permissions (with a signed-in user) to create and manage presence subscriptions for real-time updates.

    I hope this information helps.


    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.