How to get Teams meeting transcripts in Power Automate — no Premium license
Most people trying to automate Teams transcripts end up in Power Automate — and stuck. The “When a transcript is available” trigger often never fires, the HTTP action needs a Premium license, and the Graph transcript API now has to be switched on by an admin. AI Meeting Notetaker sends the full meeting data to a free trigger, so your flow can create Planner tasks, save to SharePoint or start approvals.
- ✓ 5 meetings free
- ✓ No Copilot license
- ✓ No bot in your calls
Preview — exactly what we'll send
What arrives in Power Automate after a meeting — generated by the same code that sends it.
Your flow reads this from triggerBody()?['notetaker'] (it arrives inside a Teams card).
{
"event": "recording.completed",
"id": "evt_ad52e18a-3e16-4aa9-a522-a3b6bed2a6a3",
"test": false,
"created_at": "2026-11-06T19:39:07.303Z",
"recording": {
"id": "rec_sample",
"title": "Weekly client sync",
"status": "completed",
"recorded_at": "2026-11-06T17:39:07.303Z",
"duration_min": 47,
"summary": "Firewall migration moves to next Tuesday; backup alerts will go to the on-call rota. Priya approves the change freeze by Friday.",
"key_points": [
"Firewall migration moves to next Tuesday",
"Backup alerts will go to the on-call rota"
],
"action_items": [
{
"task": "Send the revised migration window",
"owner": "Jon"
},
{
"task": "Approve the change-freeze exception",
"owner": "Priya"
}
],
"sections": [],
"url": "https://notetakerforteams.com/",
"app_url": "https://notetakerforteams.com/app",
"preview_image_url": "https://notetakerforteams.com/sample-meeting-preview.jpg",
"transcript_txt_url": "https://notetakerforteams.com/",
"transcript_docx_url": "https://notetakerforteams.com/"
}
}The problem
What people run into
- The “When a transcript is available” trigger never fires, or only for some meetings
- “When an HTTP request is received” and HTTP with Entra ID are Premium connectors
- Graph returns 403 GraphAccessToTranscriptsDisabled until an admin turns transcript access on
- The transcript endpoint returns VTT, so Parse JSON fails with “Unexpected character”
The do-it-yourself route
- Register an Entra app and get admin consent for OnlineMeetingTranscript.Read.All
- Create an application access policy in Teams PowerShell
- Turn on the tenant switch "Graph access to transcripts" — off by default since July 2026, or every call returns 403
- Find the meeting and transcript IDs, download the .vtt and parse it (it isn't JSON)
- Summarize it with your own AI service, then format and send the result
- Keep it running when tokens, permissions or Microsoft's APIs change
With AI Meeting Notetaker it's one sign-in and one link.
Step by step
How to set it up (about a minute)
- 1Sign in to AI Meeting Notetaker with your Microsoft account — 2 clicks, no admin consent.
- 2Open Integrations → Power Automate.
- 3In Power Automate: Create → Automated cloud flow → trigger "When a Teams webhook request is received" (Standard — no Premium license). Set Who can trigger to Anyone.
- 4Save the flow, copy the trigger URL, paste it into AI Meeting Notetaker and click Connect.
- 5Add Parse JSON on
triggerBody()?['notetaker']with the schema shown in the app, then do anything: a Planner task, a SharePoint file, an Excel row, an approval. - 6Done. Every recorded Teams meeting is delivered automatically from now on.
We send a Teams card with the full meeting data in a notetaker field, so this works whether the trigger expects a card or plain JSON. The generic "When an HTTP request is received" trigger also works with this URL format, but it needs Premium.
No Workflows allowed? Use the email trigger instead
- We email every finished meeting to the address you connect with the subject
[Notetaker] …and attach meeting.json, the .txt and the .docx. - Create a flow with the Outlook trigger "When a new email arrives (V3)": Subject Filter
[Notetaker], Include Attachments Yes. - Add Apply to each over the attachments → filter on name
meeting.json→ Parse JSON on the attachment content (base64ToString) with the schema shown in the app → your actions.
FAQ
Power Automate: common questions
Is “When a Teams webhook request is received” really free?+
Yes — it belongs to the standard Microsoft Teams connector, included with Microsoft 365. The generic HTTP trigger also works with our URL, but it's Premium.
What does my flow receive?+
A Teams card plus the full meeting data in a notetaker field: title, date, duration, summary, key points, action items, links to the notes page and the transcript (.docx/.txt). Use Parse JSON on triggerBody()?['notetaker'] with the schema we give you.
Our tenant blocks Workflows. Is there another way?+
Yes — the email route: we email every meeting to your mailbox with the subject [Notetaker] and a meeting.json attachment, and your flow starts from the Outlook trigger “When a new email arrives”.
Do I need Microsoft Copilot or Teams Premium?+
No. We transcribe and summarize the recording ourselves, so no Copilot or Teams Premium license is needed — only Teams meeting recording turned on.
Does a bot join my meetings?+
No. Nothing joins the call. We read the recording Teams saves to the organizer's OneDrive after the meeting.
How much does it cost?+
Your first 5 meetings are free (your 3 latest recordings and your next 2 meetings). After that it's $0.99 per meeting on a monthly plan of 10, 30 or 90 meetings — every integration is included.
Related guides
Set up Power Automate in about a minute.
Your first 5 meetings are free.