Integrate Microsoft Teams with Revenue.io

This guide provides an Azure Administrator instructions to integrate an organization's Microsoft Teams account with Conversation AI. Configuring this integration allows Teams meetings to be recorded and transcribed by Conversation AI. Teams meetings will also generate Events in Salesforce for meeting events.

To do this, we use Microsoft’s recommended approach: attach an Azure Bot as an Application Instance to a Compliance Recording Policy and attach that Policy to specific users, groups, or globally. Once attached, the policy ensures that the Azure Bot receives an invitation to each meeting a user joins.

The Azure Bot (sometimes referred to as the Microsoft Teams Service or Microsoft Teams Bot) joins a meeting when invited (as an invisible participant) and (based on your settings) subscribes to individual audio and video streams for each participant. We transcribe these streams in real-time and store the transcripts and recording so you can access them conveniently through Conversation AI.

This functionality is available when a user is added to the Azure Compliance Recording Policy. Administrators that wish to roll these features out to a small group of users before deploying to a larger group should ensure that only the intended users are added to the recording policy.

Access Scope

To enable this functionality, the Azure Bot needs admin consent to use the following scopes:

  • Calls.AccessMedia.All - Allows bot to get audio/video
  • Calls.JoinGroupCall.All - Allows bot to join a call
  • OnlineMeetingArtifacts.Read.All - Allows bot to get meeting topic and participant info
  • User.Read.All - to make onboarding and administration easy

We also require an Application Access Policy that allows our application to access meetings on behalf of a user to get a detailed list of participants in a meeting.

Automatic Integration Steps

Manual Integration Steps

 

Managing User Recording Policy Assignment

After completing the integration setup, you may need to modify your recording policy assignment from time to time. Please refer to the powershell commands below:

Individual Users

  • To assign a recording policy to an individual user (replacing first.last@domain):
    Grant-CsTeamsComplianceRecordingPolicy -Identity first.last@$domain -PolicyName RevenueRecordingPolicy

  • To view the current policy assignment for a user (replacing first.last@domain):
    Get-CsOnlineUser -Identity first.last@$domain | Select-Object -ExpandProperty 'TeamsComplianceRecordingPolicy'
  • To unassign a recording policy from an individual user (replacing first.last@domain):
    Grant-CsTeamsComplianceRecordingPolicy -Identity first.last@$domain -PolicyName $null

Groups (Recommended)

  • To assign a recording policy to a a security group or distribution list (replacing group.name@domain with your groupId):
    New-CsGroupPolicyAssignment -GroupId group.name@$domain -PolicyType TeamsComplianceRecordingPolicy -PolicyName RevenueRecordingPolicy -Rank 1

  • To view the current policy assignment for a group:
    Get-CsGroupPolicyAssignment -PolicyType TeamsComplianceRecordingPolicy
  • To remove the recording policy assigned to a group (replacing group.name@$domain with the resulting GroupID from Get-CsGroupPolicyAssignment):
    Remove-CsGroupPolicyAssignment -GroupId group.name@$domain -PolicyType TeamsComplianceRecordingPolicy
  • Group Policies apply to all users added as members. They do not apply to owners of a group.
  • It takes several minutes for new group memberships to propagate to the Teams compliance recording policy rule evaluator. If you have added new members to a group, please wait at least 10 minutes before testing the integration with newly added users.

Global

  • To assign a recording policy to the entire Tenant:
    Grant-CsTeamsComplianceRecordingPolicy -Global -PolicyName RevenueRecordingPolicy

Was this article helpful?

/