SOFI on Microsoft Teams
2 min
overview sofi can be connected to your microsoft teams tenant so that you and your colleagues can chat with sofi on a teams channel instead of on the servicely portal this means that all of the existing conversation flows a user could use in the self service portal (password reset, etc ) are all available via teams steps to enable connectivity access the azure portal by going to https //portal azure com/#home https //portal azure com/#home ensure you are in the right tenant, by looking at the top right with your username in the top search bar, search for azure bot, and select the offering underneath marketplace configure the bot as per the below table once complete, click review + create to continue setting description bot handle a unique handle for the azure bot definition used only within the azure portal as a name will not become the name of the bot in teams (this will be defined elsewhere) a suggestion is the prefix "sofi" with the name this after your instance subscription this needs to be a valid azure cognitive services subscription select azure subscription 1 resource group this needs to be a valid azure cognitive services resource group select default data residency currently leave as global pricing the pricing tier to use you can change this to "free" type of app single tenant creation type leave as "create new microsoft app id' once complete, click create and wait for the deployment process to finish you can tell it’s finished when there’s a go to resource button on the screen, as per the below screenshot click go to resource to configure the newly created bot now, we must configure the bot so it knows how to communicate with sofi do so by clicking settings → configuration in the left hand menu now, open a new tab and navigate to your instance we need to create a conversation provider configuration record so the instance and bot can communicate with each other do so by searching for conversation providers, and clicking new in the list configure the conversation provider as per the below table once complete, hit create to save the record setting description name a memorable name for the conversation provder has no end user visibility e g , demo servicely sofi integration provider type select teams active select yes conversation type select sofi app id leave blank for now app secretl leave blank for now tenant id this can be entered now if you have it and is specific to your tenant once saved, you can click the copy endpoint url button at the bottom of the servicely conversation provider configuration record to copy the value we need to upload into the azure bot in the next step back in azure, we can now paste the endpoint url from the previous step into the messaging endpoint url input in the azure bot’s configuration while here, copy the microsoft app id and store it safely for later use click manage password immediately above this field so we can create some credentials for servicely to use to communicate with the azure bot click new client secret on this page to generate a new client secret provide a useful description, and leave the expiry at it’s default (6 months) once complete, click add and copy the value store it safely for later back within your conversation provider in servicely, populate the fields we’ve copied over as below setting description app id the copied microsoft app id from step 10 app secret the copied client secret value from step 12 to configure this azure bot to be visible within teams, we must add the teams channel do so by clicking ‘home’ (top left corner) select your azure bot under ‘recent’ then click the settings → channels menu item in the azure bot configuration, and selecting the microsoft teams channel from the available channels list accept the terms of service, and use microsoft teams commercial for the messaging option click apply and wait for the changes to be saved at this point, you can test if the bot can communicate with your instance by clicking test in web chat you’re likely going to encounter an error like the below this is normal for now! sorry… but i don’t know how to match up your teams and servicely accounts user not found for id \[null] \[teams\ a253bdda 21b4 46e9 a29a adfec6f2638z] note it can take hours before the teams apps are published to the tenant so, once having completed steps 17 to 25 it might some time before you can complete step 26 now, to publish the bot into the servicely test teams tenant, we must add the bot into teams open the teams developer portal in a new tab, navigate to apps → new app , and provide a memorable name for your app e g , your instance name we’ll override this to something user facing in a moment on the basic information page, populate the following fields hit save once finished setting description short name memorable name from step 17 full name user facing name e g sofi (demo servicely) short description user facing short description e g sofi intelligent agent long description user facing long description e g sofi intelligent agent website instance url privacy policy instance url terms of use instance url application (client) id paste the app id from the conversation provider developer name enter the instance name for ease of use navigate to app features → bot to configure the specific permissions of the bot in the enter a bot id field, populate the app id from the conversation provider in servicely, and ensure the following permissions have been selected hit save to continue with the configuration navigate to app validation and hit get started to confirm the configuration is correct select all the acknowledgements, and run the validation this will advise if there are any issues with the bot once validated, you can click publish in the top right of the screen, and select publish to your org to make the app available in the teams admin center finally, the app can be approved for installation by navigating to the teams admin center and reviewing the apps that are pending approval in the teams apps → manage apps dialog, search for your app name and select it on the next page, hit publish to make the app available for installation in the test tenant once complete, the page should show something that looks like the below the app can now be searched for and installed in your organisation microsoft tenant finally, in order for the azure app to correlate users in servicely with their entraid identity, we need to populate the active directory id field of the user records you can do this by modifying your scim integration for users & groups docid 1cop9abfjgurfu0tvjezw mapping to copy the user's objectid to the active directory id field sample mapping below you can now test your sofi via teams integration