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.
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.
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.
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
- A Windows 10 system (desktop/laptop) with Administrative privileges and Internet access.
- Windows PowerShell 5.1
Microsoft Teams Windows PowerShell Module
- Module may be retrieved from Microsoft (but should be pre-installed).
- Full command summary for this module can be found in Microsoft online documentation.
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:
If necessary, update or install the module following Microsoft documentation.
4. Login and Establish Session
Authenticate with Single Factor Authentication (SFA):
$credential = Get-Credential $session = New-CsOnlineSession -Credential $userCredential -Verbose
or if your account uses Multi Factor Authentication (MFA):
$session = New-CsOnlineSession
Next, import your session:
Import-PSSession $session -AllowClobber -erroraction silent
5. Create a Recording Policy
The following command creates and names a Compliance Recording Policy:
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:
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:
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
Grant-CsTeamsComplianceRecordingPolicy -Identity <userUnderPolicy@yourcompany.com> -PolicyName JiminnyRecordingPolicy
To verify your policy was assigned correctly, run:
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.
New-CsGroupPolicyAssignment -GroupId <ObjectID> -PolicyType TeamsComplianceRecordingPolicy -PolicyName JiminnyRecordingPolicy -Rank 1
To verify if the Group policy was assigned correctly, run:
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
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.
Depending on how the attendee joins, they will be notified that recording is taking place differently:
Desktop/Web Teams Client
Mobile (iOS/Android) Teams Client
Skype for Business
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.