Register the Azure Bot

There will only be one Azure Bot created to point to each QMS Call Recording Service, and the bot should typically be created in the same Azure Tenant where the QMS Azure VM is created. A single Call Recording Service can still record calls from multiple Teams Tenants. This capability is provided by the bot’s Microsoft Entra ID app registration being configured as multitenant (see the app registration step later in this section) together with a Teams Tenant admin granting consent in each tenant. It is not controlled by the Azure Bot resource’s "Type of App" setting described below.

In order for the QMS Recording Service to be able to receive call control and audio from Teams, we need to configure the compliance recording bot in Azure. To do this, first search for "Azure Bot" in the Azure search bar and click on "Azure Bot":

201 Reg Azure

Next, on the bot configuration page, provide the following details and click create:

  • Choose a handle for the bot.

  • Select a subscription.

  • Select the resource group to be used for the Bot.

  • Select the F0 pricing tier.

  • For the Type of App, select Single Tenant.

  • Select "Create New Microsoft App ID"

205 Reg Azure

Select Single Tenant even when the Call Recording Service will record calls from multiple Teams Tenants. Microsoft deprecated the creation of new Multi Tenant Azure Bot resources after July 31, 2025, and the Azure portal no longer allows this option to be selected for new bots. Support for recording additional Teams Tenants is instead provided by configuring the bot’s app registration as multitenant (see the app registration step later in this section) and by granting admin consent in each Teams Tenant.

After selecting the options in the Create an Azure Bot page, click "Review + Create" which will take you to the confirmation page. If the options are all correct, click "Create" to create the Azure Bot. Once the Azure Bot has been created, go to Bot Services in the Azure Services list or search for Bot Services in the Azure search bar.

220 Azure services BOT services

Next, select the bot and go to Channels and select the Microsoft Teams channel:

231 Azure services Channels

Next, agree to the terms of service and leave the Microsoft Teams Commercial option selected under Messaging:

241 Azure services Connect to Channels

Next, in the Teams channel configuration set the following and click Apply:

  • Select "Calling".

  • Make sure "Enable calling" is selected.

  • Enter the webbook URL. This should take the form of https://<FQDN>:8901/api/calling where FQDN is that of the QMS VM hosting the Call Recording Service (change the port if you are using a different Call Control port than the default port above). The FQDN value must also match the subject of the certificate.

251 Calling

Next, select Configuration and find the Microsoft App ID. Copy this ID for later use in the QMS config, and click on Manage:

261 Settings

Next, go to "Certificates & Secrets" and click on "New client secret":

271 New Client Secret

Once you have clicked on new client secret, the Add a client secret dialog will open and you will need to provide a description and an expiration and click Add:

281 Add Client Secret

Once the secret has been generated, make sure that you copy the secret for use later when configuring the Call Recording Service in QMS:

291 API Permissions

While still in the Manage App area, click on "Authentication" and then click on "Add a platform":

301 Add Permission

In the Configure platforms dialog select "Web":

311 Configure Web

In the Configure Web dialog set the Redirect URIs to https://www.enghouseinteractive.com/ which will be used later in the consent URL and must match the value used in the consent URL. Then click configure:

312 Configure Web

While still on the "Authentication" blade, if this Call Recording Service will record calls from more than one Teams Tenant, or from a Teams Tenant other than the one hosting the bot, locate the "Supported account types" section and select Multiple Entra ID tenants. Leave the sub-option set to Allow all tenants, then click Save. This allows a Teams Tenant admin in each additional tenant to grant consent to the bot using the consent URL described below. If the bot will only ever record the single Teams Tenant that hosts it, this setting can be left at the Single Tenant only default.

While still in the Manage App area, click on "API Permissions" and then click on "Add a permission":

321 Add Permission

In the API Permissions dialog select "Microsoft Graph":

310 Request Permission

Select "Application permissions" and select the following permissions:

Calls

  • Calls.AccessMedia.All

  • Calls.JoinGroupCall.All

320 Application Permissions

User

  • User.Read.All

330 User Read All

Once the permissions have been added to the bot (and any time in the future when changes may be made to the permissions granted), you will need to have a Teams Tenant admin accept the permissions. To do this you must go to a consent URL that is built using your Teams Tenant ID and the Application ID for the Teams Bot created above. The URL will take the form of:

https://login.microsoftonline.com/<TenantID>/adminconsent?client_id=<BotAppID>&state=12345&redirect_uri=https://www.enghouseinteractive.com/
  • The TenantID should be your Microsoft Teams Tenant ID.

  • The BotAppID should be the App Id from the Bot channel registration performed earlier.

Once you have the consent URL built, enter it into a Web browser, which will prompt you to login using your Teams Tenant admin user information, accept the permissions. If registration is successful, you will be redirected to https://www.enghouseinteractive.com/. If configuring the QMS Call Recording Service to record multiple Teams Tenants, the consent URL steps will need to be repeated for each Teams Tenant.

340 Accept