SOFI Pro on Microsoft Teams
5 min
overview sofi's connectivity via microsoft teams puts a servicely ai agent into multiple communication channels such as microsoft teams so users have the option to ask for help in the chat tool they have instead of coming into the servicely self service portal this replaces the earlier version of sofi's implementation with microsoft teams how to configure on servicely , install the "microsoft teams integration" application (backend name is "integration microsoft teams", from the available application list go to your microsoft azure portal and register a new entra id application via app registration page and set the below information field name description name e g servicely teams bot (production) supported account types select single tenant only redirect uri leave blank click on the register button and note both the " application (client) id " and " directory (tenant) id " of the application from its overview page still on the overview page, setup a new client secret and copy its value for more information, you may refer to microsoft documentation on azure bot resource creation (link accurate and relevant at time of writing) https //learn microsoft com/en us/entra/identity platform/quickstart register app https //learn microsoft com/en us/entra/identity platform/quickstart register app create an azure bot and set the below information field name 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) subscription this needs to be a valid azure cognitive services subscription resource group this needs to be a valid azure cognitive services resource group type of app select single tenant creation type select "use existing app registration" and then point it to the app registration you did in the previous step then, go to the bot's channels menu to view the available channels list click on "microsoft teams" and click on apply for more information, you may refer to microsoft documentation on azure bot resource creation (link accurate and relevant at time of writing) https //learn microsoft com/en us/azure/bot service/abs quickstart?view=azure bot service 4 0\&tabs=userassigned https //learn microsoft com/en us/azure/bot service/abs quickstart?view=azure bot service 4 0\&tabs=userassigned still on the azure bot, go to its configuration menu and set its messaging endpoint the format should follow the below https //\<instance name> servicely ai/ mesaging/v3/teams/{accountid} accountid is the record id of the servicely's messaging account record named "microsoft teams" example of messaging endpoint url https //demo sofiteams servicely ai/ messaging/v3/teams/2ffe81ba533011f18ec76a976b0a9f4b https //demo sofiteams servicely ai/ messaging/v3/teams/2ffe81ba533011f18ec76a976b0a9f4b click on the "apply" button allow for several minutes for the changes to propagate back on servicely go to the "microsoft teams" messaging account record, populate the required information field name description tenant id directory (tenant) id from step 2 app id application (client id) of the registered entra id application from step 2 app secret client secret for the registered entra id application the secret value, not the id from step 2 email fallback enabled when user's activedirectoryid is blank, the platform reads the sender's microsoft 365 email from teams and matches it against their email stored on their servicely user account record if this is set to no, activedirectoryid is required to be populated upfront persist matched identity after a successful email match the platform writes the user's azure ad object id onto the user's activedirectoryid, so future messages skip the email lookup set to no if you prefer the synch from entra id to remain remain the only source for users' activedirectoryid active set to yes, after all other fields in the messaging account record are populated save your changes on servicely 's "microsoft teams" messaging account record, click on the "test connection" button this is to prove that the credentials setup are valid and accepted by microsoft now, to publish the bot into the servicely test teams tenant, we must add the bot into teams go to teams developer portal and create a new app you may refer to the microsoft's documentation https //learn microsoft com/en us/microsoftteams/platform/concepts/build and test/teams developer portal https //learn microsoft com/en us/microsoftteams/platform/concepts/build and test/teams developer portal go to the "app features" menu, select bot and update its bot id to be the same as the entra application's id and also update the bot's permissions to allow for upload and download files personal scope go to the app validation menu and follow the prompts to eventually publish it to your org the app will then appear in under the list of apps pending approval for installation you can click on the app and then publish it to the teams tenant the bot can now be installed by/for users in the teams tenant finally, back on servicely, edit the "microsoft teams" messaging account record and set its manifest id to be the app id of the app created on step 7 above you can find this app id under the app's basic information page how to use available ai assistants ai assistants available in "all" or "teams" channels will be available to use on microsoft teams screenshot below shows the channels configuration of an ai assistant on servicely user account pre requisite they need to have their servicely user record's active directory id field populated with the objectid of their entra id user account if the servicely user account is synch ed from entra id (example via scim), then the synch mapping needs to have the active directory id auto populated reset commands the following commands can be entered into your chat with sofi to reset the chat /newchat /clear /endchat result of a chat with sofi a chat with sofi does not always result in a support ticket created for the user this is dependent on the ai agent that the users are communicating with and if for example the agent was not instructed to raise a ticket, e g interaction