> ## Documentation Index
> Fetch the complete documentation index at: https://docs.exec.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams Call Sync

> Connect Microsoft Teams so recorded meetings flow into Exec for scoring

Connect Microsoft Teams to Exec and recorded meetings flow in automatically, get transcribed, categorized, and scored the same way as calls from Fireflies or Gong. See [Call Scoring Overview](/calls/overview) for what happens after a call arrives.

The Teams connection lives on the same **Microsoft 365** credential that powers [OneDrive and SharePoint document sync](/knowledge-hub/microsoft-365-integration). Connecting Teams also lets you enable those surfaces without a second sign-in.

## Connection modes

You can connect Teams in one of two ways.

| Mode                  | Who can set it up       | Which meetings sync                                                                                                |
| --------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Single user**       | Any workspace member    | Meetings the connected user organized or joined, from their OneDrive.                                              |
| **Organization-wide** | A Microsoft Entra admin | Recordings from every user in your tenant. Exec walks each user's OneDrive to find recordings organized by anyone. |

Pick organization-wide if you want to score calls across the whole team, not just one person's meetings.

## Connecting as a single user

<Steps>
  <Step title="Open Integrations">
    Go to **Settings → Integrations** and scroll to the **Call Recorders** section.
  </Step>

  <Step title="Connect Microsoft Teams">
    Click the **+** button on the **Microsoft Teams** card, then click **Connect**. Sign in to Microsoft and approve the requested permissions.
  </Step>

  <Step title="Wait for the initial backfill">
    Exec queues an initial import of past Teams recordings. New meetings appear in **Calls** as they finish recording.
  </Step>
</Steps>

## Connecting organization-wide

Organization-wide connections use a **Microsoft Entra app registration** that your IT admin creates in your own tenant, so Exec can read recordings across every user without individual sign-ins.

<Steps>
  <Step title="Create the app registration">
    In the [Microsoft Entra admin center](https://entra.microsoft.com), create a new app registration for Exec.
  </Step>

  <Step title="Add Microsoft Graph application permissions">
    Add these application permissions and grant admin consent for your organization:

    * `User.Read.All`
    * `OnlineMeetingTranscript.Read.All`
    * `Files.Read.All`

    Add `Sites.Read.All` as well if you also want to enable SharePoint document sync on the same credential.
  </Step>

  <Step title="Grant a Teams application access policy">
    Reading Teams transcripts also requires an application access policy. Run the following in PowerShell, replacing `<client ID>` with your app registration's application (client) ID:

    ```powershell theme={null}
    New-CsApplicationAccessPolicy -Identity Exec-Transcripts -AppIds <client ID>
    Grant-CsApplicationAccessPolicy -PolicyName Exec-Transcripts -Global
    ```
  </Step>

  <Step title="Create a client secret">
    Under **Certificates & secrets**, create a client secret and copy its value. Save the tenant ID and application (client) ID as well.
  </Step>

  <Step title="Enter credentials in Exec">
    In **Settings → Integrations → Call Recorders**, open the **Microsoft Teams** card and click **Connect organization-wide**. Paste the **Directory (tenant) ID**, **Application (client) ID**, and **Client secret**, then click **Connect**.
  </Step>
</Steps>

Exec validates the credentials against Microsoft Graph before saving the integration. If admin consent is missing or a required permission has not been granted, the connect step surfaces the error so you can fix it in Entra and retry.

<Warning>
  Admin consent alone is not enough for Teams transcripts. You must also grant the app a Teams application access policy in PowerShell — otherwise transcript downloads fail even though calls appear in Exec.
</Warning>

## What gets imported

* **Recordings** — the meeting video from the organizer's OneDrive
* **Transcripts** — Teams transcripts pulled from Microsoft Graph, with SharePoint transcripts used as a fallback
* **Participants** — email addresses of everyone on the call, used by [Recognize Team Members](/calls/set-up-call-scoring#recognize-team-members) to decide who is a teammate versus a customer

Organization-wide connections enumerate every user in the tenant and search each user's OneDrive, so recordings organized by anyone in the org are picked up. Imports deduplicate on the meeting ID, so re-running a sync never creates duplicate calls.

## Configuring what gets scored

Teams recordings flow through the same import rules and scoring settings as every other call recorder. Once Teams is connected, configure the rest of call scoring in **Settings → Calls**:

* [Set Up Call Scoring](/calls/set-up-call-scoring) — access rules, minimum duration, and how Exec recognizes team members versus customers
* [Call Categories and Scorecards](/calls/categories-and-scorecards) — define the conversation types and how they are graded
* [Review Scored Calls](/calls/review-scored-calls) — read a call's summary, transcript, and scorecard

## Getting help

Questions about the Microsoft Teams integration? Contact us at [hello@exec.com](mailto:hello@exec.com).
