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 the customized app'.
  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

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.

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.