Presence.Read.All
Allows the app to read presence information of all users in the directory without a signed-in user. Presence information includes activity, availability, status note, calendar out-of-office message, timezone and location.
Permission Details
Read presence information for all users
Allows the app to read presence information of all users in the directory without a signed-in user. Presence information includes activity, availability, status note, calendar out-of-office message, timezone and location.
a70e0c2d-e793-494c-94c4-118fa0a67f42
Read presence information of all users in your organization
Allows the app to read presence information of all users in the directory on behalf of the signed-in user. Presence information includes activity, availability, status note, calendar out-of-office message, timezone and location.
9c7a330d-35b3-4aa1-963d-cb2b9f927841
Properties
Properties is shown from stable Microsoft Graph v1.0 metadata.
| Property | Type | Description |
|---|---|---|
activity |
StringNullable |
The supplemental information to a user's availability. Possible values are available, away, beRightBack, busy, doNotDisturb, offline, outOfOffice, presenceUnknown. |
availability |
StringNullable |
The base presence information for a user. Possible values are available, away, beRightBack, busy, doNotDisturb, focusing, inACall, inAMeeting, offline, presenting, presenceUnknown. |
id |
String |
The unique identifier for the user. |
outOfOfficeSettings |
outOfOfficeSettings |
The out of office settings for a user. |
sequenceNumber |
StringRead-onlyNullable |
The lexicographically sortable String stamp that represents the version of a presence object. |
statusMessage |
presenceStatusMessage |
The presence status message of a user. |
workLocation |
userWorkLocation |
Represents the user’s aggregated work location state. |
JSON Representation
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"activity": "String",
"availability": "String",
"id": "String (identifier)",
"outOfOfficeSettings": {
"@odata.type": "#microsoft.graph.outOfOfficeSettings"
},
"sequenceNumber": "String",
"statusMessage": {
"@odata.type": "#microsoft.graph.presenceStatusMessage"
},
"workLocation": {
"@odata.type": "microsoft.graph.userWorkLocation"
}
}
Relationships
Relationships is shown from stable Microsoft Graph v1.0 metadata.
| Relationship | Type | Description |
|---|---|---|
statusMessage |
presenceStatusMessage |
Presence status message of a user. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
GET
/communications/presences/{id}
|
GET
/me/presence
|
GET
/users/{id}/presence
|
POST
/communications/getPresencesByUserId
|
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
GET
/communications/presences/{id}
|
GET
/me/presence
|
GET
/users/{id}/presence
|
POST
/communications/getPresencesByUserId
|
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Communications.GetPresencesByUserId;
var requestBody = new GetPresencesByUserIdPostRequestBody
{
Ids = new List<string>
{
"fa8bf3dc-eca7-46b7-bad1-db199b62afc3",
"66825e03-7ef5-42da-9069-724602c31f6b",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Communications.GetPresencesByUserId.PostAsGetPresencesByUserIdPostResponseAsync(requestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const presence = {
ids: ['fa8bf3dc-eca7-46b7-bad1-db199b62afc3', '66825e03-7ef5-42da-9069-724602c31f6b']
};
await client.api('/communications/getPresencesByUserId')
.post(presence);
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
ids = @(
"fa8bf3dc-eca7-46b7-bad1-db199b62afc3"
"66825e03-7ef5-42da-9069-724602c31f6b"
)
}
Get-MgCommunicationPresenceByUserId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.communications.get_presences_by_user_id.get_presences_by_user_id_post_request_body import GetPresencesByUserIdPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetPresencesByUserIdPostRequestBody(
ids = [
"fa8bf3dc-eca7-46b7-bad1-db199b62afc3",
"66825e03-7ef5-42da-9069-724602c31f6b",
],
)
result = await graph_client.communications.get_presences_by_user_id.post(request_body)
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for Presence.Read.All
Grant Admin Consent
Application permissions always require admin consent.