SOLVED

Setting presence using api

%3CLINGO-SUB%20id%3D%22lingo-sub-2110921%22%20slang%3D%22en-US%22%3ESetting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2110921%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20%3A)%3C%2Fimg%3E%20I'm%20developing%20a%20react%20app%20for%20Teams%20and%20I%20would%20like%20to%20ask%20how%20to%20set%20user%20presence%20in%20Teams.%20My%20main%20goal%20is%20to%20make%202-way%20state%20synchronization%20between%20users%20in%20my%20system%20and%20users%20in%20Teams.%20In%20the%20GraphAPI%20I%20had%20found%20only%20the%20way%20to%20get%20user%20presence%2C%20but%20not%20to%20change%20it.%20I%20have%20also%20tried%20tinkering%20a%20bit%20with%20this%20PUT%20route%20(%3CA%20href%3D%22https%3A%2F%2Fpresence.teams.microsoft.com%2Fv1%2Fme%2Fforceavailability%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fpresence.teams.microsoft.com%2Fv1%2Fme%2Fforceavailability%3C%2FA%3E)%20but%20without%20big%20success.%20Is%20there%20a%20way%20to%20achieve%20it%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ERegards%26nbsp%3B%3C%2FP%3E%3CP%3EBart%C5%82omiej%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2110921%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3Edeveloper%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2112193%22%20slang%3D%22en-US%22%3ERe%3A%20Setting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2112193%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F780778%22%20target%3D%22_blank%22%3E%40Manish-MSFT%3C%2FA%3Ethank%20you%20for%20your%20response%20%3A)%3C%2Fimg%3E%20Are%20there%20any%20other%20ways%20to%20manage%20the%20presence%20of%20Teams%20users%2C%20but%20without%20using%20graph%20api%2C%20like%20some%20kind%20of%20backend%20library%2C%20sdk%3F%3C%2FP%3E%3CP%3EAnd%20the%20second%20question.%20When%20you%20said%20that%20this%20is%20not%20achievable%20by%20design%2C%20you%20meant%20right%20now%20or%20are%20there%20any%20plans%20for%20the%20future%20to%20add%20this%20feature%3F%20Thank%20you%20for%20your%20time%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2112178%22%20slang%3D%22en-US%22%3ERe%3A%20Setting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2112178%22%20slang%3D%22en-US%22%3E%3CP%3ENo%2C%20there%20is%20no%20way%20to%20achieve%20the%20desired%20behavior%2C%20You%20can%20get%20user%20presence%20but%20not%20modify%20it%20using%20graph%20API.%20This%20is%20by%20design.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2145693%22%20slang%3D%22en-US%22%3ERe%3A%20Setting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2145693%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F951621%22%20target%3D%22_blank%22%3E%40Blizth%3C%2FA%3E%2C%3C%2FP%3E%0A%3CDIV%3ENo%2C%20there%20is%20no%20way%20to%20achieve%20the%20desired%20behavior%2C%20You%20can%20get%20user%20presence%20but%20can't%20modify%20it%20by%20using%20graph%20API%2C%20sdk%20or%20with%20any%20other%20back%20end%20library.%20This%20won't%20be%20implemented%20in%20the%20near%20future.%20It's%20by%20design.%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2145750%22%20slang%3D%22en-US%22%3ERe%3A%20Setting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2145750%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F906127%22%20target%3D%22_blank%22%3E%40Jagadeesh-MSFT%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20answer.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2388127%22%20slang%3D%22en-US%22%3ERe%3A%20Setting%20presence%20using%20api%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2388127%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F906127%22%20target%3D%22_blank%22%3E%40Jagadeesh-MSFT%3C%2FA%3EThat's%20bad%20design%20then.%20And%20the%20%3CA%20href%3D%22https%3A%2F%2Fmicrosoftteams.uservoice.com%2Fforums%2F555103-public%2Fsuggestions%2F39651298-microsoft-graph-presence-api%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3Euser-voice%20request%3C%2FA%3E%20that%20explicitly%20asked%20for%20put-permission%20has%20been%20closed%20as%20solved%20after%201600%2B%20votes.%20From%20the%20top%20of%20my%20head%20I%20can%20think%20of%2020%2B%20scenarios%20where%20this%20would%20be%20super%20useful.%20Only%20allowing%20the%20app%20and%20other%20Microsoft%20products%20to%20set%20your%20availability%20status%20is%20bad%20design.%20The%20user%20requests%20prove%20this%2C%20as%20usual%20Microsoft%20doesn't%20listen.%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

Hi :) I'm developing a react app for Teams and I would like to ask how to set user presence in Teams. My main goal is to make 2-way state synchronization between users in my system and users in Teams. In the GraphAPI I had found only the way to get user presence, but not to change it. I have also tried tinkering a bit with this PUT route (https://presence.teams.microsoft.com/v1/me/forceavailability) but without big success. Is there a way to achieve it?

 

Regards 

Bartłomiej

5 Replies

No, there is no way to achieve the desired behavior, You can get user presence but not modify it using graph API. This is by design. 

@Manish-MSFTthank you for your response :) Are there any other ways to manage the presence of Teams users, but without using graph api, like some kind of backend library, sdk?

And the second question. When you said that this is not achievable by design, you meant right now or are there any plans for the future to add this feature? Thank you for your time :)

best response confirmed by Blizth (New Contributor)
Solution

Hi @Blizth,

No, there is no way to achieve the desired behavior, You can get user presence but can't modify it by using graph API, sdk or with any other back end library. This won't be implemented in the near future. It's by design.

 

@Jagadeesh-MSFT 

Thank you for your answer. 

@Jagadeesh-MSFTThat's bad design then. And the user-voice request that explicitly asked for put-permission has been closed as solved after 1600+ votes. From the top of my head I can think of 20+ scenarios where this would be super useful. Only allowing the app and other Microsoft products to set your availability status is bad design. The user requests prove this, as usual Microsoft doesn't listen.