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
// 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 // 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
Aircall
Manage calls, contacts, and phone system settings through Aircall's OAuth integration.
ClickSend
Send SMS, email, voice, fax, and postal mail through the ClickSend platform.
Dialpad
Integrate Dialpad phone, messaging, and contact center capabilities via OAuth.
Discord
Add Discord bots and authorize users with OAuth2 for guilds and identity access.
Ready to connect Microsoft Teams?
Get your first 100 connections free. Set up in minutes with our SDK.