This document will take you through the installation and set up instructions to both install and configure the Atmos Teams recording policy and bot.
- Access to PowerShell ISE in Admin mode
- Microsoft Teams Powershell 5.1 or higher.
- Teams Admin (or Global Admin) permissions to your Microsoft 365 Tenant.
- Microsoft Azure account with active subscription is required but is a free service. Microsoft will ask for you to enter your credit card information when creating a new Azure subscription. However, the bot will be created using the free teir. Recordings are stored on CallCabinets service and not within your Azure enviroment.
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:
- log into azure (portal.azure.com) using the same domain \ admin account that you use to administer Teams (Note: it is important that the bot resides within the same domain)
- Search for and select Bot Services, then Click "+ Create":
- Scroll to the bottom of the list and find "Azure Bot" (Note: click "Load More" if it doesn't appear)
- Click on "Create"
- Fill out the form with the following values:
a. Bot Handle: AtmosTeamsBot<<Customer Name>>
b. Select your Subscription and Resource group or Create a new Resource Group. (*NOTE: your subscription may have a different name)
c. Change the Pricing Tier to "Free" and Type of App to "Single Tenant"
d. Select "Create New Microsoft App ID". Then Click "Review + Create"
- Make sure the validation passes and click "Create"
- Once created go to the resouce then Channels (deprecated) and Connect to the Teams channel
- Select Channels then Click on the Teams Channel
- Click "Save" and accept the "Terms and Conditions"
- Click "Calling" then select "Enable Calling" and enter a webhook for calling.
- USA: Enter https://atmosteamsrecorder.callcabinet.com/api/calling/
- USA #2: Enter http://atmosteamsrecorderus2.callcab...m/api/calling/ – Used with Redundant recording ONLY. Contact sales for more information and licensing.
- UK: Enter https://atmosteamsrecorderuk.callcal...m/api/calling/
- UK #2: Enter https://atmosteamsrecorderuk2.callca...m/api/calling/ – Used with Redundant recording ONLY. Contact sales for more information and licensing.
- RSA: https://atmosteamsrecorderrsa.callca...m/api/calling/
- SEA: https://atmosteamsrecordersea.callca...m/api/calling/ – South East Asia
- Click "Configuration" from the left menu
- Copy the "Microsoft App ID" to a separate document you will need this later during the setup process.
- Click "Manage" (in blue next to the Microsoft App ID, above the actual App ID)
- Add a "New Client Secret"
- Click on "New client secret.", give it a description set it to 24 months expire and click add:
- 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.
- Click "Authentication" on the left hand menu
- Click "Add a platform"
- Select "Web"
- Enter "https://www.callcabinet.com" as the Redirect URI and Click "Configure"
- Configure API Permissions
- Select API Permissions then click on "Add a permission" and Select "Microsoft Graph"
- Select Application permissions. This will expand the permissions menu.
- open the "CallRecords" permission and click the checkbox:
- open the "Calls" permission and click on the selected checkboxes:
- Open the "OnlineMeetings" permission and click on the checkboxes:
- Open the "User" permissions then click the selected checkboxe:
- Click "Add permissions" to add the permissions.
- Ensure the API/Permission names match the previous steps. then click "Grant 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.
- Grant Admin Consent, In order to grant 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:
- Go to the Azure Active Directory where the bot was created and copy the "Tenant ID"
- Construct the following URL:
- https://login.microsoftonline.com/Insert Directory (tenant)ID/adminconsent?client_id=Insert Application (client) ID&state=12345&redirect_uri=https://www.callcabinet.com
- Example: https://login.microsoftonline.com/31e4423fe-902d-485a-ac36-b5787123458/adminconsent?client_id=4ab901d0-7bbd-486f-8cec-233256335&state=12345&redirect_uri=https://www.callcabinet.com
- Copy the URL into a web browser and grant permissions using an admin account on the tenant.
- Click Accept
Setup the Atmos Teams Application and Recording Policy
- In Azure Active Directory go to Groups and create a Recording group "Atmos Teams Recording".
- Open the group and Make note of the Object ID for the Group.
- run the following powershell after replacing the key values at the start of the the script
#Get Connected to Microsoft Teams PowerShell
### 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 recording policy.
$domain = "<< Your Domain Name Here >>" # your primary domain for the bot (i.e. calltower.com)
$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"
Start-Sleep -Seconds 15
Sync-CsOnlineApplicationInstance -ObjectId $appinstance.ObjectId
# Create Compliance Recording Policy on Tenant.
New-CsTeamsComplianceRecordingPolicy -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
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
If you want to disable the audio notification for calls run this command:
Set-CsTeamsComplianceRecordingPolicy -Idenity "AtmosTeamsRecordingPolicy" -DisableComplianceRecordingAudioNotificationForCalls $true
- Send an email to your CallTower IPM with the following information:
- The Bot Name (Bot handle)
- The Bot Microsoft App Id
- The Client Secret (secret key)
- The Directory Tenant ID
- Customer Name (as shown on the CallCabinet activation email)
- Customer ID (as shown on the CallCabinet activation email)
- Site name (of your initial site as shown on the CallCabinet activation email)
- Site ID (as shown on the CallCabinet activation email)
- Webhook used in the Register the Bot Channel section above
- Add Users to the group and begin testing once you get confirmation that the recording setup is completed.