Graph API Presence should support Application permissions
Currently only delegated user permissions are supported, and this is very sub-optimal for bots and service applications that need to monitor Teams presence of users.
- ericrrichardsSteel Contributor
DarrelMiller I posted this in the first place because I had become frustrated with the insane hoops that I have had to jump through to abuse the delegated permissions over the past year.
My application is a call-center type application that distributes incoming chats to a pool of agents based upon their availability in Teams. Originally, this was built around the OCS/Lync/Skype for Business UCMA TrustedApplication platform, and it was simple to subscribe to presence changes for the users in the call queues. When we rewrote the application for Teams, initially there was no presence API at all, then the beta presence polling API was added, and finally there's now the production presence API, such as it is. The delegated presence permission doesn't fit well here for a server application watching the presence state of a pool of users, but we have abused the API such as it exists by requiring that one of the admin users of the application sign in to the web interface, so that we can log them in through Azure AD and obtain their access token, that we maintain and then use for the application to poll presence with. I feel dirty just explaining the process...
I don't see a strong reason why querying for presence information should be handled much differently, permissions-wise, from the way that Graph API handles classic profile or LDAP directory type information.
- DarrelMillerMicrosoft
Corey Richardson and everyone else on this thread. Thank you all for your feedback. You may sometimes think that these comments fall on deaf ears but they do not. It took us too long to get here, but your feedback was a major influence on helping to prioritize this work over other features.
And thank you to AnnieWang for stepping up and representing your team here when this feature request was already old enough to walk. I know how hard it is to be the messenger between a frustrated community and product team that have a wide range of pressures driving the backlog of work.
- eyardeni1975Copper Contributor
The documentation still claims this is not supported
https://learn.microsoft.com/en-us/graph/api/presence-get?view=graph-rest-1.0&tabs=http#permissions
Am I missing something?