Skip to main content

Teams Meeting Transcript Access

Authorize Outermind agents to read the Microsoft Teams meeting transcripts of the people they support, using a one-time PowerShell runbook you can run with or without an Azure subscription.

Overview

Meeting Intelligence lets CAIOO and Personal Assistant agents extract projects, tasks, and action items from Microsoft Teams meeting transcripts. Before any transcript can be read, your tenant needs two things that Microsoft 365 admin consent alone does not provide:

  1. A tenant-wide Application Access Policy naming the Outermind transcripts application.
  2. The tenant-level Transcript API access settings that Microsoft has enforced since 29 July 2026.

Both are created by a single PowerShell runbook shown on Manage > Meeting Intelligence. The page verifies the result for you afterwards.

Prerequisites

  • You must be signed in to Outermind as a tenant administrator to view Manage > Meeting Intelligence.
  • Running the runbook requires a Microsoft 365 Global Administrator or Teams Administrator.
  • No Azure subscription is required, and no additional license is required. The runbook talks only to Microsoft Teams.
  • Transcript access remains off for every individual until it is granted per user. This authorization makes the capability available; it does not turn it on for anybody by itself.

Why this must be run in PowerShell

Microsoft exposes Application Access Policies only through the Microsoft Teams PowerShell module. There is no Teams admin center page and no Graph or REST API to create, grant, or even read these policies, so Outermind cannot perform this step for you from the admin console.

Admin consent grants Outermind its Microsoft Graph permissions, but consent alone does not authorize an application to read online meetings. The -Global policy is what allows the app to read transcripts for every attendee of a meeting, not just the organizer.

Running the runbook

Go to Manage > Meeting Intelligence (/administration/meeting-intelligence), then use the ceremony actions on the Teams application access policy tile: Copy PowerShell script to clipboard, then either of the two equal ways to run it.

Option A - Azure Cloud Shell

Requires an Azure subscription.

  1. Sign in to portal.azure.com as a Global Administrator or Teams Administrator, or click Run in Azure Cloud Shell on the page.
  2. Choose PowerShell (not Bash) if prompted; on first run, accept the one-time storage setup.
  3. Paste the copied script and press Enter once.

Option B - Local PowerShell 7

No Azure subscription needed.

  1. Install PowerShell 7 (Windows, macOS, or Linux) and open a pwsh session.
  2. Paste the copied script and press Enter once. Step 1 of the script installs the MicrosoftTeams module for you if it is missing, and Connect-MicrosoftTeams signs you in interactively.

Nothing in the runbook is specific to Cloud Shell and it never calls Azure, so both options produce exactly the same result. Click No Azure subscription? Run locally on the page to expand these steps inline.

The script asks whether to pause before each step or run all steps automatically, then walks through the setup. It is idempotent, so re-running it is safe.

What the script does

  1. Install the Teams module and sign in. Installs MicrosoftTeams if needed and opens an interactive sign-in. A cached older module build (one without the transcript-access parameters) is detected in a clean child process and updated before anything imports it.
  2. Create the application access policy. Creates a tenant policy named Outermind-MeetingTranscripts authorizing the Outermind transcripts application id to read online meetings. If the policy already exists but lists an older Outermind app id, the current id is added to it.
  3. Grant the policy tenant-wide. Grants the policy globally (-Global) so the app can read transcripts for any meeting attendee, not just the organizer.
  4. Enable Graph API transcript access for the tenant. Turns on EnableGraphTranscriptAccess, then EnableAttributedTranscripts (speaker attribution, which is only configurable once Graph access is on). Since 29 July 2026 Microsoft blocks all Graph API transcript access unless these are on, regardless of app permissions or the policy above. These two settings can alternatively be set in the Teams admin center under Meetings > Meeting settings > Transcript API access.
  5. Verify. Confirms the policy lists the Outermind app id and that both tenant toggles are on, warning loudly on anything not verified.

Verifying

Return to Manage > Meeting Intelligence and click Verify transcript access. Outermind runs a live probe of the complete ceremony, not just the Entra consent half, and reports Meeting Intelligence as active only once the probe comes back working.

Microsoft propagation lag is normal immediately after the runbook finishes. If the first verification does not come back working, wait a few minutes and check again.

Troubleshooting

Azure Cloud Shell says a subscription is required

Cloud Shell stores its shell session in an Azure storage account, so opening it requires an Azure subscription. If your organization is Microsoft 365-only, you have never needed one and you do not need one now: skip Cloud Shell entirely and follow Option B - Local PowerShell 7 above.

This is a limitation of Cloud Shell, not of the runbook. The transcript-access script never calls Azure, and no Outermind or Microsoft license needs to be purchased to run it.

"This session already loaded the old build"

The MicrosoftTeams module cached in your session predates the transcript-access parameters, and .NET cannot unload an assembly once it has been loaded. Close the terminal (or Cloud Shell tab), open a fresh one, and run the script again.

The same conflict also shows up as a raw .NET error at the sign-in itself:

Could not load file or assembly '...Microsoft.Identity.Client.dll'.
The located assembly's manifest definition does not match the assembly reference. (0x80131040)

Connect-MicrosoftTeams signs in through a Microsoft library called Microsoft.Identity.Client, and so do the Az and Microsoft.Graph PowerShell modules - so a session in which you had already used one of those can defeat the Teams module in the same way. The remedy is identical: close the session, open a fresh one, and paste the script again without running Connect-AzAccount or importing Az / Microsoft.Graph in it first. If a fresh session still fails, run Update-Module MicrosoftTeams (or Uninstall-Module MicrosoftTeams -AllVersions then Install-Module MicrosoftTeams -Scope CurrentUser) and try once more. The script now reports this remedy itself instead of showing the raw error.

The policy exists but transcripts still fail

The policy may list a retired Outermind application id from before the applications were split. Re-run the script: step 2 appends the current id to the existing policy rather than skipping on the name alone, and step 5 warns if the id is still absent.

Verification says transcript access is not working

Check the two tenant toggles. Microsoft's 29 July 2026 enforcement means the policy alone is not sufficient - both EnableGraphTranscriptAccess and EnableAttributedTranscripts must be on. Re-run step 4, or set them in the Teams admin center under Meetings > Meeting settings > Transcript API access.

FAQ

Do I need an Azure subscription?

No. Azure Cloud Shell needs one, but the runbook does not. Run it in a local PowerShell 7 session instead - see Option B.

Do I need to buy a license for this?

No. The only requirement is a Microsoft 365 Global Administrator or Teams Administrator sign-in.

Can Outermind do this for me automatically?

No. Microsoft exposes Application Access Policies only through PowerShell with an interactive sign-in, so this step cannot be automated from the admin console.

Does this turn transcript access on for everyone?

No. It makes the capability available to the tenant. Transcript access is off by default and granted per user.

  • Mailbox Automation - the Exchange Online setup script, which has the same "no Azure subscription needed" local-PowerShell path.
  • Agent 365 Enablement - the one-time Agent 365 enablement ceremony.