Installing the Compliance Bot

Written By Bekkie Wetz (Super Administrator)

Updated at October 28th, 2021

Jiminny have developed a Microsoft Teams Compliance Bot to help with your compliance needs. It integrates with Microsoft Team's Online Meetings to automatically record your Team users' calls for transcription, analysis and coaching. The Recording Bot will ensure that when Jiminny Notetaker is present in the meeting, a recording notification will be present to customers.
To install the Compliance Bot, you'll need to be a Tenant Admin. 

How it Works

The Compliance Bot relies on the built-in framework features available in your Microsoft Azure AD environment to automatically deliver meeting metadata to Jiminny for recording, archiving, analysis and coaching.
Within the Azure AD environment, a Recording Compliance Policy determines which AD users' meetings will be recorded. When any user under this policy initiates an online meeting, an Azure Teams Application Instance directs the meeting metadata to Jiminny. Jiminny uses this information to help analyze the meeting and set recording notifications so attendees are aware. 

Provisioning Guide

Overview

Jiminny's integration with Microsoft Teams Online Meetings takes advantage of the Microsoft Teams Recording Policy infrastructure. For background, please reference the Teams Recording Policy documentation by Microsoft.

Prerequisites

  1. Microsoft 365 license for "Compliance Recording" 
    • Compliance Recording can be enabled on Microsoft 365 A3/A5/E3/E5/Business Premium and Office 365 A3/A5/E3/E5 users. Please reference the Microsoft documentation.
  2. Azure Active Directory Administrator credentials for your domain
    • You may need the Microsoft-assigned onmicrosoft.com domain name (e.g.: “xyz.onmicrosoft.com”,) in addition to your company's registered domain name (e.g.: “mycompany.com”). You can find the "onmicrosoft.com" domain name in your Microsoft Azure Domains administration portal 
  3. A Windows 10 system (desktop/laptop) with Administrative privileges and Internet access.
  4. Windows PowerShell 5.1
  5. Microsoft Teams Windows PowerShell Module

Provisioning Guide

1. Grant Jiminny Recording Bot permission to your Tenant

The service requires explicit permissions to access your meetings.
  • Visit the Microsoft consent page in your browser and follow the instructions. 
  • You will be asked to login to your Microsoft 365 domain with an Administrative account. The account will need roles that can grant permissions to:
    • Maintain Access to your Data 
    • Sign in and read user data
    • Join group calls and meetings as an app
    • Access media streams in a call as an app
    • Read all users full profiles
  • If successful, you will be redirected to the Jiminny website.

2. Open PowerShell on a Windows system and Run as Administrator

  • PowerShell is where we will connect to the Azure instance to install components, configure recording policies, and assign users to the policy.
  • You must “Run as Administrator” to get the correct shell permissions. 

3. Install Microsoft Teams PowerShell cmdLet

If you're using recent version of PowerShell, it should already be installed. We require version 2.0.0 at a minimum.
Check this by running the following command:
1
Get-Module MicrosoftTeams
If necessary, update or install the module following Microsoft documentation.

4. Login and Establish Session

Authenticate with Single Factor Authentication (SFA):
1
2
$credential = Get-Credential
$session = New-CsOnlineSession -Credential $userCredential -Verbose
or if your account uses Multi Factor Authentication (MFA):
1
$session = New-CsOnlineSession
Next, import your session:
1
Import-PSSession $session -AllowClobber -erroraction silent

5. Create a Recording Policy

The following command creates and names a Compliance Recording Policy:
1
New-CsTeamsComplianceRecordingPolicy -Enabled $true -Description "Jiminny Recording Policy created by <yourName>" JiminnyRecordingPolicy
Next, associate the Recording Policy you just created with the Jiminny Compliance Bot Application: 
1
Set-CsTeamsComplianceRecordingPolicy -Identity JiminnyRecordingPolicy -ComplianceRecordingApplications ` @(New-CsTeamsComplianceRecordingApplication -Parent JiminnyRecordingPolicy -Id d9400b0b-e1ca-468f-96d0-3fae6b73c643) 
After 30-60 seconds, the policy should show up. To verify your policy was created correctly, run:
1
Get-CsTeamsComplianceRecordingPolicy JiminnyRecordingPolicy

6. Assign the Recording Policy

This requires the policy created above. You can assign the policy to a group or per user. We advise starting with a single user to test the integration.
Assigning to a single User
1
Grant-CsTeamsComplianceRecordingPolicy -Identity <userUnderPolicy@yourcompany.com> -PolicyName JiminnyRecordingPolicy
To verify your policy was assigned correctly, run:
1
Get-CsOnlineUser <userUnderPolicy@yourcompany.com> | ft sipaddress, tenantid, TeamsComplianceRecordingPolicy
Assigning to a Group
In Azure AD, go to Groups and create a Recording group. Copy the Object ID of the Group for the next command. We advise assigning a single test user to ensure the policy is working as expected before adding all users to the group.
1
New-CsGroupPolicyAssignment -GroupId <ObjectID> -PolicyType TeamsComplianceRecordingPolicy -PolicyName JiminnyRecordingPolicy -Rank 1
To verify if the Group policy was assigned correctly, run:
1
Get-CsGroupPolicyAssignment -PolicyType TeamsComplianceRecordingPolicy
After you assign the Recording Policy through PowerShell, Microsoft AD will take a short amount of time to sync the policies with the users.

Revoking the Recording Policy

1
Grant-CsTeamsComplianceRecordingPolicy -Identity <userUnderPolicy@yourcompany.com> -PolicyName $null

Test the Policy Works

Once you have created and assigned the policy to your team, if the Jiminny Notetaker is present in their Microsoft Teams meetings a notification will appear like below:
If the recording is stopped by the host, it will remove the Jiminny Notetaker. If the Jiminny Notetaker is removed by the host, recording will also stop.

Recording Notification

Depending on how the attendee joins, they will be notified that recording is taking place differently:
Visual Notice
Audio Notice
Desktop/Web Teams Client
SIP phones
Mobile (iOS/Android) Teams Client
Skype for Business
Teams phones
Audio conferencing
Teams rooms
PSTN callers
OneDrive Storage
Recordings will be stored in both Jiminny and OneDrive. Depending on your exact needs, you may wish to apply a retention label to your OneDrive Team Recordings so they are not stored indefinitely.