Microsoft Teams App Permissions

Updated by Bryan Chapman

TL;DR

  • Thread installs one enterprise app in Microsoft Entra ID for all Teams + SSO functionality.
  • Admin consent is required once during onboarding.
  • Thread uses Delegated permissions only during setup and Application permissions for all ongoing operations.
  • If new Teams features require new Graph permissions, the admin will simply need to reauthorize the app.
  • End users will never be prompted for permissions.

Overview

Thread integrates deeply with Microsoft Teams and Microsoft 365. To do that safely and reliably, your Microsoft Entra tenant installs a single enterprise application that handles:

  • The Thread Teams app
  • The Thread Companion app
  • Thread’s Microsoft SSO

All permissions, sign-in behavior, and Graph API access flow through this one app.

This document explains what those permissions are and why they’re required.

Why Thread Needs Permissions

Thread uses Microsoft Graph to perform secure, automated actions inside your tenant.

Examples include:

  • Installing the Thread Teams app for your users
  • Allowing users to sign in with Microsoft SSO
  • Enabling Inbox, Messenger, and other Teams-powered functionality
  • Keeping bots and integrations active without tying them to any one admin account

Microsoft requires a tenant administrator to approve these capabilities — which is why onboarding includes an admin consent step.

Once approved, no user in your organization will see a permissions prompt again.

Types of Permissions Thread Uses

Thread uses two types of Microsoft Entra permissions to safely interact with your Teams environment: Delegated Permissions and Application Permissions. Each serves a different purpose in the integration. If the app ever needs additional permissions, only the tenant admin will be prompted — never end users.

Delegated Permissions

These permissions are granted once, during onboarding.

Used for:

  • Installing Thread into your Teams app catalog
  • Bootstrapping tenant-level setup

Delegated permissions act “as the admin” for a few setup tasks.

After that, Thread does not rely on a user account.

Application Permissions

After setup, Thread primarily uses application-level permissions, which allow the system to act as the Thread application itself.

Used for:

  • Running all Teams actions
  • Accessing Microsoft Graph without depending on any user
  • Ensuring Thread continues working even if the original admin account changes or is deactivated

This is what keeps Thread stable and prevents repeated consent prompts for your users.

Microsoft Single Sign-On (SSO)

Thread uses Microsoft SSO so your users can sign in securely using their Microsoft 365 identity.

To avoid unnecessary prompts for your users:

  • The SSO connector requests only the permissions already granted to the Thread enterprise app
  • This ensures a seamless sign-in experience across Inbox, Messenger, and the Teams app

Permissions

Below is a complete list of permissions the Thread Teams integration requests, along with what each permission enables and why it’s required.

Permission

What It Allows

Why Thread Needs It

AppCatalog.Read.All

View apps in the Teams app catalog

Validate whether Thread is installed in your tenant

AppCatalog.ReadWrite.All

Add/update/remove apps

Install and update the Thread Teams app

Channel.Create

Create Teams channels

Create channels for collaboration workflows

Channel.Delete.All

Delete channels

Clean up channels created by automations

Channel.ReadBasic.All

Read basic channel info

Identify existing channels and route messages correctly

Chat.Create

Start new 1:1 or group chats

Enable chat-based workflows initiated from Thread

Chat.ReadWrite.All

Read, send, and edit chat messages

Enable full chat functionality between Thread and Teams

ChatMember.ReadWrite.All

Manage chat members

Add/remove the right participants in chats

ChatMessage.Read.All

Read chat messages

Display chat context inside Thread

Domain.Read.All

View tenant domains

Confirm tenant identity and match domains

email

Access user email address

Match Microsoft users to Thread users

Files.Read.All

Read files users can access

Allow viewing/attaching Microsoft 365 files in Thread

Group.Read.All

View Microsoft 365 Groups

Understand team structure and membership

offline_access

Refresh tokens without sign-in

Ensures the integration continues working long-term

openid

Basic identity information

Required for Microsoft SSO

Organization.Read.All

Read organization metadata

Validate your Microsoft tenant configuration

profile

Access user profile info

Improve SSO accuracy and user mapping

Sites.Read.All

Read SharePoint sites

Access files or data stored behind Teams channels

Team.ReadBasic.All

View basic Teams info

Identify Teams your users belong to

TeamsAppInstallation.ReadWriteAndConsentForChat

Install/update apps within chats

Ensures the Thread app is installed everywhere it needs to be

User.Read

Read the signed-in user’s details

Basic SSO functionality

User.Read.All

Read all users’ profiles

Map Teams users to Thread users

User.ReadWrite.All

Update user properties

Required for a few Teams workflows that modify user metadata


How did we do?