Microsoft Teams self-hosted
Overview
If you want to use the Microsoft Teams integration in your self-hosted highlight.io instance, you can create a custom Teams app and use its client id and secret as your MICROSOFT_TEAMS_BOT_ID
and MICROSOFT_TEAMS_BOT_PASSWORD
environment variables.
Azure App Registration setup
-
Create an Azure App Registration here. Once your app is created, use the "Application (client) ID" as your
MICROSOFT_TEAMS_BOT_ID
environment variable.
-
In the "Authentication" section, add a Web platform. Set the Redirect URI as
<REACT_APP_FRONTEND_URI>/callback/microsoft_teams
, e.g. https://app.highlight.io/callback/microsoft_teams for highlight.io.
-
In the "Certificates & secrets" section, add a new client secret. Use its value as your
MICROSOFT_TEAMS_BOT_PASSWORD
environment variable.
-
In the "API permissions" section, add the following Microsoft Graph Application permissions to your app:
- Channel.ReadBasic.All
- Team.ReadBasic.All
- TeamsAppInstallation.ReadForTeam.All
Bot Framework setup
-
Go to Bot Framework to create a new bot.
-
Set the messaging endpoint as
<REACT_APP_PRIVATE_GRAPH_URI>/microsoft-teams/bot
, e.g. https://pri.highlight.io/microsoft-teams/bot for highlight.io.
-
Enter your Microsoft App ID from step 1.
Microsoft Teams app setup
-
Download and unzip the example Teams app bundle here. In
manifest.json
, replace all occurrences ofYOUR_APP_ID
with the Microsoft App ID from step 1. Create a new zip file from the 3 files.
-
In the Microsoft Teams app, under "Apps > Manage your apps", upload a custom app using the zip file from the previous step. Install this for each team you would like to recieve alerts in.
highlight.io integration setup
-
In your self-hosted highlight.io instance, navigate to the Integrations page, e.g. https://app.highlight.io/integrations. Connect to Microsoft Teams and sign in using your Microsoft credentials.
-
At this point, the integration should be successfully installed. When configuring a new or existing alert, you can add one or more Microsoft Teams channels to notify.