Microsoft Teams
Communication Installation + User OAuth

Microsoft Teams

Integrate with Microsoft Teams channels and messaging via Azure AD OAuth.

Auth Model

Installation + User OAuth

Dual-credential model. An App is first installed into an organization or workspace (yielding an installation credential), then individual users authorize within that installation context (yielding user credentials). Authpipe manages both lifecycles.

Connection Flow

1
Admin installs App
2
Installation credential stored
3
Users authorize
4
User credentials stored
@authpipe/node
// Get the bot/app token (installation-level)
const { credential: botToken } = await authpipe.getCredential({
  provider: 'microsoft-teams',
  tenantId: 'org_acme',
  credentialFor: 'installation',
});

// Get a user-level token
const { credential } = await authpipe.getCredential({
  provider: 'microsoft-teams',
  tenantId: 'org_acme',
  userId: 'user_123',
  credentialFor: 'user',
});
// Both credentials are always valid — Authpipe handles refresh
@authpipe/react
// Install the App into a workspace
<InstallButton
  provider="microsoft-teams"
  onInstall={(inst) => console.log('Installed!', inst)}
/>

Available Scopes

Permissions you can request when connecting to Microsoft Teams.

User.Read

Sign in and read user profile

User.ReadBasic.All

Read basic profiles of all users in the organization

Team.ReadBasic.All

Read names and descriptions of all teams

Team.Create

Create new teams

Channel.ReadBasic.All

Read names and descriptions of all channels

Channel.Create

Create channels in any team

ChannelMessage.Read.All

Read all channel messages

ChannelMessage.Send

Send messages to channels

Chat.Read

Read the user's chat messages

Chat.ReadWrite

Read and send chat messages

Chat.Create

Create new chats

ChatMessage.Send

Send messages in chats

TeamsTab.ReadWrite.All

Read and write tabs in any team channel

TeamsAppInstallation.ReadForUser

Read which Teams apps are installed for the user

OnlineMeetings.ReadWrite

Read and create online meetings

Presence.Read.All

Read presence information for all users

offline_access

Maintain access to data the user has granted access to via refresh tokens

User.Read

Sign in and read user profile

User.ReadBasic.All

Read basic profiles of all users in the organization

Team.ReadBasic.All

Read names and descriptions of all teams

Channel.ReadBasic.All

Read names and descriptions of all channels

ChannelMessage.Send

Send messages to channels

Chat.Read

Read the user's chat messages

Chat.ReadWrite

Read and send chat messages

ChatMessage.Send

Send messages in chats

OnlineMeetings.ReadWrite

Read and create online meetings

Presence.Read.All

Read presence information for all users

offline_access

Maintain access to data the user has granted access to via refresh tokens

What Authpipe handles for Microsoft Teams

OAuth Orchestration

PKCE, state validation, callback handling, and provider-specific quirks — all automatic.

Encrypted Vault

AES-256-GCM encryption with per-tenant key isolation. OAuth tokens, API keys, and webhook secrets — never exposed to the frontend.

Silent Refresh

Proactive token refresh before expiry. SDK returns from local cache with zero latency.

Health Monitoring

Scheduled checks detect revoked tokens and expired credentials before users notice.

More Communication providers

Ready to connect Microsoft Teams?

Get your first 100 connections free. Set up in minutes with our SDK.