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
Supported Teams channels
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 using MS Teams and you have a shared channel with them, Thena does not support fallback bot messages if the user (vendor) is not synced with MS Teams. For this functionality to work, each user must individually sync with MS Teams to reply successfully in the channel. Additionally, the vendor must be the owner of the shared MS Teams channel.
Key Features
Feature | Support |
---|---|
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 messages | Coming soon |
Richtext support
Feature | Description | Teams to Slack | Slack to Teams |
---|---|---|---|
Bold text | Support for bold texts in a message sent from Teams to Slack | ✅ | ✅ |
Italics | Support for italic texts in a message sent from Teams to Slack | ✅ | ✅ |
Underlined | Support for underlined texts in a message sent from Teams to Slack | ❌ | ❌ |
Strikethrough | Support for strikethrough texts in a message sent from Teams to Slack | ✅ | ✅ |
Colored text | Support for colored texts in a message sent from Teams to Slack | ❌ | ❌ |
Bullet list | Support for bulleted list in a message sent from Teams to Slack | ✅ | ✅ |
Numbered list | Support for numbered list in a message sent from Teams to Slack | ✅ | ✅ |
Indented text | Support for indented text in a message sent from Teams to Slack | ❌ | ✅ |
Quoted text | Support for quoted text in a message sent from Teams to Slack | ✅ | ✅ |
Code blocks | Support for code blocks in a message sent from Teams to Slack | ✅ | ✅ |
Message types
Feature | Description | Teams to Slack | Slack to Teams |
---|---|---|---|
URLs in messages | Support for URLs in a message sent from Teams to Slack | ✅ | ✅ |
Hyperlinks in messages | Support for hyperlinks in a message sent from Teams to Slack | ✅ | ✅ |
Subject text | Support for subject of the message thread | ✅ | ❌ |
Replies to messages | Support for replies to a specific message (threaded messages) | ✅ | ✅ |
Direct messages | Support for direct individual & group messages, and history & notifications | ❌ | ❌ |
User mentions | Mention the user mentioned in the message in a text | ✅ | ❌ |
Channel mentions | Mention the channel mentioned in the message | ❌ | ❌ |
Role mentions | Mention the role mentioned in the message | ❌ | ❌ |
Tag mentions | Mention the tag created on Teams in the message | ❌ | ❌ |
Attachment support
Feature | Description | Teams to Slack | Slack to Teams |
---|---|---|---|
Image files (JPEG, PNG, GIF, BMP, SVG) | Support for image files (uploads) in a message sent | ✅ | ✅ |
PDF files | Support for pdf files (uploads) in a message sent | ✅ | ✅ |
Word documents | Support for word docs (uploads) in a message sent | ✅ | ❌ |
Text documents | Support for text files (uploads) in a message sent | ❌ | ❌ |
Excel spreadsheets | Support for spreadsheets (uploads) in a message sent | ✅ | ❌ |
PowerPoint presentations | Support 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 files | Support for zip files (uploads) in a message sent | ✅ | ✅ |
PSD | Support for PSD files (uploads) in a message sent | ✅ | ✅ |
CAD | Support for CAD files (uploads) in a message sent | ✅ | ✅ |
Executable files | Support for exe files in a message sent | ✅ | ❌ |
Attachment preview and download | Attachments view and download ability | ✅ | ✅ |
*If your team members do not have a Microsoft Teams license, their messages will be delivered using the Thena bot. Attachment, rich text, image unfurls, or emojis are currently not supported when sending messages from Slack to Microsoft Teams through the Thena bot.
Video and audio messages
Feature | Teams to Slack | Slack to Teams |
---|---|---|
Audio messages | ❌ | ✅ |
Video messages | ❌ | ❌ |
Audio message playback | ❌ | ✅ |
Video message playback | ❌ | ✅ |
Emoji support
Feature | Description | Teams to Slack | Slack to Teams |
---|---|---|---|
Standard emojis | Support for standard emojis in message | ✅ | ❌ |
Custom emojis | Support for custom emojis in message | ❌ | ❌ |
Standard emoji reactions | Support for standard emojis on message reactions | ❌ | ✅ |
Custom emoji reactions | Support for custom emojis on message reactions | ❌ | ❌ |
Support for editing and deleting messages
Feature | Direction | Sent via user | Sent via bot | Sent via admin |
---|---|---|---|---|
Edit message | Slack to Teams | ✅ | ❌ | ❌ |
Edit message | Slack to Teams | ✅ | ❌ | ❌ |
Delete message | Teams to Slack | ✅ | ❌ | ❌ |
Delete message | Teams 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:
- Microsoft Team's licence for your team members.
- Global Admin Privileges - Necessary because Thena utilises Microsoft Graph API for this connector and you require Global Admin Privileges for authentication
- Configure Thena Request management on slack
Integration Steps
To connect Thena and Microsoft Teams with Slack, simply follow these steps:
- Sign in to the Thena web app, navigate to Configuration, select Setup, and choose Microsoft Teams.
- Click on 'Download'.
- Go to MS Teams, and under the 'Apps' section, select 'Manage your Apps'.
- Click on 'Upload an app' and upload the downloaded Thena zip file on Step 2.
- 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.
- 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.
- Click on the Login button and provide access the requested permissions to Thena.
- 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"
- 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.
-
Once the authorization is complete, you'll be redirected to the configuration page.
-
Next, proceed with the channel and user sync.
- 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.
- 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.
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 channel | Supported on Thena | MS 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:
- 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.
- 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 Slack | MS Teams Channel Type | Thena 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 token | Standard | ✅ | ✅ | ✅ | User |
Send as me via user authenticated token | Standard | ✅ | ✅ | ❌ | User |
Send as me via user authenticated token | Standard | ✅ | ❌ | ✅ | User |
Send as me via user authenticated token | Standard | ✅ | ❌ | ❌ | User |
Send as me via user authenticated token | Standard | ❌ | ✅ | ✅ | Thena Bot |
Send as me via user authenticated token | Standard | ❌ | ✅ | ❌ | Thena Bot |
Send as me via user authenticated token | Standard | ❌ | ❌ | ✅ | Admin |
Send as me via user authenticated token | Standard | ❌ | ❌ | ❌ | Not Sent to MS Teams |
Send as me via user authenticated token | Private | ✅ | NA | ✅ | User |
Send as me via user authenticated token | Private | ✅ | NA | ❌ | User |
Send as me via user authenticated token | Private | ❌ | NA | ✅ | Admin |
Send as me via user authenticated token | Private | ❌ | NA | ❌ | Not Sent to MS Teams |
Send as me via user authenticated token | Shared | ✅ | NA | ✅ | User |
Send as me via user authenticated token | Shared | ✅ | NA | ❌ | User |
Send as me via user authenticated token | Shared | ❌ | NA | ✅ | Admin |
Send as me via user authenticated token | Shared | ❌ | NA | ❌ | Not Sent to MS Teams |
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
Scope
Application scopes requested by Thena to connect
Scope | Description | Use case |
---|---|---|
AppCatalog.Read.All | Read all app catalogs | Allows Thena to check if the application is installed in the app catalog. |
Channel.ReadBasic.All | Read the names and descriptions of all channels | Allows Thena to import all the channels from selected Teams. |
Channel.Create | Create channels | Allows Thena to create channels in selected Teams. |
ChannelMessage.Read.All | Read all channel messages | Allows Thena to read all connected channel messages . |
Chat.Read.All | Read all chat messages | Allows Thena to read all connected DM and group chat messages. |
ChatMember.ReadWrite.All | Add and remove members from all chats | Allows Thena to add new members to an existing DM or group chat. |
Chat.Create | Create chats | Allows Thena to create new DM's and group chats. |
Sites.ReadWrite.All | Read items in all site collections and upload files | Allows Thena to fetch files and upload in channels |
GroupMember.Read.All | Read all group memberships | Allows Thena to read group membership to keep channel membership rosters up to date. |
Team.ReadBasic.All | Get a list of all teams | Allows Thena to show all the Teams when connecting the platform so the user can select which teams they would like to import. |
GroupMember.ReadWrite.All | Read and write all group memberships | Allows Thena to add new members to the selected Team. |
Team.Create | Create teams | Allows Thena to create new Teams (Groups). |
Organization.Read.All | Read organization information | Allows Thena to read your organization details to set up the account. |
User.ReadWrite.All | Read and write all users' full profiles | Allows Thena to read basic information (email, name and avatar) about users in selected Teams. |
TeamsAppInstallation.ReadWriteForUser.All | Manage Teams apps for all users | Allows Thena to install the app to a user so that Thena can send messages (prompts) to the user. |
Group.Read.All | Read and write all groups | Allows Thena to create a subscription to group changes |
TeamsAppInstallation.ReadWriteForTeam.All | Manage Teams apps for all teams | Allows Thena to install/uninstall the app from Teams |
ChannelMember.ReadWrite.All | Allow Thena to list the members of a channel and add new members |
Delegated scopes requested by Thena for User Sync
Scope | Description | Use case |
---|---|---|
Chat.ReadWrite | Read 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.Send | Send channel messages | Allows Thena to send messages as the signed in user in channels. |
ChannelMessage.ReadWrite | Read and write user channel messages | Allows Thena to edit and soft delete messages in channels. |
Team.ReadBasic.All | Read the names and descriptions of teams | Allows Thena to get a list of joined Teams for the signed in user. |
Files.ReadWrite | Have 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.Read | Sign in and read user profile | Allows Thena to access the signed in users profile for identification purposes. |
offline_access | Maintain 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.
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.
- Ensure that the channel is mapped on Thena.
- Ensure that your user is synced, i.e., you have authenticated your user token.
- 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 Thena | Authenticated on MS Teams | Message Delivery on Slack | Message Delivery on MS Teams |
---|---|---|---|
No | Yes | Delivered as Thena bot | Not delivered |
No | No | Delivered as Thena bot | Not delivered |
Yes | No | Delivered as user | Delivered as Thena bot |
Yes | Yes | Delivered as user | Delivered 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 got 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
- Go to Microsoft Entra.
- Sign in using your credentials as a Global Administrator.
Step 2: Navigate to User Consent Settings
- In the left-hand menu, select Identity.
- Go to Applications.
- Select Enterprise applications.
- Click on Consent and permissions.
- Choose User consent settings.
Step 3: Update User Consent Settings
- Under User consent for applications, choose Allow user consent for apps.
Step 4: Save the Changes
- 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.
Updated 6 days ago