How to Configure Teams 1:1 Call Live Transcription Policies in PowerShell Using Set-CsTeamsCallingPolicy

In Microsoft Teams enterprise voice and Teams Phone deployments, communication accessibility and post-call productivity rely heavily on speech-to-text artificial intelligence. Real-time live transcription allows call participants to view spoken dialogue as synchronized on-screen captions during active voice conversations. Following call completion, full searchable transcripts are automatically preserved in the call history and integrated into Microsoft 365 Copilot, enabling automated call summaries, action-item extraction, and CRM record synchronisation.

While live transcription is widely configured for scheduled multi-party calendar meetings, 1:1 peer-to-peer enterprise calls and outbound/inbound Public Switched Telephone Network (PSTN) calls are governed by a distinct policy hierarchy. In privacy-sensitive business sectors, legal consultation lines, healthcare telemedicine, or financial trade negotiations, unauthorized call transcription can breach local wiretapping regulations or client non-disclosure agreements. Microsoft Teams administrators manage 1:1 voice call transcription through Calling Policies using PowerShell and the Set-CsTeamsCallingPolicy cmdlet.

Understanding Call Transcription Controls in Teams Calling Policies

Within Microsoft Teams voice governance, peer-to-peer and PSTN voice transcription is controlled by the AllowTranscriptionForCalling parameter in CsTeamsCallingPolicy:

  • 1:1 Call Live Transcription: When enabled, users participating in direct 1:1 voice calls can click the “More actions” menu and select “Start transcription” to display real-time speech captions in the side pane.
  • PSTN Phone Transcription: Governs whether transcription is permitted when calling external cellular or landline telephone numbers via Direct Routing, Operator Connect, or Microsoft Calling Plans.
  • Distinction from Meeting Transcription: Standard scheduled meeting transcription is managed separately within CsTeamsMeetingPolicy (via AllowTranscription). The AllowTranscriptionForCalling flag in CsTeamsCallingPolicy specifically isolates direct telephone and 1:1 VoIP calls.
  • Post-Call Transcript Storage: Transcripts generated during 1:1 calls are stored securely within the user’s Exchange Online mailbox and OneDrive for Business account, adhering to Microsoft 365 retention policies and eDiscovery search boundaries.

The parameter accepts boolean values: $true (enabled) or $false (disabled).

Connecting to Microsoft Teams PowerShell

To inspect and update calling policies, open an elevated PowerShell window and sign in to your Microsoft Teams tenant with administrative credentials:

# Import MicrosoftTeams module
Import-Module MicrosoftTeams

# Sign in to Microsoft 365 tenant
Connect-MicrosoftTeams

Confirm the connection and retrieve active calling policies with transcription attributes:

Get-CsTeamsCallingPolicy | Select-Object Identity, Description, AllowTranscriptionForCalling, AllowPrivateCalling | Format-Table -AutoSize

Inspecting Current Call Transcription Policies

To view the transcription setting on the default organization-wide policy (Global), execute:

Get-CsTeamsCallingPolicy -Identity Global | Select-Object Identity, AllowTranscriptionForCalling, AllowVoicemail, AllowCloudRecordingForCalls

A typical output displays the active boolean configuration:

Identity                      : Global
AllowTranscriptionForCalling  : True
AllowVoicemail                : Enabled
AllowCloudRecordingForCalls   : True

By default in most Microsoft 365 commercial tenants, AllowTranscriptionForCalling is set to $true. To query specific custom policies created for regulated departments, legal units, or customer support groups:

Get-CsTeamsCallingPolicy -Identity "Legal-Strict-Calling-Policy" | Select-Object Identity, AllowTranscriptionForCalling

Creating a Custom Calling Policy with Transcription Disabled

To protect sensitive business units from accidental or non-compliant speech-to-text logging, enterprise best practice recommends creating a dedicated restricted calling policy.

Execute New-CsTeamsCallingPolicy to create a restricted policy where transcription is disabled:

New-CsTeamsCallingPolicy -Identity "Restricted-Voice-NoTranscription" -Description "Blocks 1:1 call live transcription and recording for compliance-restricted staff" -AllowTranscriptionForCalling $false -AllowCloudRecordingForCalls $false

Verify that the new policy has been registered in the Teams repository:

Get-CsTeamsCallingPolicy -Identity "Restricted-Voice-NoTranscription" | Format-List Identity, Description, AllowTranscriptionForCalling, AllowCloudRecordingForCalls

Modifying Existing Calling Policies with Set-CsTeamsCallingPolicy

If you need to disable call transcription globally across the entire tenant or re-enable it on an existing custom policy, use Set-CsTeamsCallingPolicy.

To disable 1:1 call transcription org-wide across all standard users:

Set-CsTeamsCallingPolicy -Identity Global -AllowTranscriptionForCalling $false

Conversely, to re-enable 1:1 call transcription for mobile sales teams or executive users:

Set-CsTeamsCallingPolicy -Identity "Sales-Executives-Policy" -AllowTranscriptionForCalling $true

Confirm the configuration update:

Get-CsTeamsCallingPolicy -Identity "Sales-Executives-Policy" | Select-Object Identity, AllowTranscriptionForCalling

Assigning the Calling Policy to Target Users and Groups

After creating or updating the calling policy, assign it to individual employees, departments, or entire security groups.

Assigning to an Individual User

Assign the restricted policy to a specific user using Grant-CsTeamsCallingPolicy:

Grant-CsTeamsCallingPolicy -Identity "[email protected]" -PolicyName "Restricted-Voice-NoTranscription"

Verify user policy assignment:

Get-CsUserPolicyAssignment -Identity "[email protected]" -PolicyType TeamsCallingPolicy

Assigning to an Entra ID Security Group

To assign the policy across an entire department using an Entra ID (Azure AD) security group:

# Retrieve Entra ID group Object ID
$GroupId = (Get-AzureADGroup -SearchString "Compliance & Risk Advisory").ObjectId

# Assign Teams Calling Policy with priority rank
New-CsGroupPolicyAssignment -GroupId $GroupId -PolicyType TeamsCallingPolicy -PolicyName "Restricted-Voice-NoTranscription" -Rank 1

Validating Client Behaviour and Call Transcripts

Once assigned, allow 2 to 4 hours for policy changes to propagate across Microsoft 365 cloud edge services. Validate policy enforcement by initiating a test 1:1 call from the Teams desktop client as the restricted user:

  1. In Teams, start an audio or video call with another internal colleague or PSTN phone number.
  2. In the active call window, click the More (…) button in the top toolbar.
  3. Expand the Record and transcribe menu item: verify that the Start transcription option is either missing, greyed out, or displays a tooltip stating that transcription is restricted by policy.
  4. Confirm that the call proceeds with standard high-definition audio and video without interruption.

For organizations operating under strict data residency mandates (such as GDPR or HIPAA), ensure that when AllowTranscriptionForCalling is enabled, spoken audio data remains within your designated local Microsoft 365 datacenter geo-region.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.