A Microsoft Teams recording is the only kind of meeting recording on this site that doesn’t actually live inside the meeting tool. The moment a Teams call stops, the recording is uploaded to the organizer’s OneDrive (for ad-hoc and scheduled meetings) or to the underlying SharePoint document library (for channel meetings), and Teams itself just shows a pointer. That single architectural choice — made when Stream Classic was deprecated for new content in early 2021 and finalized later that year — shapes every transcription workflow that follows: the file inherits Microsoft 365 retention labels and sensitivity policies, the .vtt lives next to the .mp4 in the same folder, and tenant admins control what third-party apps can ever touch it.
This guide focuses on the Teams-specific mechanics: where the recording really lives, which CsTeamsMeetingPolicy switches gate transcription, what the auto-generated .vtt contains, and how to layer Atter AI on top to reach 98.7% accuracy across signed-in and external participants alike.
Where Microsoft Teams Recordings Actually Live
Teams does not store recordings. Microsoft 365 does. Understanding the path matters because retention, permissions, and integration scope are all decided by the storage layer, not by Teams.
- Scheduled or ad-hoc meeting → the organizer’s OneDrive for Business, under
/Recordings/. The.mp4, the.vtttranscript, and (on supported plans) the chat are stored as siblings. - Channel meeting → the SharePoint document library of the parent team, under the channel’s folder
/Recordings/. Anyone with channel access has read access by default. - Meet now in a chat → the OneDrive of whoever clicked Start recording, not necessarily the chat owner.
- Webinar or town hall → the organizer’s OneDrive, with attendee analytics stored separately in Teams.
A Teams recording therefore inherits the retention label, sensitivity label, and DLP policy of the OneDrive or SharePoint location it lands in. There is no Teams-level “auto-delete after N days” knob equivalent to Zoom’s — Teams recordings stay as long as your Microsoft 365 retention policy says they stay. That is usually indefinite by default, but can be set to a fixed duration or trigger deletion based on the meeting organizer’s lifecycle.
The CsTeamsMeetingPolicy Switches That Gate Transcription
Two PowerShell-controlled toggles inside CsTeamsMeetingPolicy decide whether a user can ever produce a transcript or recording in Teams. Most help articles paper over them.
AllowCloudRecording— without this, the Record and transcribe menu does not appear. Set per policy, assigned to users in groups.AllowTranscription— gates the Start transcription button independently of recording. You can record without transcribing, and (on supporting plans) transcribe without recording.
Tenant admins manage these in the Teams admin center under Meetings → Meeting policies, or via Set-CsTeamsMeetingPolicy. Changes propagate within a few hours but can take up to 24. If a user reports the Record and transcribe option is greyed out, this is the place to look before debugging clients.
Method 1: Teams Native Live Transcription and the Auto-Saved .vtt
Microsoft Teams generates a live transcript via the Microsoft Speech service and saves it as a .vtt next to the recording. The flow:
- In the meeting, click More actions (•••) → Record and transcribe → Start transcription.
- A side panel opens with rolling captions. Participants can change spoken language under the panel’s gear icon — Teams supports a fixed list (English variants, Spanish, French, German, Italian, Portuguese, Mandarin, Japanese, and others); the spoken-language setting is per-meeting and resets at the start of each call.
- End the meeting. The
.vttlands in OneDrive or SharePoint alongside the.mp4within a few minutes, named<MeetingTitle>.vtt. - Inside the Teams meeting recap, the same transcript is also viewable as searchable HTML with attributed speaker turns.
What the Teams .vtt Contains
- Time-coded captions with speaker attribution only for signed-in tenant members — external guests, federated users, and anonymous join links appear as
Guest 1,Guest 2, etc. - Display names taken from Azure AD / Entra ID, so a name change in directory propagates to future transcripts but not past ones.
- No paragraph breaks beyond caption cells; you need a downstream tool to reflow this into prose.
Where Teams Native Falls Short
- Accuracy floats around 85–90% on clean tenant audio and falls sharply on guest dial-in via PSTN, where the audio path is 8 kHz narrowband.
- The intelligent recap (auto-chapters, suggested follow-ups, “AI notes”) is gated to Teams Premium ($10/user/month add-on as of 2026) or to Microsoft 365 Copilot licenses. Standard Teams licenses see only the raw transcript.
- Transcription locks to one spoken language per meeting. Genuinely bilingual calls produce a single-language transcript with the off-language portions degraded.
Method 2: Atter AI on Top of OneDrive / SharePoint Recordings
Because Teams recordings live in OneDrive and SharePoint, the cleanest integration path is to authorize Atter AI against Microsoft Graph rather than against Teams itself.
- In Atter AI, open Integrations → Microsoft 365 and click Connect.
- Approve the Graph scopes
Files.Read.All,Sites.Read.All, andOnlineMeetings.Read. A tenant admin must grant consent the first time; this is a one-time Admin consent required prompt in Entra ID. - Optionally restrict the integration to a subset of users via the Microsoft 365 admin center → Enterprise applications → Atter AI → Properties → Assignment required.
When a recording lands in OneDrive, the Graph webhook fires, Atter AI fetches the .mp4 (or the smaller .vtt audio extraction path if you prefer not to copy video out of tenant), and re-transcribes from the source audio. Atter AI reaches 98.7% on clean tenant audio and pulls back the gap on PSTN dial-in participants by applying narrowband-tuned acoustic models — the place where the native .vtt is weakest.
Channel meetings are slightly different: because the recording lives in a SharePoint document library, you have to add Atter AI to the underlying SharePoint site (or grant it Sites.Selected with the site IDs) rather than relying on the organizer’s OneDrive scope.
Method 3: Atter AI Notetaker as a Federated Teams Participant
When integration is blocked by IT, or the meeting is hosted by an external tenant you don’t control, invite the Atter AI notetaker as a guest:
- Copy the Join Microsoft Teams Meeting link.
- Paste it into Atter AI Add Meeting, or let calendar auto-join handle it.
- The bot joins through the anonymous join URL as “Atter AI Notetaker.” If the meeting has Who can bypass the lobby set to People in my organization, the organizer admits the bot from the lobby once.
A few Teams-specific behaviors:
- If the tenant has Anonymous users can join a meeting disabled in the Teams admin center, the bot cannot join at all. Switch to a different method, or have the organizer enable anonymous join for that single meeting.
- If the meeting uses End-to-end encryption (available for 1:1 calls in Teams since 2021, and for scheduled meetings under Teams Premium), no third-party participant can join, by design.
- Bots count toward the participant limit. In large town halls (up to 20,000 attendees), Teams may queue them; for that scale, use Method 2 instead.
Method 4: Uploading a Teams Recording You Already Have
For users without admin consent or for meetings recorded by someone else who later shared the file:
- Open the OneDrive or SharePoint folder where the recording lives.
- Download the
.mp4. The accompanying.vttis optional — Atter AI re-transcribes from audio, but importing the existing.vttlets the engine cross-check speaker labels. - Upload to Atter AI and pick the meeting language. Auto-detect works for bilingual calls.
A 60-minute Teams MP4 typically transcribes in 3–5 minutes.
Teams-Specific Gotchas to Avoid
Channel meetings ignore organizer settings. Recording and transcription policy for a channel meeting follows the team owner’s policy, not the meeting starter’s. If a member with AllowTranscription = True starts a channel meeting in a team whose owner has it disabled, transcription will silently not start.
Sensitivity labels can block downloads. A .mp4 in OneDrive with the Confidential label and Block download enforcement will refuse the Graph download even with Files.Read.All. Surface this to your information protection admin before assuming the integration is broken.
The recap view and the .vtt are different artifacts. The Teams meeting recap shows a rich, attributed transcript inside the Teams app, but it queries a separate Microsoft service. Downloading the .vtt from OneDrive gives you the raw caption file; the recap data (chapters, AI notes from Premium) is not in that .vtt.
Recording inheritance breaks on guest tenants. When an external organizer records a meeting where your users participate, the recording lives in their OneDrive, not yours. You cannot retroactively pull it through your Atter AI integration — ask the organizer for the file, then use Method 4.
Live transcription stops if the starter leaves. If the user who clicked Start transcription drops off, transcription continues only if another in-tenant attendee re-starts it. There is no auto-handoff.
Tenant audio retention is not user audio retention. When a user account is deleted, their OneDrive (and the recordings inside) enters a 30-day soft-delete and then permanent deletion unless an admin extends it via the Microsoft 365 admin center → Users → Deleted users. A retention policy applied at the OneDrive level overrides the soft-delete and preserves the recording even after the account is gone.
Teams Native vs Atter AI
| Capability | Teams Native .vtt | Atter AI |
|---|---|---|
| Accuracy on clean tenant audio | ~85–90% | 98.7% |
| Accuracy on PSTN dial-in | Drops noticeably | Narrowband-tuned models close the gap |
| Speaker labels for external guests | ”Guest 1”, “Guest 2” | Full diarization with rename |
| Intelligent recap / AI notes | Teams Premium only | Always included |
| Cross-meeting search | Microsoft Search | Full-text indexed in Atter AI |
| Multilingual meetings | One language per meeting | 90+ with per-segment detection |
| File storage | OneDrive / SharePoint | Atter AI workspace + export back |
How Teams compares to its peers: unlike Zoom’s 30-day cloud auto-delete, Teams stores recordings in OneDrive indefinitely (subject to your Microsoft 365 retention policy) — see our Zoom guide for the contrast in default behavior. Unlike Google Meet, where the saved transcript is a .docx placed in the host’s “Meet Recordings” folder, Teams emits a timestamped .vtt adjacent to the .mp4 and never leaves Microsoft 365 storage — see our Google Meet guide. And unlike Webex, where Network-Based Recording can output to either MP4 or the legacy ARF, Teams uses MP4 exclusively; our Webex guide walks through the ARF conversion issues Teams users never have to think about.
Microsoft Teams Transcription FAQ
Why is the Record and transcribe button missing in my Teams meeting?
The most common reason is AllowCloudRecording or AllowTranscription set to False in your assigned CsTeamsMeetingPolicy. Ask your Teams admin to check the Teams admin center → Meetings → Meeting policies for the policy assigned to your user, or run Get-CsOnlineUser -Identity user@tenant | Select-Object TeamsMeetingPolicy in PowerShell.
Where exactly is my Microsoft Teams transcript saved?
For scheduled and ad-hoc meetings, in the meeting organizer’s OneDrive under /Recordings/<MeetingTitle>.vtt. For channel meetings, in the team’s SharePoint site under the channel folder’s /Recordings/. There is no separate “Teams transcript library” — the .vtt lives next to the .mp4.
Does Microsoft Teams transcribe meetings automatically?
Not by default. The transcription has to be started manually via Record and transcribe → Start transcription unless your tenant uses Teams Premium with auto-recording enabled at the policy level, or you’ve connected Atter AI’s calendar auto-join, which starts transcription on every Teams meeting regardless of the organizer’s actions.
Why do my external guests show as “Guest 1” instead of their names in the Teams transcript?
Native Teams transcripts only label speakers using their Entra ID / Azure AD display name. Federated users from another tenant join through the anonymous join path and don’t pass an Entra identity, so Teams labels them generically. Atter AI’s diarization assigns distinct speaker tracks and lets you rename them after the meeting.
How does Teams handle bilingual meetings compared to Atter AI?
Teams locks the spoken-language setting at meeting start. If half the call is in English and half in Spanish, the off-language portion is transcribed against the wrong acoustic model and accuracy drops sharply. Atter AI runs per-segment language detection and switches models on the fly.
Can I transcribe a Teams meeting hosted by another organization?
Yes, but not through the Microsoft 365 integration — that scope only covers recordings stored in your own tenant. Either invite the Atter AI notetaker (Method 3) if the external tenant allows anonymous join, or have the external organizer share the .mp4 and upload via Method 4.
Does Atter AI replace Teams Premium’s intelligent recap?
For most teams, yes. Teams Premium adds auto-chapters, AI notes, and meeting-wide search at a per-seat cost; Atter AI delivers the same outputs (and richer ones, including action items with owner attribution) at higher accuracy and as part of a unified archive across Zoom, Google Meet, and Webex. The integration choice usually comes down to whether you’ve already standardized on Copilot for other Microsoft 365 workflows.
What happens to my Teams transcripts when a user account is deleted?
The user’s OneDrive enters a 30-day soft-delete, after which the recordings and .vtt files are permanently deleted unless a retention policy is in force. To preserve transcripts beyond user lifecycle, either apply a retention policy at the OneDrive level or export them to a system of record (such as Atter AI’s workspace) before deprovisioning.