Prepare Microsoft Teams Environment for Real-Time Third Party Telephony Recording (Multi-ACD)
This topic provides guidelines for configuring the Microsoft Teams environment for Real-Time Third Party Telephony Recording (Multi-ACD) integration. Follow the steps below in the order presented to enable compliance recording policies in the Microsoft Teams tenant.
Make sure you have administrative permissions in the target Microsoft Teams tenant before proceeding.
Retrieve the Microsoft Teams Tenant ID
Before beginning the configuration, complete the following steps and provide the Microsoft Teams Tenant ID to the NiCE Professional Services:
-
Navigate to https://portal.azure.com.
-
Sign in using a Microsoft 365 account with administrative privileges.
-
In the left-hand menu, select Microsoft Entra ID.
-
Locate and copy the Tenant ID displayed on the overview page.
-
Provide the Tenant ID to the assigned NiCE Professional Services Engineer.
Provide Consent for NiCE CXone Recording in Microsoft Teams
-
Use the URL provided by the NiCE Professional Services to grant admin consent to NiCE CXone recording solution:
Example:
https://login.microsoftonline.com/{CustomerTenantID}/adminconsent?client_id={AzureBotAppId}
-
Sign in with a Global Administrator account for the Microsoft Teams tenant.
-
Click Accept to authorize the NiCE CXone recording solution for use within your Microsoft Teams tenant.
Connect and Assign the Recording Policy to Microsoft Teams Agents
The following steps must be executed by running the PowerShell commands.
-
Connect to Microsoft Teams application:
var(--codeSnippetCopyLabel)Connect-MicrosoftTeams
-
Create the Microsoft Teams Application Instance:
var(--codeSnippetCopyLabel)New-CsOnlineApplicationInstance -UserPrincipalName {CX_Example@example.com} -DisplayName {CX_EngagementHub_Example} -ApplicationId {ApplicationId} -ErrorAction Stop
-
Replace
{CX_Example@example.com}
with the User Principal Name of the application that was imported when the new environment was created, -
{CX_EngagementHub_Example}
with the display name you will use to identify all configured instances in this tenant, and -
{ApplicationId}
with the Application ID provided by the NiCE Professional Services.
-
-
Retrieve the
{ObjectId}
of the application instance:var(--codeSnippetCopyLabel)Get-CsOnlineApplicationInstance
Locate the entry that matches the Display Name you specified (e.g.,
{CX_EngagementHub_Example}
), and note the corresponding{ObjectId}
. This value will be used in the following steps. -
Synchronize the Microsoft Teams application:
var(--codeSnippetCopyLabel)Sync-CsOnlineApplicationInstance -ObjectId {ObjectId} -ApplicationId {ApplicationId}
-
Replace
{ObjectId}
with the value retrieved in Step 3, and -
{ApplicationId}
with the Application Id provided by the NiCE Professional Services.
-
-
Create recording policy:
var(--codeSnippetCopyLabel)New-CsTeamsComplianceRecordingPolicy -Identity {CX EngagementHub Example} -Enabled 1
Replace
{CX EngagementHub Example}
with the same Policy name as created in the application instance. -
Verify the recording policy exists:
var(--codeSnippetCopyLabel)Get-CsTeamsComplianceRecordingPolicy -Identity {CX EngagementHub Example}
Replace
{CX EngagementHub Example}
with the same Policy name as created in the application instance. -
Create a new recording application:
var(--codeSnippetCopyLabel)New-CsTeamsComplianceRecordingApplication -Parent {Tag:CX_EngagementHub_Example} -Id {ObjectId}
-
Replace
{Tag:CX_EngagementHub_Example}
with the same Policy name as created in the application instance, and -
{ObjectId}
with the value retrieved in Step 3
-
-
Assign the policy to a user:
var(--codeSnippetCopyLabel)Grant-CsTeamsComplianceRecordingPolicy -Identity {user@domain.com} -PolicyName {Tag:CX_EngagementHub_Example}
Replace
user@domain.com
with the full username of the Microsoft Teams user, including the domain. -
Verify the policy assignment:
var(--codeSnippetCopyLabel)Get-CsOnlineUser {user@domain.com} | select SipAddress, TenantId, TeamsComplianceRecordingPolicy | fl
Replace
user@domain.com
with the full username of the Microsoft Teams user, including the domain.
Export Microsoft Teams User GUIDs for CXone Recording Account Setup
The following step must be executed by running the PowerShell command after completing all prior configuration. It’s required to create Recording Accounts for users in the CXone application.
-
Generate and export the list of Microsoft Teams users and their GUIDs:
var(--codeSnippetCopyLabel)$users = Get-CsOnlineUser | Select UserPrincipalName, DisplayName, Identity, TeamsComplianceRecordingPolicy
$users | Export-Csv -Path "{file path location}"Replace
{file path location}
with the full local path where the .csv file will be saved. -
Provide the exported .csv file to the assigned NiCE Professional Services Engineer.