Forum Discussion
Report about Presence Status of User
Hello
Is it possible to have a report about the presence status of user.
Regards
Juan
2 Replies
- koenigSSIG-ITCopper Contributor
Adding the practical follow-up since Nivedipa's Graph answer only covers the single-user endpoint:
- For a multi-user report, use POST https://graph.microsoft.com/v1.0/communications/getPresencesByUserId with a JSON body containing up to 650 user IDs. Single round-trip, much more efficient than looping /users/{id}/presence.
- For historical reports (e.g. "how often was X available last week"), Graph does not store presence history. You need to either run a scheduled polling job (write to SharePoint List, Azure Storage Table, etc.) or use a tool that does this for you. Drago-Petrovic's MSB365 PowerShell script on GitHub (Teams_PresenceReport) is a solid starting point.
- For a live overview dashboard (vs. report), TeamsDashboard (teamsdashboard.com) handles the batch poll + UI + filters and shows it as a URL you can open on any screen. 14-day trial, EU-hosted/GDPR.
Hope this helps Juan and future readers landing here.
(Disclosure: I built TeamsDashboard.)
- Nivedipa-MSFT
Microsoft
@JFM_12 - Thanks for bringing this issue to our attention.
You can report on a user's presence status in Microsoft Teams by integrating with the Microsoft Graph API.
Here’s how it works:
- Microsoft Graph API offers endpoints to retrieve a user's presence, such as Available, Busy, or Away.
- Your bot or app must have the necessary permissions (Presence.Read or Presence.Read.All) in Azure AD.
- To access this information, use the endpoint:
GET https://graph.microsoft.com/v1.0/users/{user-id}/presence
Reference documentation: Get presence - Microsoft Graph v1.0 | Microsoft Learn
Thanks,
Nivedipa
---------------------------------------------------------------------------------------------------------------------
If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate.