Skip to main content
CallTower Solutions Center

How to Install Atmos Call Recording for Microsoft Teams

This document will take you through the installation and set up instructions to both install and configure the Atmos Teams recording policy and bot.

  1. Access to PowerShell ISE in Admin mode
  2. Microsoft Teams Powershell 5.1 or higher.
  3. Teams Admin (or Global Admin) permissions to your Microsoft 365 Tenant.
  4. Microsoft Azure account with active subscription.


Create the Atmos Teams Bot:

Note: because this installation takes place in a browser, some of the page elements can be obscured if the browser window is too small.. We recommend you maximize your browser window size before proceeding.

Register the bot Channel:

  1. log into azure using the same domain \ admin account that you use to administer Teams (Note: it is important that the bot resides within the same domain)
  2. Search fo and select bot Channel Registration:
  3. Complete the registration page: 
    1. Add a unique Bot name (Bot Handle) - "AtmosTeamsBot<customername>"
    2. Select an existing resource group or select "Create New"
    3. Select a location in the same region as your Teams instance.
    4. Select the "F0 (10K premium Messages)" pricing tier.
    5. Turn off "Application Insights"
    6. clipboard_e7688bdaa97144bed5a9acc76ef213ca4.png
  4. Click "Create"
  5. Once created, search for the Bot and click on it.
  6. Connect to the Teams channel
  7. Click "Configuration" from the left menu
    • clipboard_e4249beb41fd041d9e8853a3f718bdcc7.png
    • Copy the "Microsoft App ID" to a separate document you will need this later during the setup process.
    • Click "Manage"
  8. Add a "New Client Secret"
    • clipboard_e192b2582d26129ee7bd74f578c9f6d63.png
    • Click on "New client secret.", give it a description set it to never expire and click add:
    • clipboard_ea989f94b004acb3f3f3936a6ac2669c2.png
    • Copy the Secret Value to a seperate document for later use. The secret value will be needed by the Atmos Teams Recorder.
    • Note: The secret key value will not be available after save, so it MUST be saved to an external document.
  9. Click "Authentication" on the left hand menu
    • clipboard_eec68f424dc798ce9fde90430297d615b.png
    • Click "Add a platform"
    • clipboard_ee60249fdcc6b3b1d60753eb60f46fb1e.png
    • Select "Web"
    • clipboard_e82cdb370a1f051c55c3b6e4911359318.png
    • Enter "" as the Redirect URI and Click "Configure"
    • Configure API Permissions
    • clipboard_ea343d816bec2f2aa75ff86abb28b3895.png
    • Select API Permissions then click on "Add a permission" and Select "Microsoft Graph"
    • clipboard_e0239f6d4046b2c43df24af62e1c2c9ae.png
    • Select Application permissions. This will expand the permissions menu.
    • clipboard_ea2149b04a4040c43ed33283510afab42.png
    • open the "CallRecords" permission and click the checkbox:
    • clipboard_e74485a7911ddc5f4ade1858fad827a1d.png
    • open the "Calls" permission and click on the checkboxes.
    • clipboard_e0d524a99bbc4e05257d41a7fdeafa743.png
    • Open the OnlineMeetings" permission and clock on the checkboxes
    • clipboard_eec3d9a1e9475595538c83c65082e8d37.png
    • Open the "User" permissions then click the selected checkboxes
    • Click "Add permissions" to add the permissions.
    • clipboard_e76b37f252cbfb4d75f76ec6eb36a2a61.png
    • Ensure the API/Permission names match the previous steps. then click "Gran admin consent for ....". You will be prompted to confirm grant of admin consent. Click Yes. It may be necessary to refresh your screen to update the Microsoft Graph Status column.
    • clipboard_e421fad3cf79390635380b6b651f982c0.png
    • Grant Admin Consent, In order to gran admin consent you will need to construct the admin consent URL. It will help you to have a simple text application like notepad open for copying and pasting the text strings involved in the following steps. When you're ready to continue:
    • Copy the URL into a web browser and grant permissions using an admin account on the tenant.
    • clipboard_ee408ee016f60b6410db67451ff190d57.png
    • Click Accept
  10. Send the Following Information to your CallTower Implementation manager.
    • The Bot Name (Bot Handle)
    • The Bot Microsoft App ID
    • The Client Secret (Secret Key)
    • The Directory Tenant ID
    • The CallCabinet Customer and Site ID's (From Activation Email)
    • WebHook used in section 6.4


Setup the Atmos Teams Application and Recording Policy

  1. In Azure Active Directory go to Groups and create a Recording group "Atmos Teams Recording".
    • clipboard_e4bd057aeb25641fa91389810845a46aa.png
  2. Open the group and Make note of the Object ID for the Group.
    • clipboard_e7e9dc86042b0aa6a17888373d4d47e91.png
  3. run the following powershell after replacing the key values at the start of the the script

#Get Connected to Microsoft Teams PowerShell
Install-Module MicrosoftTeams
Import-Module MicrosoftTeams

### New Atmos Bot + Policies
### Important please update the following values for your environment.
$applicationid = "<< Paste Application ID Here >>" # the application ID for the bot from azure subscription
$securitygroupid = "<< Paste Security Group Object ID Here >>" # Group ID for assigning recoridng policy.
$domain = "<< Your Domain Name Here >>" # your primary domain for the bot (i.e.
$botname = "atmosteamsbot" # Bot Username
$botdisplayname = "Atmos Bot App" # Bot Display Name
$policyname = "AtmosTeamsRecordingPolicy" # Recording Policy Policy Name

# Create Atmos Bot
New-CsOnlineApplicationInstance -UserPrincipalName "$botname@$domain" -DisplayName $botdisplayname -ApplicationId $applicationid
$appinstance = Get-CsOnlineApplicationInstance "$botname@$domain"
Sync-CsOnlineApplicationInstance -ObjectId $appinstance.ObjectId

# Create Compliance Recording Policy on Tenant.
New-CsTeamsComplianceRecordingPolicy -Tenant $appinstance.TenantId -Enabled $true -Description $policyname -Identity $policyname
Start-Sleep -Seconds 15
Set-CsTeamsComplianceRecordingPolicy -Identity $policyname -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent $policyname -id $appinstance.ObjectId)
Start-Sleep -Seconds 15

## The following Settings will disable the requirement for recording if the recording services can not be contacted.
## If needed you can switch each of these scenarios to $true based on your business requirement.
Set-CsTeamsComplianceRecordingApplication -Identity "Tag:AtmosTeamsRecordingPolicy/$($appinstance.ObjectId)" -RequiredBeforeCallEstablishment $false -RequiredDuringCall $false -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false
Start-Sleep -Seconds 15

# Assign Compliance Policy to Security Group
New-CsGroupPolicyAssignment -GroupId $securitygroupid -PolicyType TeamsComplianceRecordingPolicy -PolicyName $policyname -Rank 1



Add Users to the group and begin testing once you get confirmation that the recording setup is completed.

  • Was this article helpful?