ESC
Type to search...

Presence.ReadWrite

Export JSON
Export CSV
Copy URL
Print
Delegated Read/Write User Scope

Allows the app to read the presence information and write activity and availability on behalf of the signed-in user. Presence information includes activity, availability, status note, calendar out-of-office message, timezone and location.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Delegated Permission User consent allowed

Read and write a user's presence information

Allows the app to read the presence information and write activity and availability on behalf of the signed-in user. Presence information includes activity, availability, status note, calendar out-of-office message, timezone and location.

Properties

Microsoft Graph v1.0 exact-category-docs

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

Microsoft Graph v1.0 exact-category-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "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

Microsoft Graph v1.0 exact-category

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
statusMessage presenceStatusMessage Presence status message of a user.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
POST /me/presence/clearAutomaticLocation
POST /me/presence/clearLocation
POST /me/presence/setAutomaticLocation
POST /me/presence/setManualLocation
POST /users/{id}/presence/clearPresence
POST /users/{id}/presence/clearUserPreferredPresence
POST /users/{id}/presence/setPresence
POST /users/{id}/presence/setStatusMessage
POST /users/{id}/presence/setUserPreferredPresence
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
POST /me/presence/clearAutomaticLocation
POST /me/presence/clearLocation
POST /me/presence/setAutomaticLocation
POST /me/presence/setManualLocation
POST /users/{id}/presence/clearPresence
POST /users/{id}/presence/clearUserPreferredPresence
POST /users/{id}/presence/setPresence
POST /users/{id}/presence/setStatusMessage
POST /users/{id}/presence/setUserPreferredPresence
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgUserPresence /users/{id}/presence/setStatusMessage
presence: setStatusMessage
Set-MgUserPresence /users/{id}/presence/setPresence
presence: setPresence
Set-MgUserPresenceAutomaticLocation /me/presence/setAutomaticLocation
presence: setAutomaticLocation
Set-MgUserPresenceManualLocation /me/presence/setManualLocation
presence: setManualLocation
Set-MgUserPresenceStatusMessage /users/{id}/presence/setStatusMessage
presence: setStatusMessage
Set-MgUserPresenceUserPreferredPresence /users/{id}/presence/setUserPreferredPresence
presence: setUserPreferredPresence
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaUserPresence /users/{id}/presence/setStatusMessage
presence: setStatusMessage
Set-MgBetaUserPresence /users/{id}/presence/setPresence
presence: setPresence
Set-MgBetaUserPresenceAutomaticLocation /me/presence/setAutomaticLocation
presence: setAutomaticLocation
Set-MgBetaUserPresenceManualLocation /me/presence/setManualLocation
presence: setManualLocation
Set-MgBetaUserPresenceStatusMessage /users/{id}/presence/setStatusMessage
presence: setStatusMessage
Set-MgBetaUserPresenceUserPreferredPresence /users/{id}/presence/setUserPreferredPresence
presence: setUserPreferredPresence

Code Examples

C# / .NET SDK
presence: clearAutomaticLocation
// Code snippets are only available for the latest version. Current version is 5.x

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Me.Presence.ClearAutomaticLocation.PostAsync();
JavaScript
presence: clearAutomaticLocation
const options = {
	authProvider,
};

const client = Client.init(options);

await client.api('/me/presence/clearAutomaticLocation')
	.post();
PowerShell
presence: clearAutomaticLocation
Import-Module Microsoft.Graph.CloudCommunications
# A UPN can also be used as -UserId.
Clear-MgUserPresenceAutomaticLocation -UserId $userId
Python
presence: clearAutomaticLocation
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python

await graph_client.me.presence.clear_automatic_location.post()

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Delegated permissions and search for Presence.ReadWrite

4

Grant Admin Consent

Users can consent to this permission during sign-in.