Microsoft Teams Integration

InsightFinder follows a holistic view of incident prediction and management. This needs InsightFinder to enable teams to start or continue a conversation for an incident from the InsightFinder app itself, or to receive notifications of incidents or alerts. To make it easy, InsightFinder has integrated MS Teams into the UI for IT teams to start conversations. This documentation is a walk through of how to configure MS Teams in InsightFinder.

Note: If you would only like to configure Teams notifications using webhooks and do not want to use any other Teams-related features, you do not need to follow any of the steps below. Webhooks can be configured under the “Webhook” tab of the Microsoft Teams external service settings. If you would like to use the incident investigation Teams integration feature, or you want to receive notifications using delegated permissions instead of webhooks, please follow the steps below.

Register a new app for MS Teams in MS Azure

Please Note:- This step is not required if you are using InsightFinder public Saas Solution as it comes with MS Teams integration out of the box.

  1. Login to your Azure portal as admin.
  2. Go to “Azure Active Directory” in the menu and “App registrations” in the left bar and then click on “New Registration”.
    (See Figure 1)
  3. Choose the name for your app registration. Supported account type should be “Accounts in this organization directory only”. In “Redirect URI”, select a platform as “Web” and the uri should be “https://app.insightfinder.com/api/v1/configure-teams. Finish this step by clicking “Register”
    (See Figure 2)
  4. You have registered the app. You can see the Client ID on the page of your app.
    (See Figure 3)
  5. To generate the client secret, click on “Client Credentials”. On the next page, click on “New client secret”. Side page will open up where you can add a description and select the period for validity and add it.
    (See Figure 4)
  6. The client secret will be generated and Value is the client secret that you need to use into IF MS Teams integration.
    (See Figure 5)
  7. Click on the link to the right of “Redirect URIs” and add the following additional redirect URL: https://app.insightfinder.com/api/v1/teams-oauth
    (See Figure 6)
  8. You need to add permission to this registered app. Go to “API Permission” and then “Add a permission”.
    (See Figure 7)
  9. On the page that opens on the right, select “Microsoft Graph”, and search for the following permissions to add. You also need to click on “Grant admin consent for (Company Name)”.
    Application
    1. Channel.Create
    2. Channel.Delete.All (optional)
    3. Channel.ReadBasic.All
    4. ChannelSettings.ReadWrite.All (optional, If you want to delete Teams channels from InsightFinder to avoid naming conflict)
    5. ChannelMessage.Read.All (for pulling messages into InsightFinder)
    6. Directory.Read.All
    1. Delegated
    2. ChannelMessage.Send
    3. offline_access
      (See Figure 8)
  10. Your app is now ready to be configured into InsightFinder.

Global MS Teams setting in IF

  1. Login to InsightFinder as admin.
  2. Go to “Settings”->“Global system settings”. Click on “Microsoft Teams”.
  3. Pop up will open where you can click on “Add”.
  4. Another popup will open where you need to provide the following information
    1. Service Provider Name – You can choose any name
    2. Client ID – As described in the steps for MS Teams setup in MS Azure
    3. Client Secret – As described in the steps for MS Teams setup in MS Azure
      (See Figure 9)
  5. Click on “Verify”. Once verification is successful, you should be good to move to the next step to set up Teams for your application.

Creating a new team in MS Teams

  1. Go to your Teams.
  2. Click on create team and then “Create a team”.
    (See Figure 10)
  3. A pop up will open up to walk you through the flow. Select “From Scratch” and the “Public” in the next window. Give a name to your team in the next window.
    Please Note: Before creating any channels through InsightFinder, any Teams users who will be using the channels should be added to the team in MS Teams.
    (See Figure 11, 12, 13, and 14)
  4. You should have a new team setup in your MS Teams.

Set up MS Teams for your application in IF

  1. You should login with your user id for this setup.
  2. Go to “Settings”->“External service settings”. Click on “Microsoft Teams”.
  3. A pop up with all the available system names will be displayed.
    (See Figure 15)
  4. Click on “Connect” against the system name that you want to configure with MS Teams. You can configure different systems with different teams in MS Teams.
    (See Figure 16)
  5. Provide the “Team Name” that you have newly created in MS Teams for this system or use an existing team name and click “OK”. Also choose an email address to be notified of token problems (e.g. expiration).
  6. You will be redirected to the Microsoft login page where you can grant permissions. Please note: You need to be admin for MS Teams to grant these permissions.
    (See Figure 17)
  7. Once the permissions request is accepted, you will be redirected to the InsightFinder app home page and you should be ready to use it.

Using MS Teams in IF

  1. Once MS Teams integration is done, you can go to any incident in IF, and in the actions, select “Go to Teams channel”.
    (See Figure 18)
  2. A pop up will open where you can select an existing channel or start a new channel.
    (See Figure 19)
  3. Once you select and click “Ok”, you will be taken to MS Teams and you can start conversations.
  4. Please note: The users in the team channel will be based on the users who has access to the system in InsightFinder which you can set up by going to Settings → System settings → General tab of specific system and adding users.
    (See Figure 20)
  5. InsightFinder will try to map either the email address or the first and last name of the user from InsightFinder to add them to the channel by default.

Receiving Notifications in MS Teams

  1. To receive notifications from InsightFinder in Microsoft Teams, open Microsoft Teams in External service settings as before, and click “Update” next to the system you want to configure
    (See Figure 21)
  2. Enter channel names for the notifications you would like to receive. You can select existing channels or enter new channel names (corresponding private channels will automatically be created with users from the share user set, matched by email address or first and last name). Then click “OK”.

Note: The messages will be posted under the user who configured Microsoft Teams for this system (by clicking “Connect”).

Webhooks: As an alternative to delegated permissions, notifications can be configured with webhooks under the “Webhook” tab of the Microsoft Teams external service settings.

In MS Teams, follow the steps in this document to generate the webhook.

Use that webhook and configure it in InsightFinder,

  1. Go to Settings → External service settings. There you click on “Microsoft Teams”.
  2. A pop with all the available system names will be displayed.
  3. Click on edit pencil sign again in the “Webhook” column and another pop up will open to add webhook details.
  4. Once you set this up and save it, you will start receiving notification on MS Teams.
    (See Figure 22)

Figures

Click on an image to expand.