Microsoft Teams Adapter

To enable Microsoft Teams as an engagement adaptor, a number of steps need to be followed :

  • Configure your endpoint
  • Register an Azure Bot Channel
  • Configure Microsoft teams in your organization

Prerequisites

  • You will need a working bot. Use our getting started tutorials if you need one. Make sure it is working by testing it using the default endpoint before proceeding.
  • Admin access to Azure services with the ability to create new app registrations
  • Admin access to teams with the ability to add new custom apps

Create a new MS Teams Endpoint for your Bot

  • Set the endpoint target to be for your working bot
  • Change the endpoint type to Microsoft teams and save it. You will need this URL.

Example Endpoint Configuration

An Endpoint can be configured to allow communication between Microsoft Teams and SerivsBot. To do so, the EngagementType and EngagementConfig must be configured :

{
  "Address": "myorganization-ClaimsBot",
  "OutboundBotReference": "ClaimsBot",
  "InboundBotReference": "ClaimsBot",
  "Organization": "myorganization",
  "Useragent": "useragent",
  "EngagementType": "MicrosoftBotFramework",
  "EngagementConfig" : {
    "Secret": "srn:vault::myorganization:secretdoc:ms-teams-engage",
    "Public": {
      "TenantId":"" //Does not matter, is required.
    }
   },
  "Updated": 1562752374780,
  "TargetBotReference": "ClaimsBot",
  "Status": "online",
  "AllowedDomains": [
    "*.production.helium.servismatrix.com",
    "*.production.helium.servismatrixcdn.com",
    "*.servisbot.com",
    "https://servisbot.com"
  ],
  "Name": "myorganization ClaimsBot default endpoint",
  "Created": 1562752374780,
  "Srn": "srn:botnet:eu-1:myorganization:endpoint:myorganization-ClaimsBot"
}

You will need the URL to your endpoint in order to configure your bot in Azure and MS Teams.

Create Bot Service in Azure

  • Login into the Azure portal and search or navigate to Bot Services, if you do not already have a Bot Channel registered, click Bot Channels Registration. Bot Channels

  • Fill put the fields and options to create a registration

  • Grab the endpoint ID and add it to our engagement adapter domain. Bot creation on the azure can take some to build US Bot Channels

The Messaging endpoint takes the form :

https://engagement.<sb-region>.helium.servismatrix.com/picard/v1/engage/<endpoint-address>

Example for the current public ServisBot Regions :

  • https://engagement.production.helium.servismatrix.com/picard/v1/engage/myorganization-ClaimsBot
  • https://engagement.us1.helium.servismatrix.com/picard/v1/engage/myorganization-ClaimsBot

Add the MS Teams channel in azure

  • After the Bot gets generated, navigate back to bot services
  • In the channels tab. create a Teams channel Bot Channels

the Bot cannot currently communicate with the web chat

Get Azure Credentials

  • Navigate back to the bot service main page
  • Click on settings, next to your app id click on “manage” then go into the settings overview tab
  • Grab the Microsoft Application (Client) ID
  • Click on Manage. It will take you to the client secrets/passwords
  • Click on + New client secret button
  • Name this - Servisbot secret
  • Set it to expire according to your policies
  • Grab the password. Passwords will not be available if you refresh the page or come back to it later.

Setup MS Secret

  • Create a new secret of type Custom JSON
{
    "appId" : "55feeb01-d8cc-4246-a756-9bbba1c784ad",
    "appPassword" : "h3ejbasfsdaf./w5j2awaf"
}
  • The appId and appPassword are come from the previous steps with the Azure Bot Channel Configuration.

  • Edit the endpoint and assign your ms teams secret to it

  • Optional - Add your application ID into the tenantid field

Add Your Bot to MS Teams

  • A bot manifest file is needed in order to add a bot into your teams account.
  • The microsoft teams user needs Admin permissions in microsoft teams
  • You can check this by seeing under “Apps” in teams you have an “Upload App” Menu item at the bottom

Create Manifest

  • Log into microsoft Teams
  • Search for app studio
  • Click install if you haven’t already used this app
  • Now Create a new App by clicking on manifest editor and creating new app
  • Fill out all required fields
    • upload an image for your bot
    • 192x192 full color
    • 32X32 transparent

Configure Azure Services BOT

* Navigate to the Bots Tab - Click on “Setup” - Select “Existing Tab - Name it * If person configuring it in teams is the same account that has configured it in your azure account, then select Select from one of my existing bots - Otherwise add in the bot ID of the bot that has been created in previous steps - Enable scopes for Personal and Teams * Verify that the messenger Endpoint to be the same as your Azure Bot Service

Install Your BOT

  • Navigate to the “test and “Install”
  • Click on the “Download” Button to get a manifest
  • Navigate back to the Apps/Store section of teams
  • Click upload a custom app and upload your manifest file
  • You should then see you App and be able to Install it for yourself or your Team
  • Search for the bot name in the teams search bar and test out the bot
  • Click on install
  • In order to fully launch the bot you will need to follow the Microsoft teams instructions for publishing a bot and filling out the necessary fields.