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(viaAllowTranscription). TheAllowTranscriptionForCallingflag inCsTeamsCallingPolicyspecifically 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:
- In Teams, start an audio or video call with another internal colleague or PSTN phone number.
- In the active call window, click the More (…) button in the top toolbar.
- 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.
- 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.