Skip to main content
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 in 2026. OAuth setup, channel mapping, troubleshooting, and what gets synced — complete in under 15 minutes.

10 min read
Kumar Makala

Kumar Makala is the founder of SyncRivo and CEO of KXN Technologies, specializing in enterprise messaging infrastructure and real-time cross-platform communication systems.

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 exact steps to set one up using SyncRivo in under 15 minutes.

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
  • 15 minutes — the actual setup time once both admin accounts are available
  • A SyncRivo account (free tier available at syncrivo.ai — no credit card required)

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 sign up for the Starter plan (free). The Starter plan includes your first Microsoft Teams ↔ Slack integration at no cost.

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 (recommended) or one-way (Teams → Slack, or Slack → Teams only)
  • Thread preservation: Enabled by default — replies in a Slack thread appear as replies in the Teams conversation, and vice versa
  • Keyword filters (optional): Only bridge messages containing specific keywords — useful for alert channels
  • User exclusion list (optional): Exclude specific bot users from being bridged

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 one second, it should appear in the paired Slack channel with:

  • Your display name as the sender
  • Thread structure intact
  • Any file attachments as links

Send a reply from the Slack side. It should appear in the Teams conversation thread within the same sub-second window.

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

Troubleshooting Common Setup Issues

Teams messages not appearing in Slack:

  1. Verify the Microsoft Graph change notification subscription is active (SyncRivo dashboard → Platform Health → Teams)
  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✅ Mapped equivalents
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 uses a zero-persistence routing architecture. Every message follows this path:

  1. Received from Microsoft Graph change notification or Slack Events API
  2. Display name and formatting translated in memory
  3. Delivered to the destination API (Slack Web API or Microsoft Graph)
  4. Immediately discarded — no message content is written to disk or database

Your data stays within your Microsoft and Slack tenant boundaries. SyncRivo never stores message content, attachment content, or user credentials.

SyncRivo is SOC 2 Type II certified and supports HIPAA-eligible workloads with a Business Associate Agreement (BAA) available on Enterprise plans. OAuth tokens are encrypted with AES-256 at rest and transmitted over TLS 1.3.

Ready to Connect Teams and Slack?

Your bridge should be live in under 15 minutes. 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 bridgeView SyncRivo pricingRead the complete Teams to Slack integration guide

Ready to connect your messaging platforms?

Bridge your messaging platforms in 15 minutes

Connect Slack, Teams, Google Chat, Webex, and Zoom with any-to-any routing. No guest accounts. No migration. SOC 2 & HIPAA ready.