azureblog.co.uk
← cd ~/compare
// compare · graph permissions

Chat.Read.All vs Chat.ReadWrite.All

Two Microsoft Graph permissions that are easy to mix up, side by side.

In short: Chat.Read.All only reads. Chat.ReadWrite.All can also create, change or delete. Use the read-only one unless your app needs to write.

Permission typeChat.Read.AllChat.ReadWrite.All
ApplicationRead all chat messages
Allows the app to read all 1-to-1 or group chat messages in Microsoft Teams.
Always needs admin consent · High risk
Read and write all chat messages
Allows an app to read and write all chat messages in Microsoft Teams, without a signed-in user.
Always needs admin consent · High risk
DelegatedNot available as a delegated permissionRead and write all chat messages
Allows an app to read and write all one-to-one and group chats in Microsoft Teams, without a signed-in user. Does not allow sending messages.
Needs admin consent · High risk

Spotted something out of date or wrong? Tell us and we'll fix it.