This repository is community supported and not maintained by Mattermost. Mattermost disclaims liability for integrations, including Third Party Integrations and Mattermost Integrations. Integrations may be modified or discontinued at any time.
Maintainer: @mickmister
Start and join voice calls, video calls, and use screen sharing with your team members via MS Teams Meetings.
The Mattermost MS Teams Meetings plugin is provided in the Mattermost Plugin Marketplace. Once enabled, selecting the video icon in a Mattermost channel invites team members to join an MS Teams meeting, hosted using the credentials of the user who initiated the call.
Mattermost Server v5.26+ is required.
- In Mattermost, go to Main Menu > Plugin Marketplace.
- Search for "MS Teams" or manually find the plugin from the list and select Install.
- After the plugin is downloaded and installed, select Configure.
If your server doesn't have access to the internet, you can download the latest plugin binary release and upload it to your server via System Console > Plugin Management. The releases on this page are the same versions available on the Plugin Marketplace.
-
Sign in to the Azure portal using an admin Azure account.
-
Navigate to App Registrations.
-
Select New registration at the top of the page.
-
Fill out the form with the following values:
- Name: Mattermost MS Teams Meetings Plugin
- Supported account types: Default value (Single tenant)
- Redirect URI: https://(MM_SITE_URL)/plugins/com.mattermost.msteamsmeetings/oauth2/complete. Replace
(MM_SITE_URL)
with your Mattermost server's URL.
-
Select Register to submit the form.
-
Navigate to Certificates & secrets in the left pane.
-
Select New client secret > Add, then copy the new secret in the bottom right corner of the screen. We'll use this value later in the Mattermost System Console.
-
Navigate to API permissions in the left pane.
-
Select Add a permission and choose Microsoft Graph in the right pane.
-
Select Delegated permissions, and scroll down to select the
OnlineMeetings.ReadWrite
permissions. -
Select Add permissions to submit the form.
-
Select Grant admin consent for... to grant the permissions for the application.
You're all set for configuration inside of the Azure portal.
-
Copy the Client ID and Tenant ID from the Azure portal.
-
Go to System Console > Plugins > MS Teams Meetings.
-
Enter the following values in the fields provided:
tenantID
- Copy from the Azure portalclientID
- Copy from the Azure portalClient Secret
- Copy from the Azure portal (generated in Certificates & secrets earlier in these instructions)
-
Choose Save to apply the configuration.
When you’ve tested the plugin and confirmed it’s working, notify your team so they can get started. Copy and paste the text below, edit it to suit your requirements, and send it out.
Hi team,
The MS Teams Meetings plugin has been configured so you can use it for calls from within Mattermost. To get started, run the
/mstmeetings connect
slash command from any channel within Mattermost. Visit the documentation for more information.
Use the /mstmeetings connect
slash command to connect an MS Teams account to Mattermost.
Start a call either by selecting the video icon in a Mattermost channel or by using the /mstmeetings start
slash command. Every meeting you start creates a new meeting room in MS Teams. If you start two meetings less than 30 seconds apart you'll be prompted to confirm that you want to create the meeting.
Use the /mstmeetings disconnect
slash command to disconnect an MS Teams account from Mattermost.
This plugin contains both a server and web app portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.
Inside the /server
directory, you will find the Go files that make up the server-side of the plugin. Within that directory, build the plugin like you would any other Go application.
Inside the /webapp
directory, you will find the JavaScript files that make up the client-side of the plugin. Within that directory, modify files and components as necessary. Test your syntax by running npm run build
.
It's on the Developer setup, but keep in mind It's necessary to enable PluginUploads.
Then you need to set these envvars to be able to upload the plugin:
export MM_SERVICESETTINGS_SITEURL=https://localhost:8065/ # Or other if needed
export MM_ADMIN_USERNAME=<MYUSERNAME>
export MM_ADMIN_PASSWORD=<MYPASSWORD>
Then run make deploy
or MM_DEBUG=1 make deploy
in case you want debugging from the root of the mattermost-plugin-msteams-meetings
project.
- For questions, suggestions, and help, visit the Plugin: Microsoft Teams Meetings on our Community server.
- To report a bug, please open an issue.