MCO eComms service includes a recording bot leveraging the compliance recording capabilities of Microsoft Teams. Configuring capture of Teams calls and meetings requires enabling a compliance based recording policy associated to at least one user within the Microsoft Entra ID Tenant.
After that is done, an MCO eComms account administrator will need to configure the Microsoft Teams Voice & Meetings integration settings to connect the app to your recording policy configuration in Microsoft Teams.
The last step ensuring covered users are mapped to their Microsoft Teams V&M identities. These may be the same as those used by Teams Chat or, some users, may have multiple identities associated with them.
For more information, please see the Introduction to Teams recording article from Microsoft. The relevant content involves "Third-party Compliance recording".
Setting up Compliance Recording Policy
A compliance recording policy is used to define which users will be recorded, using which third party recorder. Setup requires the user of Powershell.
The Microsoft Entra Id tenant will require at least one user allocated for the bot to be used. This can be an existing user or a new one can be created e.g. for testing.
Prerequisites
PowerShell (5.1, comes with Windows) as Administrator
PowerShell execution policy of at least
RemoteSigned
PowerShell Module (MicrosoftTeams or SkypeForBusiness)
Microsoft Entra Id administrator user role
Throughout this Documentation we will use the MicrosoftTeams
PowerShell Module.
You can also use the SkypeForBusiness
Module, either one works. The relevant Commands are available in both Modules.
Connect to the MicrosoftTeams Powershell Module
You will use the Microsoft Entra Id administrator for all commands. To connect to MicrosoftTeam Powershell Module:
Run PowerShell (as admin)
Click the Windows Start menu button and type
PowerShell
.Open the Context Menu (right click) of the
Windows PowerShell
entry and selectRun as Administrator
.
In an elevated (Run as Admin) PowerShell Terminal enable execution using Set-PsExecutionPolicy.
Set-PsExecutionPolicy RemoteSigned
Install the module:
Install-Module MicrosoftTeams
Or if it is already installed, update the module:
Update-Module MicrosoftTeams
Activate the module
Import-Module MicrosoftTeams
Sign in with your Azure credentials (Microsoft Entra ID administrator).
Connect-MicrosoftTeams
For additional information see Microsoft Teams documentation Install the Microsoft Teams PowerShell Module and sign in with your Azure Credentials
Setup a Compliance Policy for Teams
While connected as the Microsoft Entra ID administrator to the Activated MicrosoftTeams Module, the next steps setup the recording policy.
The following are required to create a policy in Teams:
An Application Instance (Microsoft Entra ID Resource)
A Recording Policy (the actual compliance policy)
A Recording Application (A link between the policy and the application)
Create the Application Instance
Using the New-CsOnlineApplicationInstance Powershell command, create an application instance in Microsoft Entra ID.
New-CsOnlineApplicationInstance `
-UserPrincipalName <email of the generated microsoft entra id resource> `
-DisplayName <a name for the generated microsoft entra id resource> `
-ApplicationId 82da7f37-355e-4430-a678-1ff49f539458
The ApplicationId
82da7f37-355e-4430-a678-1ff49f539458
is the designated recorder application id provided by MCO.
After executing the above command the ObjectId
should be displayed. It can also be retrieved using the following command.
Get-CsOnlineApplicationInstance -DisplayName <the name you provided>
You will now have to Synchronize this Application Instance into the Agent Provisioning Service.
Sync-CsOnlineApplicationInstance `
-ObjectId <the object id of the Application Instance> `
-ApplicationId 82da7f37-355e-4430-a678-1ff49f539458
Create the policy
Create the recording to be applied to users for the use of the recording application with the New-CsTeamsComplianceRecordingPolicy command.
New-CsTeamsComplianceRecordingPolicy `
-Identity <provide a name for your policy> `
-Enabled $true
With this, you will just have a policy with a unique Identity
.
You can already assign this policy to users, but it will not do anything, because it does not have any Recording Applications assigned to it yet.
Create the Recording Application
Create the recording application associating the recording policy just created with the application instance using New-CsTeamsComplianceRecordingApplication.
New-CsTeamsComplianceRecordingApplication `
-Parent <Recording Policy Name> `
-Id <Application Instance Object Id>
The Parent is the Parameter Identity
from the New-CsTeamsComlianceRecordingPolicy
in the prior step.
The Id is the Object ID
of the Object created with New-CsOnlineApplicationInstance
.
When complete, you now have:
Assigned an Application in your own Entra (Application Instance),
which points to an application on an external Entra (Application Id that was assigned to Application Instance),
to a Teams Compliance Policy (by using its name)
Use the policy
To be able to use the Policy, you will need to assign the policy to Users or Groups. The following options provide alternative ways to assign the policy within your organization using the Grant-CsTeamsComplianceRecordingPolicy command.
NOTE: It may take a few minutes and logged in users need a new access token (logout and login again) before the recording policy takes effect.
Option 1: Assign the Policy to a tenant
To assign the policy to all users of your tenant, use the Global option.
Grant-CsTeamsComplianceRecordingPolicy `
-Global `
-PolicyName <Recording Policy Name>
This assigns the policy, of the name given in earlier steps, to all users of your tenant.
Option 2: Assign the Policy to a user
To assign the policy to specific users, use the following option:
Grant-CsTeamsComplianceRecordingPolicy `
-Identity <User Principal Name> `
-PolicyName <Recording Policy Name>
This assigns the policy to the user specified by its user principal name(UPN). The UPN is often also the email address of the user, but it does not have to be. The upn of a user can be found in the user overview of the Microsoft Entra Admin Center.
To verify if the policy was successfully assigned, you can run:
Get-CsOnlineUser <User Principal Name> | ft sipaddress, tenantid, TeamsComplianceRecordingPolicy
If the policy has been assigned successfully the output should look similar to:
SipAddress TenantId TeamsComplianceRecordingPolicy ---------- -------- ------------------------------ sip: 00000000- <Recording Policy Name>
Option 3: Assign the Policy to a group
The most common way to assign policies is through groups. To assign using a group, use the following:
Grant-CsTeamsComplianceRecordingPolicy `
-Group <Group Object Id> `
-PolicyName <Recording Policy Name>
This assigns the policy to all users of the group specified by the object id of the group. Groups can be security groups and Microsoft 365 groups, the object id of a group can be found in the group overview of the Microsft Entra Admin Center.
Remove Recording Policy Assignment
Removing a recording policy Assignment is very similar to assigning a recording policy. Passing $null
as the PolicyName
parameter will remove a recording policy.
Remove policy
You can list all configured policies using the following command:
Get-CsTeamsComplianceRecordingPolicy
Then use the Remove-CsTeamsComplianceRecordingPolicy
command to remove the policy.
Remove-CsTeamsComplianceRecordingPolicy -Identity <Policy Name>
Optional
Optionally, you can also remove the other configuration entities, like CsOnlineApplicationInstance. The underlying user principal will have to be removed through directory operations on the Entra.
Configuring Microsoft Teams Voice & Meetings integration
MCO eComms uses a Microsoft app to connect your Teams environment to your eComms instance. The name of this app is “MCO eComms Teams Archiver”.
Integration settings
Open the UI and go to Integrations > menu. Click on the ellipsis.
Click Connect.
You should be prompted to select the Microsoft account that you would like to use to install the eComms app.
You should get a confirmation message asking you to acknowledge connecting eComms with your Teams environment. This may prompt you to enter credentials to your Azure environment that has the role of Application Administrator or Cloud Application Administrator. This will automatically add the MCO eComms application to your Azure enterprise.
Mapping covered Users
The specific users that you would like to start archiving and monitoring their Teams meetings will need to be specified in eComms.
Go to Settings > Users.
You will need to select the edit button on the far right on the users that you will want to monitor. You will need to add “Teams V&M” and their teams email to the “Sources list”. To do this select the “Edit” button in the “Sources” section of the user’s profile.
Once saved this user Teams chat messages will start archiving and, if wanted, start being monitored with their already chosen policies. Please note multiple emails can be entered for a single user. (please note that the same users must also be included in the Microsoft Teams policy as well)