Microsoft Teams

Improve your customer collaboration by connecting seamlessly with Teams while operating smoothly within Slack.

❗️

Admin privileges for setup

If not a Global Administrator, share authorization link with your organization's admin.

Overview

Thena's Microsoft Teams integration with the Slack App offers a streamlined communication platform for your team and customers. This integration enables your team to support customers via Slack while interacting with users on Microsoft Teams. This guide provides a detailed step-by-step process for new users to install and utilize the product.

Imagine you're working on Slack, but your customer is using Microsoft Teams. You want to provide customer support without leaving the Slack environment. In this scenario, the Microsoft Teams integration with the Slack App enables you to create a shared channel on Microsoft Teams and mirror the conversation in a Slack channel. This setup allows you to manage all communication directly from Slack.

See in action

Key Features

FeatureSupport
Seamless communication between vendors on Slack and their customers on Microsoft Teams.βœ…
Mirror conversations between Microsoft Teams and Slack channels.βœ…
Seamless request detection and workflow continuation.βœ…
Reactionsβœ…
Threaded messagesβœ…
Attachmentsβœ…
Text formatting (Bold, Italics etc)βœ…
Mirror vendor users' status and presence on Microsoft Teams.Coming soon
Ability to initiate DMs and group chats.Coming soon
Support for mentions in both Microsoft Teams and Slack channels.Coming soon
Support for Bot messagesComing soon

Richtext support

FeatureDescriptionTeams to SlackSlack to Teams
Bold textSupport for bold texts in a message sent from Teams to Slackβœ…βœ…
ItalicsSupport for italic texts in a message sent from Teams to Slackβœ…βœ…
UnderlinedSupport for underlined texts in a message sent from Teams to Slack❌❌
StrikethroughSupport for strikethrough texts in a message sent from Teams to Slackβœ…βœ…
Colored textSupport for colored texts in a message sent from Teams to Slack❌❌
Bullet listSupport for bulleted list in a message sent from Teams to Slackβœ…βœ…
Numbered listSupport for numbered list in a message sent from Teams to Slackβœ…βœ…
Indented textSupport for indented text in a message sent from Teams to SlackβŒβœ…
Quoted textSupport for quoted text in a message sent from Teams to Slackβœ…βœ…
Code blocksSupport for code blocks in a message sent from Teams to Slackβœ…βœ…

Message types

FeatureDescriptionTeams to SlackSlack to Teams
URLs in messagesSupport for URLs in a message sent from Teams to Slackβœ…βœ…
Hyperlinks in messagesSupport for hyperlinks in a message sent from Teams to Slackβœ…βœ…
Subject textSupport for subject of the message threadβœ…βŒ
Replies to messagesSupport for replies to a specific message (threaded messages)βœ…βœ…
Direct messagesSupport for direct individual & group messages, and history & notifications❌❌
User mentionsMention the user mentioned in the message in a textβœ…βŒ
Channel mentionsMention the channel mentioned in the message❌❌
Role mentionsMention the role mentioned in the message❌❌
Tag mentionsMention the tag created on Teams in the message❌❌

Attachment support

FeatureDescriptionTeams to SlackSlack to Teams
Image files (JPEG, PNG, GIF, BMP, SVG)Support for image files (uploads) in a message sentβœ…βœ…
PDF filesSupport for pdf files (uploads) in a message sentβœ…βœ…
Word documentsSupport for word docs (uploads) in a message sentβœ…βŒ
Text documentsSupport for text files (uploads) in a message sent❌❌
Excel spreadsheetsSupport for spreadsheets (uploads) in a message sentβœ…βŒ
PowerPoint presentationsSupport for ppts (uploads) in a message sentβœ…βŒ
Audio files (MP3, WAV)Support for audio files (uploads) in a message sentβœ…βœ…
Video files (MP4, AVI, MOV)Support for video files (uploads) in a message sentβœ…βœ…
Zip, RAR filesSupport for zip files (uploads) in a message sentβœ…βœ…
PSDSupport for PSD files (uploads) in a message sentβœ…βœ…
CADSupport for CAD files (uploads) in a message sentβœ…βœ…
Executable filesSupport for exe files in a message sentβœ…βŒ
Attachment preview and downloadAttachments view and download abilityβœ…βœ…

*If your team members do not have a Microsoft Teams license, their messages will be delivered using the Thena bot. Attachments are currently not supported when sending messages from Slack to Microsoft Teams through the Thena bot.

Video and audio messages

FeatureTeams to SlackSlack to Teams
Audio messagesβŒβœ…
Video messages❌❌
Audio message playbackβŒβœ…
Video message playbackβŒβœ…

Emoji support

FeatureDescriptionTeams to SlackSlack to Teams
Standard emojisSupport for standard emojis in messageβœ…βŒ
Custom emojisSupport for custom emojis in message❌❌
Standard emoji reactionsSupport for standard emojis on message reactionsβŒβœ…
Custom emoji reactionsSupport for custom emojis on message reactions❌❌

Support for editing and deleting messages

FeatureDirectionSent via userSent via botSent via admin
Edit messageSlack to Teamsβœ…βŒβŒ
Edit messageSlack to Teamsβœ…βŒβŒ
Delete messageTeams to Slackβœ…βŒβŒ
Delete messageTeams to Slackβœ…βŒβŒ

🚧

Creating, deleting, or editing channels across Teams and Slack is not supported.

🚧

User statuses (online, offline, away, etc.) are not synced between Teams and Slack.

Pre-requisites

You will require the following:

  1. Microsoft Team's licence for your team members.
  2. Global Admin Privileges - Necessary because Thena utilises Microsoft Graph API for this connector and you require Global Admin Privileges for authentication
  3. Configure Thena Request management on slack

Integration Steps

To connect Thena and Microsoft Teams with Slack, simply follow these steps:

  1. Sign in to the Thena web app, navigate to global settings, select Integrations, and choose MS Teams.
  2. Click on 'Download'.
  1. Go to MS Teams, and under the 'Apps' section, select 'Manage your Apps'.
  2. Click on 'Upload an app' and upload the downloaded Thena zip file on Step 2.
  1. Navigate to the 'Thena Custom app' and click on 'Add'.

🚧

Select "Add to a Team" option

Ensure that Thena is added to every customer Team.

  1. Send a message to the bot with the text "login" as shown below and you will get a login link to authorise Thena as a user.
  1. Click on the Login button and provide access the requested permissions to Thena.
  1. After configuring Microsoft Teams for Thena, navigate back to the Thena web app and check the box next to "I've configured Microsoft Teams for Thena"
  2. Once the configuration is complete, click on the "Connect" button to initiate the OAuth flow. This will connect your organisation's Microsoft Teams tenant to Thena. Make sure to follow the instructions and complete the process.
  1. Once the authorization is complete, you'll be redirected to the configuration page.

  2. Next, proceed with the channel and user sync.

    1. Syncing channels between Slack and Microsoft Teams involves fetching channel and user data and creating subscriptions for the channels. These subscriptions enable messages to be sent back and forth between Slack and MS Teams.
    2. Syncing users allows you to post messages as a user in Teams. If this is not set up, the messages would be delivered as Thena bot. Only those users, present in the synced channel would appear under Sync users.
    Sync channels

    Sync channels

🚧

Teams Channel

Please be aware that the list includes team channels you've personally created. Channels created by customers will not be displayed here.

It is advisable for you to initiate team/channel and invite your customers to it.

Supported channel types

Type of channelSupported on ThenaMS Teams link
Standardβœ…Standard channels
Sharedβœ…Private channels
Privateβœ…Shared channels

Broadcasts on MS Teams

Thena supports Broadcasts on your MS Teams channels. Click to learn more about Broadcasts.

When you send a Broadcast to a Slack channel which is mapped with a channel in MS Teams, we deliver the same to your MS Teams channel under the following conditions and constraints:

  1. If the Broadcast is sent as a bot from Thena (if you haven't authorized Slack to reply as yourself on Thena, or send as a colleague, or send as the workspace name) - Broadcast will be posted on the MS Teams channel as the bot. If the Thena bot is not part of the channel or if it is a shared or private channel, the message will be posted as the Admin, provided the admin who installed Thena on your Team is part of the channel. However, in this case, the formatting of the Broadcast will not be as accurate as on Thena editor, with no support for rich text, image unfurls, or emojis.
  2. If the Broadcast is sent as the authorized user (with a valid token) - Broadcast will be delivered as the user if the user has a valid token on Teams. Otherwise, it will fall back to the methods mentioned above.
Broadcast in SlackMS Teams Channel TypeThena authorised to post in MS Teams as user?Thena bot present in MS Teams channel?Admin present in the MS Teams channel?Sent to MS Teams as
Sent via Thena Slack bot (as colleague or as workspace or as your user)Standardβœ…βœ…βœ…Thena Bot
Sent via Thena Slack bot (as colleague or as workspace or as your user)Standardβœ…βœ…βŒThena Bot
Sent via Thena Slack bot (as colleague or as workspace or as your user)Standardβœ…βŒβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Standardβœ…βŒβŒNot Sent to MS Teams
Sent via Thena Slack bot (as colleague or as workspace or as your user)StandardβŒβœ…βœ…Thena Bot
Sent via Thena Slack bot (as colleague or as workspace or as your user)StandardβŒβœ…βŒThena Bot
Sent via Thena Slack bot (as colleague or as workspace or as your user)StandardβŒβŒβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Standard❌❌❌Not Sent to MS Teams
Sent via Thena Slack bot (as colleague or as workspace or as your user)Privateβœ…NAβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Privateβœ…NA❌Not Sent to MS Teams
Sent via Thena Slack bot (as colleague or as workspace or as your user)Private❌NAβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Private❌NA❌Not Sent to MS Teams
Sent via Thena Slack bot (as colleague or as workspace or as your user)Sharedβœ…NAβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Sharedβœ…NA❌Not Sent to MS Teams
Sent via Thena Slack bot (as colleague or as workspace or as your user)Shared❌NAβœ…Admin
Sent via Thena Slack bot (as colleague or as workspace or as your user)Shared❌NA❌Not Sent to MS Teams
Send as me via user authenticated tokenStandardβœ…βœ…βœ…User
Send as me via user authenticated tokenStandardβœ…βœ…βŒUser
Send as me via user authenticated tokenStandardβœ…βŒβœ…User
Send as me via user authenticated tokenStandardβœ…βŒβŒUser
Send as me via user authenticated tokenStandardβŒβœ…βœ…Thena Bot
Send as me via user authenticated tokenStandardβŒβœ…βŒThena Bot
Send as me via user authenticated tokenStandardβŒβŒβœ…Admin
Send as me via user authenticated tokenStandard❌❌❌Not Sent to MS Teams
Send as me via user authenticated tokenPrivateβœ…NAβœ…User
Send as me via user authenticated tokenPrivateβœ…NA❌User
Send as me via user authenticated tokenPrivate❌NAβœ…Admin
Send as me via user authenticated tokenPrivate❌NA❌Not Sent to MS Teams
Send as me via user authenticated tokenSharedβœ…NAβœ…User
Send as me via user authenticated tokenSharedβœ…NA❌User
Send as me via user authenticated tokenShared❌NAβœ…Admin
Send as me via user authenticated tokenShared❌NA❌Not Sent to MS Teams
Broadcast sent via the admin

Broadcast sent via the admin

Message delivery fallbacks

Slack to MS Teams

Messages from Slack to MS Teams are delivered using the user token of the user messaging in the Slack channel.

Fallback to bot

If the user messaging in Slack has not provided the user token in MS Teams or does not have a valid MS Teams license, we try to post the message in MS Teams using the Thena bot.

The messaging user is informed in Slack via an ephemeral about the same (only visible to the user)

Fallback to admin user

If the user messaging in Slack has not provided the user token in MS Teams or does not have a valid MS Teams license and we are unable to post the message using the Thena bot in MS Teams, we use the credentials of the admin who authenticated MS Teams with Thena to send the message in MS Teams.

The messaging user is informed in Slack via an ephemeral about the same (only visible to the user)

MS Teams to Slack

Messages from MS Teams are delivered in mapped Slack channels via the Thena bot and white labelled using the username and user profile of the user sending the message in MS Teams

Use cases

Standard channel on Teams

When your customer is on MS Teams, it is advised to create a 'Standard channel' on Teams and add Thena to this channel to communicate with your customers. Standard channels falls back to Thena bot messages when the user (vendor side) is not synced with MS Teams and is replying on the thread.

Shared channel on Teams

When your customer is on MS Teams and you have a shared channel with the customer, Thena does not support fallback bot messages if the user (vendor) is not synced with MS Teams. In order for this to function, it is mandatory for each user to sync with MS Teams individually in order to reply successfully on the channel.

Scope

Application scopes requested by Thena to connect

ScopeDescriptionUse case
AppCatalog.Read.AllRead all app catalogsAllows Thena to check if the application is installed in the app catalog.
Channel.ReadBasic.AllRead the names and descriptions of all channelsAllows Thena to import all the channels from selected Teams.
Channel.CreateCreate channelsAllows Thena to create channels in selected Teams.
ChannelMessage.Read.AllRead all channel messagesAllows Thena to read all connected channel messages .
Chat.Read.AllRead all chat messagesAllows Thena to read all connected DM and group chat messages.
ChatMember.ReadWrite.AllAdd and remove members from all chatsAllows Thena to add new members to an existing DM or group chat.
Chat.CreateCreate chatsAllows Thena to create new DM's and group chats.
Sites.ReadWrite.AllRead items in all site collections and upload filesAllows Thena to fetch files and upload in channels
GroupMember.Read.AllRead all group membershipsAllows Thena to read group membership to keep channel membership rosters up to date.
Team.ReadBasic.AllGet a list of all teamsAllows Thena to show all the Teams when connecting the platform so the user can select which teams they would like to import.
GroupMember.ReadWrite.AllRead and write all group membershipsAllows Thena to add new members to the selected Team.
Team.CreateCreate teamsAllows Thena to create new Teams (Groups).
Organization.Read.AllRead organization informationAllows Thena to read your organization details to set up the account.
User.ReadWrite.AllRead and write all users' full profilesAllows Thena to read basic information (email, name and avatar) about users in selected Teams.
TeamsAppInstallation.ReadWriteForUser.AllManage Teams apps for all usersAllows Thena to install the app to a user so that Thena can send messages (prompts) to the user.
Group.Read.AllRead and write all groupsAllows Thena to create a subscription to group changes
TeamsAppInstallation.ReadWriteForTeam.AllManage Teams apps for all teamsAllows Thena to install/uninstall the app from Teams
ChannelMember.ReadWrite.AllAllow Thena to list the members of a channel and add new members

Delegated scopes requested by Thena for User Sync

ScopeDescriptionUse case
Chat.ReadWriteRead and write user
chat messages
Allows Thena to send/edit and soft delete messages as the signed in user in DM's and group chats.
ChannelMessage.SendSend channel messagesAllows Thena to send messages as the signed in user in channels.
ChannelMessage.ReadWrite Read and write user channel messagesAllows Thena to edit and soft delete messages in channels.
Team.ReadBasic.AllRead the names and descriptions of teamsAllows Thena to get a list of joined Teams for the signed in user.
Files.ReadWriteHave full access to
user files
Allows Thena to upload a file on behalf of the signed in user and send an invitation to another user.
User.ReadSign in and read user profileAllows Thena to access the signed in users profile for identification purposes.
offline_accessMaintain access
to data you have
given it access to
Allows Thena to keep the access token refreshed after successful authentication

FAQs

What is the Thena Microsoft Teams Bridge with the Slack App?

The Thena Microsoft Teams Bridge with the Slack App facilitates seamless communication between vendors on Slack and their customers on Microsoft Teams.

What types of channels with MS Teams are supported with this integration?

Both standard and shared channels on MS Teams are supported with this integration.

What are the prerequisites for using the Thena Microsoft Teams Bridge with the Slack App?

You need to have a Teams account with necessary permission & licence and a Slack account.

How do I integrate the Thena Microsoft Teams Bridge with the Slack App?

To integrate the Thena Microsoft Teams Bridge with the Slack App, follow the steps outlined in the Integration Steps section.

Why are Teams licenses required for all team members?

This requirement ensures that responses from your team appear under individual team members' names rather than the message being delivered in Teams by the Thena bot , providing your customers with a more personalized and seamless experience.

Messages delivered in Microsoft Teams as the user

Messages delivered in Microsoft Teams as the user

Messages delivered in Microsoft Teams via the Thena Bot

Messages delivered in Microsoft Teams via the Thena Bot

How to add Thena to a team on MS Teams?

Navigate to Apps on Teams -> Apps built for your organization -> Search for Thena -> Click on Add to a team

Why are my messages are not being sent on Teams?

This could happen due to multiple reasons. Listed below are the stepwise ways to debug this.

  1. Ensure that the channel is mapped on Thena.
  2. Ensure that your user is synced, i.e., you have authenticated your user token.
  3. Make sure that Thena is added to the Team on Microsoft Teams.

This could also happen if you have not authorized yourself on Thena to send messages on your behalf as a user and not authenticated your user token on MS Teams. Refer to the below table for the delivery of messages on Thena and MS Teams depending on user authentication.

Authenticated on ThenaAuthenticated on MS TeamsMessage Delivery on SlackMessage Delivery on MS Teams
NoYesDelivered as Thena botNot delivered
NoNoDelivered as Thena botNot delivered
YesNoDelivered as userDelivered as Thena bot
YesYesDelivered as userDelivered as user

Why do I see a Thena logo against my customer who is on Teams?

This is because your customer must not have added a display picture on Teams and Thena defaults the display picture to Thena logo.

I had authenticated Thena to use my user token and send messages from Slack to MS Teams but I a message that my token is expired and the message was sent to MS Teams via the bot?

The user token is refreshed automatically but it can expire in the below scenarios:

  • Changing your password on MS Teams
  • The integration being disconnected and reconnected
  • Your permissions being revoked and reassigned
  • Your teams license renewal failed and you purchased a new license

In all the above scenarios you will need to reauthorise Thena. If you do not re authorise Thena, your message would be sent to MS Teams using the Thena bot.

I had authenticated Thena to use my user token and send messages from Slack to MS Teams but I a message that my token is expired and the message was not sent to MS Teams?

The user token is refreshed automatically but it can expire in the below scenarios:

  • Changing your password on MS Teams
  • The integration being disconnected and reconnected
  • Your permissions being revoked and reassigned
  • Your teams license renewal failed and you purchased a new license

In all the above scenarios you will need to reauthorise Thena. If you do not re authorise Thena, your message would be sent to MS Teams using the Thena bot but if you have not added the Thena bot to the MS Team's team, your message may not be sent to MS Teams and you would get an error message in Slack.

Why do some of my messages on Slack appear as "edited"?

It is possible for some messages to get updated by the MS Teams - Subscription. This is because MS Teams bot sends the message before the Subscription is called and the latter updates the same message. This does not cause any data losses, hence can be overlooked in cases when there are no message edits. However, Thena supports legitimate message edits from Teams <> Slack and hence the messages are always updated to their latest states.

Ensuring User Consent for Apps in Microsoft Entra

To allow all users to consent to apps, including the Thena App, follow these steps:

Step 1: Sign in to the Microsoft Entra Admin Center

  1. Go to Microsoft Entra.
  2. Sign in using your credentials as a Global Administrator.

Step 2: Navigate to User Consent Settings

  1. In the left-hand menu, select Identity.
  2. Go to Applications.
  3. Select Enterprise applications.
  4. Click on Consent and permissions.
  5. Choose User consent settings.

Step 3: Update User Consent Settings

  1. Under User consent for applications, choose Allow user consent for apps.

Step 4: Save the Changes

  1. Click on Save to apply your settings.

By following these steps, you will ensure that all users can consent to applications, including the Thena App.]

I have signed in and provided permissions to post as my user in MS Teams, but my messages are still being delivered as a bot

To ensure your messages from Slack to Microsoft Teams are delivered using your user token, please make sure you are also added as a member in the Microsoft Teams channel.