Connect Microsoft 365, Teams, and Outlook with Mattermost

plans-img-yellow Available on Entry, Enterprise, and Enterprise Advanced plans (not available on Professional)

Mattermost Mission Collaboration for Microsoft extends Microsoft for mission-critical coordination, command and control, incident response, and DevSecOps workflows in demanding environments, including air-gapped and classified networks by embedding Mattermost inside Teams. Use data-sovereign tools like secure chat, Playbooks, and Calls directly within M365, Teams, and Outlook.

This app is designed to work with Microsoft 365, Teams, and Outlook and is currently in Beta. From Mattermost v10.9, this integration supports third-party Single Sign-On (SSO). See the user provisioning product documentation for details on setting up SSO.

Mattermost embedded as a Microsoft Teams app.

Deploy

Before starting the setup, review this section to familiarize yourself with the 3 components needed to integrate Mattermost with M365, including Azure App registration, Microsoft Teams App installation, and Mattermost plugin configuration. Each component plays a crucial role in ensuring seamless communication and collaboration between Mattermost and Microsoft 365 services. Then complete the following integration setup steps in the order listed below.

Register an MS Teams app in Azure

An application must be registered in Microsoft Azure to enable secure authentication and authorization between Mattermost and M365 services. This app registration acts as the bridge for permissions and connectivity. The Azure App is responsible for authentication and managing permissions.

  1. Sign in to the Azure portal using an admin Azure account.

  2. Go to your Azure Portal > Microsoft Entra ID.

  3. Create a new app registration by selecting the Add application registration “Quick Action”:

../_images/AzureApp_New_Registration_MS_Embedded.png
  • Give it a name.

  • Choose the “Accounts in this organizational directory only (single tenant)” option.

  • Leave the Redirect URI empty.

../_images/AzureApp_New_Registration_MS_Embedded_Application.png
  1. Go to your newly created application and copy the Application (client) ID and Directory (tenant) ID values. You’ll need those later to configure the plugin.

Go to your newly created application and copy the Application (client) ID and Directory (tenant) ID values. You'll need those later to configure the plugin.
  1. Go to Certificates and secrets to generate a new client secret. Make a copy of the secret value, as it will only be shown once. You’ll need this value to configure the plugin.

Go to Certificates and secrets to generate a new client secret. Make a copy of the secret value, as it will only be shown once. You'll need this value to configure the plugin.
  1. Go to API Permissions to complete the following steps:

  1. Go to Expose an API to complete the following steps:

  • Add/edit a Application ID URI and set the value to api://{{Mattermost Site URL Hostname}}/{{Application (client) ID}}.

  • Add the access_as_user scope by selecting Add a scope and setting the following values:

    • Scope name: access_as_user.

    • Who can consent? Admins and users

    • Provide a display name and description, as well as a user consent display name and description. These will be shown to end users on the consent screen. For example:

      • Display name: Log in to Mattermost

      • Description: Used to allow O365 users to log in to the Mattermost application

      • User consent display name: Log in to Mattermost

      • User consent description: This permission is required to automatically log you in into Mattermost from Microsoft applications.

    See the Microsoft API scope documentation for details.

    • Add authorised client applications for the scope. See the Microsoft authorized client documentation for details.

      • Select _Add a client application_. You must add a client application for each target Microsoft application:

        • Authorised scopes: The one we just created

          • Client ID:

            • Teams web: 5e3ce6c0-2b1f-4285-8d4b-75ee78787346

            • Teams app: 1fec8e78-bce4-4aaf-ab1b-5451cc387264

            • Outlook desktop : d3590ed6-52b3-4102-aeff-aad2292ab01c

            • Outlook web : bc59ab01-8403-45c6-8796-ac3ef710b3e3

    • If you want to make your application available in more Microsoft applications, keep adding client applications from the following table.

../_images/AzureApp_New_Registration_MSEmbedded_ExposeAPI.png

Configure the Mattermost plugin

A Microsoft Teams app is installed into Microsoft Teams. This app facilitates collaboration between Mattermost and Teams, providing a tab containing Mattermost within the Teams client. The Teams App is installed within Microsoft Teams to enable collaboration via a tab.

  1. Download the latest release of the plugin.

  2. Go to System Console > Plugins > Plugin Management > Upload Plugin, and upload the plugin binary you downloaded in the previous step.

  3. Go to System Console > Plugins > Plugin Management. In the Installed Plugins section, scroll to MSTeams DevSecOps.

  4. Enter an Application Version. You can start with 1.0.0.

  5. Generate an Application ID in version 4 UUID format and enter it in the Application ID field.

  6. Enter the values you noted earlier in the appropriate fields, including Directory (tenant) ID, Application (client) ID, and Client Secret.

    In the Mattermost System Console, enter the Directory (tenant) ID, Application (client) ID, and Client Secret for the plugin.
  7. Enter an Application Display Name to define how your application is named in the MS Teams App Store. Make it company specific for easy discovery.

  8. Save the changes and enable the plugin.

  9. Select the Download Manifest button to generate the MS Teams application as a ZIP file, containing the app manifest. Save this file as it will be used in the next steps.

Install Mattermost in Microsoft Teams

Within Mattermost, the Mattermost Mission Collaboration for Microsoft plugin needs to be installed and configured. This plugin acts as the integration hub on the Mattermost side, connecting to both the Azure App and the Teams App. The Mattermost Plugin is the configuration point within Mattermost that unifies the integration.

  1. Go to the Microsoft Teams admin center.

  2. Go to Teams apps > Manage apps.

    In MS Teams, go to Manage Apps to install the Mattermost Mission Collaboration for Microsoft 365 app.
  3. Go to Actions > Upload new app located in the upper-right corner of the Manage apps page.

  4. Select Upload and select the ZIP file saved previously.

  5. Done! Your application is now available to users.

Use

Add the app

Once the application is deployed, your users can add the Mattermost app to their Microsoft Teams environment. Inform your users to:

  1. Open Microsoft Teams and go to Apps in the left sidebar.

  2. Search for the Application Display Name you configured in the plugin settings (step 7 of the Configure the Mattermost plugin section).

  3. The app will display a Built for your org tag, indicating it’s a custom application approved for your organization.

  4. Select the app and then select Add to install it in their Teams environment.

Once added, users can access Mattermost directly within Microsoft Teams through the app tab.

../_images/AzureApp_New_Registration_MSEmbedded_TeamsAppAdd.png

Authentication

This plugin supports automatic authentication when logged into Microsoft Teams. Teams authentication automatically logs users into Mattermost if the email addresses in both platforms match exactly. Regular authentication methods (LDAP, SAML, email/password, OpenID) can additionally be used for Mattermost.

In air-gapped environments or during business continuity disruptions, users who can’t join Microsoft Teams, can continue to access Mattermost using their Mattermost credentials by opening Mattermost in a separate app (e.g., in a new browser window). Alternatively, a Mattermost admin can pre-distribute the Mattermost desktop app using Windows MSI or the mobile app via EMM.

Mattermost embedded in a Microsoft Teams tab.

Get Help

Mattermost commercial customers can open a Mattermost support case.

For questions, feedback, and assistance, join our pubic Integrations and Apps channel on the Mattermost Community Server for assistance.