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:

  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 Configuration, select Setup, and choose Microsoft 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
StandardStandard channels
SharedPrivate channels
PrivateShared channels

Broadcasts on MS Teams

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

Broadcast as a user

Broadcast as a user

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:

Broadcast as Thena bot

Broadcast as Thena bot

  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 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

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

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

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.

How do I link my Slack user to my MS Teams user if my email addresses differ?

If your email address on Slack differs from the one used in MS Teams (particularly if MS Teams provides an onmicrosoft.com email address for non-Outlook users), you can connect the two by following these steps:

Add your Slack email address to the Job Title field in your MS Teams profile. Thena will automatically recognize this and map your Slack user to your MS Teams user accordingly.

Note: This step must be completed for all users within your organization.

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 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

  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.