Prerequisites
- You will need an Admin Azure account to configure and ultimately consent access
- Your Cireson Service Manager Portal must be public facing for Azure Bot Services to be able to communicate with it
- If your Cireson Portal is running on SCSM infrastructure located in Microsoft Azure, steps on how to securely expose your portal through Azure App Proxy can be found here (KB2598 - FAQ: Teams Integration with Azure App Proxy)
Note: This will not be configurable if the Cireson Service Manager Portal cannot be accessed over the internet remotely
Note as of July 13th, 2021: This Knowledge Article is no longer being maintained as Bot Channel Registration has been deprecated as of September 1st, 2021. To use Teams Integration with SMP, you must instead deploy an Azure Bot Service.
To bridge the communication between MS Teams and your Service Manager Portal you must provision and configure an Azure Bot Service.
Read the release announcement here to learn more about the features of the Teams integration.
Setup Azure Bot Services
- Navigate to the Bot Services section in your Azure portal
- Click the + Add button in the top left corner
- Click on Bot Channels Registration
- Click on Create
- On the next page, fill in the information needed to setup the bot.
- For Bot Handle, enter “SupportBot”
- For Resource Group, choose an existing Resource Group or create a new one
- For Messaging Endpoint, enter the https://<smp-location>/api/teams/bot/messages location of your SMP instance, i.e. https://support.cireson.com/api/teams/bot/messages
- This End-Point must be HTTPS
- This End-Point must be HTTPS
- Hit Create when finished and the validation and creation should occur
- Go back to Bot Services, and click on your newly created Bot service
- Click on Channels
- Add the MS Teams Channel located under Featured Channels
- Add the MS Teams Channel located under Featured Channels
- Click on Settings
- Set the display name of your bot to "SupportBot"
- Set the display name of your bot to "SupportBot"
- All applications that integrate with Azure require a unique App ID. When you create the Bot Service a new App Id is created and associated for you. The App Id is what ties the organization to the application that it is integrating with. In Azure AD it is possible to see all the enterprise applications you have integrated with. To configure you App Id click on Manage next to Microsoft App ID
- Take note of the App ID located in the text box, you will need this to configure SMP
- Take note of the App ID located in the text box, you will need this to configure SMP
- Click on New Client Secret and go through the steps to create a secret key
- Take note of this, as you will need this to configure SMP (Note: You will only see this key once. If you lose it, you will need to generate a new key and update the SMP to use the new key)
- Take note of this, as you will need this to configure SMP (Note: You will only see this key once. If you lose it, you will need to generate a new key and update the SMP to use the new key)
- Now that you have the info you need to connect your Portal to this App/Bot you need to set what permissions this app will be requesting. Click on API Permissions and add the following delegated permissions from Microsoft Graph
- People.Read
- Presence.Read
- Presence.Read.All
- User.Read
- User.ReadBasic.All
- People.Read
- Since you are an Azure Admin, you can now consent for this permissions for your organization, click "Grant admin consent for ..."
- Since Teams presence in the Portal requires the Portal user to also be authenticated with Teams/M365 we will need to setup authentication for this App as well. Click on Authentication
- Add the location of SMP under Platform configurations -> Web -> Add URI
- Enable implicit grant by checking the boxes next to Access tokens & ID tokens
- Add the location of SMP under Platform configurations -> Web -> Add URI
Configure Service Manager Portal
Now that we have everything configured in Azure we can head over to our Cireson Service Manager Portal and connect our newly configured Bot Service.
- Log into SMP, and navigate to the Admin section
- Click on Teams Integration Settings
- Enter the following pieces of information
- For Microsoft App ID enter the application ID you noted in step 10 above
- For Microsoft App Password enter the client secret key you created in step 11
- For Redirect URL enter the location of SMP i.e. https://support.cireson.com
- This must be a HTTPS address
- For Microsoft App ID enter the application ID you noted in step 10 above
- Click Save
- Choose an accent color you would like for the Teams Bot, and click Download Manifest
- Save this file to a location of your choosing, this will be uploaded into MS Teams
- If you would like to change the default images shipped with the Teams Bot, please navigate to the zip file and overwrite the images outline.png and color.png in the package to the icons of your choosing
- Save this file to a location of your choosing, this will be uploaded into MS Teams
Configure User Presence
Once you have configured the Azure Portal and SMP, navigate to Features under the Admin Settings section, and enable Teams User Presence.
Configure MS Teams for the Bot
- Log into MS Teams and click on the overflow menu (...) on the left hand bar
- Click on More apps
- Click on Upload a custom app and upload the .zip package you downloaded Step 5 of Configure SMP
- Click the Add button
Troubleshooting
- Upon installing the app to MS Teams, the bot should send you a welcome message with a sign in prompt. If this does not occur, please open up a chat window to the bot and type anything you'd like. It should then respond with the welcome message and sign in prompt.
- Steps have been taken to be prompted to login once the sign in token has expired, but if this does not occur and things are not working, you can simply chat to the bot and the sign in prompt should occur.
- If at any time you want to see what token you are using for the platform, you can type the platformtoken command to the bot, and it should return the token used for the platform api
- If the Sign In button on the prompt does not open anything, please inspect the manifest.json and ensure the url for SMP is listed in the validDomains section.
- In MS Teams, all action buttons that open a URL must be https, if it is http the button will do nothing.
Customization and Deployment
- Steps to customize the bot such as branding and renaming can be found here
- To publish the bot for your entire organization instead of per user, please follow the steps located here (docs.microsoft.com)
Read the release announcement here to learn more about the features of the Teams integration.