What is the actual difference between Activity 'Busy' and Activity 'InACall' for getting presence notifications through my Webhook configured?

Julia 0 Reputation points
2025-03-20T11:14:51.5933333+00:00

I have a custom communication platform, similar to MS Teams. It has been configured for integration with Microsoft Teams.

When I have a call initiated from my application, the presence notification sent through the Graph API to Teams has availabilty 'Busy' activity 'InACall'.

With this event, the user status in Teams changes to Busy.

So this triggers an event to be sent back to my application, through the Webhook I have configured.

What should I expect in the notification payload? Should the notification have availability 'Busy' and activity 'Busy'? This is what I have been seeing up to now.

However, recently, I am obtaining notifications with availability 'Busy' and activity 'InACall' instead of 'Busy' as a response to the call initiated from my custom application

Is it random what the activity will be set to?

I was under the impression that activity 'InACall' is only sent out from an MS Teams notification, if the user is in a Teams initiated call and that 'Busy' activity is set if the status was updated manualy in Teams or if the event from Teams is a response event from a setPresence sent though MS Graph.

Thanks

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
13,538 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Aashutosh Tiwari - MSFT 115 Reputation points Microsoft External Staff
    2025-03-20T17:36:10.7766667+00:00

    Hi Julia,

    Thank you for reaching out to Microsoft!

    To answer your question, please find the difference between 'Busy' and 'InACall' status

    Busy: This status indicates that the user is occupied and does not want to be disturbed.

    InACall: This status specifically indicates that the user is currently on a call.

    Further it's possible to set status to "Busy" or "In A Call" through Microsoft Graph, for that please use the API as per documentation https://learn.microsoft.com/en-us/graph/api/presence-setpresence?view=graph-rest-1.0&tabs=http

    POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setPresence

    Along with Request Body
    Content-Type: application/json
    {
    "sessionId": "22553876-f5ab-4529-bffb-cfe50aa89f87",
    "availability": "Available",
    "activity": "Available",
    "expirationDuration": "PT1H"
    }

    Hope this helps.

    If the answer is helpful, please click Accept Answer and kindly upvote it. If you have any further questions about this answer, please click Comment

    1 person found this answer helpful.

Your answer

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