Skip to main content

We use cookies for essential site functions and anonymous analytics. Choose what to allow.

Accepts all cookies and closes this banner
Reject All
Back to Insights
Use CasesGuide

How to Set Up Microsoft Teams to Slack Integration (2026 Step-by-Step Guide)

Step-by-step guide to connecting Microsoft Teams and Slack: app approval, OAuth setup, channel mapping, troubleshooting, and what gets synced between platforms.

Published
10 min read
Kumar Makala

Kumar Makala is the founder of SyncRivo, a messaging interoperability platform that bridges Slack, Microsoft Teams, Google Chat, Webex and Zoom Team Chat.

How to Set Up Microsoft Teams to Slack Integration (2026 Step-by-Step Guide)

A Microsoft Teams to Slack integration lets users on either platform send and receive messages without switching apps. This guide walks you through the steps to set one up using SyncRivo.

What You Need Before You Start

Before connecting Teams and Slack, confirm you have:

  • Microsoft 365 Global Admin or Teams Service Admin access — required to authorize the Microsoft Graph API scopes SyncRivo needs (ChannelMessage.Read.All, ChannelMessage.Send, User.Read.All)
  • Slack Workspace Admin access — required to authorize SyncRivo's OAuth app in your Slack workspace
  • Admin availability — your first channel bridge is typically live during onboarding, once your Slack and Teams admins approve the app
  • A SyncRivo account (book a guided demo at syncrivo.ai to get started)

You do not need to write any code, configure any servers, or open any firewall rules. SyncRivo handles the integration entirely through Microsoft Graph and Slack's native APIs.

Step 1: Create a SyncRivo Account

Go to syncrivo.ai/pricing and book a demo to get started. The Enterprise plan (custom pricing) includes your Microsoft Teams ↔ Slack integration.

Once your account is created, you'll land in the SyncRivo dashboard. You'll see two sections: Platforms (where you connect Teams and Slack) and Bridges (where you define which channels talk to which).

Step 2: Authorize Microsoft Teams

From the dashboard, click Add Platform → Microsoft Teams.

You'll be redirected to the Microsoft identity platform consent screen. Sign in with your Microsoft 365 admin account and review the requested permissions:

PermissionReason
ChannelMessage.Read.AllRead messages from connected Teams channels
ChannelMessage.SendPost bridged Slack messages into Teams
User.Read.AllMap display names between platforms
Channel.ReadBasic.AllList channels for mapping UI

Click Accept. Microsoft will create an application consent record in your Azure Active Directory tenant. This is a one-time action — individual users do not need to grant permissions.

Common issue: If you see "Need admin approval," your tenant requires admin consent for third-party apps. Ask your Global Admin to approve SyncRivo in the Azure AD Enterprise Applications panel under admin consent requests.

Step 3: Authorize Slack

Back in the SyncRivo dashboard, click Add Platform → Slack.

You'll be redirected to Slack's OAuth authorization screen. Sign in with your Slack Workspace Admin account and review the requested OAuth scopes:

ScopeReason
channels:readList channels for the mapping UI
channels:historyRead messages for bidirectional sync
chat:writePost bridged Teams messages into Slack
users:readMap user display names

Click Allow. Slack will issue SyncRivo a workspace-scoped OAuth token stored encrypted at rest.

Required Slack plan: SyncRivo works with Slack Pro, Business+, and Enterprise Grid. The free Slack plan does not expose the Events API or channels:history scope at the level needed for real-time sync.

Step 4: Map Your Channels

With both platforms authorized, click Create Bridge in the dashboard.

You'll see two dropdown menus — one for your Teams channels and one for your Slack channels. Select the pair you want to connect.

Configuration options:

  • Sync direction: Bidirectional
  • Thread preservation: Enabled by default — replies in a Slack thread appear as replies in the Teams conversation, and vice versa
  • Per-connection switches: Turn attachments, reactions, in-place edits and deletes, retry, and showing the sender's name/email on or off for each connection

Click Activate Bridge. The bridge is now live.

You can map multiple channel pairs under a single SyncRivo subscription — each pair syncs independently with its own configuration.

Step 5: Test the Bridge

Post a test message in your mapped Teams channel. Within seconds, it should appear in the paired Slack channel with:

  • Your display name as the sender (Slack still shows its APP label on bridged messages)
  • Thread structure intact
  • Any file attachments as links

Send a reply from the Slack side. It should appear in the Teams conversation thread within seconds.

If messages are not flowing, see the troubleshooting section below.

Troubleshooting Common Setup Issues

Teams messages not appearing in Slack:

  1. Verify the SyncRivo app is installed to the team that owns the channel — Teams channel messages reach SyncRivo through that team-level app installation
  2. Check that the Teams channel selected is a public channel — private channels require additional Graph API scopes (ChannelMessage.ReadPrivate.All) and a separate admin consent step
  3. Confirm the SyncRivo service status at status.syncrivo.ai

Slack messages not appearing in Teams:

  1. Verify the Slack Events API connection is active (SyncRivo dashboard → Platform Health → Slack)
  2. Confirm the Slack workspace is on Pro, Business+, or Enterprise Grid — free workspaces do not support the real-time Events API

Messages showing the wrong sender name: SyncRivo maps display names by email address. If a Teams user and a Slack user have different email addresses, the bridged message will show "[Teams] FirstName LastName" as the sender. To resolve, ensure both accounts use the same email, or configure a custom display name mapping in SyncRivo's user settings.

Microsoft admin consent error: If you see "AADSTS65001: The user or administrator has not consented," your Azure AD tenant requires admin pre-approval for SyncRivo's application ID. Navigate to Azure Active Directory → Enterprise Applications → Admin Consent Requests and approve SyncRivo.

What Gets Synced Between Teams and Slack

ElementSynced
Text messages✅ Full content
Thread replies✅ Bidirectional
File attachments✅ As secure links
Sender display name✅ Mapped by email
@mention routing✅ Cross-platform
Emoji reactions⚠️ Limited on Teams (only for people who connected their Teams account; six Teams reaction types)
Message edits✅ Both directions
Message deletions✅ Both directions
Meeting invites❌ Not supported
Voice/video calls❌ Not supported

The bridge handles text-first collaboration: messages, threads, files, and reactions. Voice, video, and calendar invites remain platform-native.

Security and Compliance

SyncRivo does not store message content on the normal relay path. Every message follows this path:

  1. Received from Microsoft Teams (Bot Framework) or the Slack Events API
  2. Display name and formatting translated in memory
  3. Delivered to the destination API (Slack Web API or Microsoft Teams)
  4. Only message IDs are kept, so threads, edits, and reactions stay in sync; an optional retry queue temporarily holds undelivered messages

File bytes pass through memory and are not stored.

SyncRivo does not currently hold a SOC 2 report; we provide a security questionnaire and architecture review on request. A Business Associate Agreement (BAA) is available for Enterprise customers. OAuth tokens are encrypted at rest, and traffic is encrypted in transit with TLS.

Ready to Connect Teams and Slack?

Your first channel bridge is typically live during onboarding, once your Slack and Teams admins approve the app. Start with a single channel pair — your most active cross-platform channel is usually the best candidate — and expand from there.

→ Set up your Microsoft Teams to Slack bridge → View SyncRivo pricing → Read the complete Teams to Slack integration guide

Bridge your messaging platforms without migrating

Connect Slack, Teams, Google Chat, Webex, and Zoom with any-to-any routing. No guest accounts. No migration. BAA available for Enterprise.

cookie_consent.banner.aria_announcement