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

# Microsoft Teams Notifications

> Get ClosedLoop AI alerts inside Microsoft Teams — new feature requests, customer escalations, weekly digests, delivered to the channels your team lives in.

Connect Microsoft Teams so ClosedLoop AI can deliver product insights directly to your team — user-level alerts as DMs from the ClosedLoop AI bot, team-level broadcasts to a channel of your choice.

This integration is **outbound only** — ClosedLoop AI sends notifications to Teams. It does not read your Teams messages or meetings. If you're looking to ingest meeting transcripts from Teams, see [Gong](/integrations/gong), [Fireflies](/integrations/fireflies), or [Google Meet](/integrations/google-meet).

<Note>**Current status.** Setup and a manual test notification are available today. Automated notifications (deal blockers, churn risks, customer mentions, weekly insights) are rolling out over the coming weeks. Connecting now prepares user-level DMs to start flowing when each notification type goes live. Team-level channel broadcasts require the optional channel setup below.</Note>

## Connection Method

Teams Notifications uses **Microsoft admin consent** combined with a Teams app package upload. A Microsoft 365 admin must do both steps once per tenant:

1. Upload the ClosedLoop AI app package (`.zip`) to Teams Admin Center so the bot is available in your tenant catalog.
2. Grant application-level Microsoft Graph consent so ClosedLoop AI can install the bot for users and send activity notifications.

No OAuth tokens are stored — ClosedLoop AI authenticates using its own bot credentials against each tenant's Microsoft Graph endpoint.

## Setup Guide

<AccordionGroup>
  <Accordion icon="download" title="Step 1: Upload the app package">
    1. In ClosedLoop AI, open **Integrations → Microsoft Teams Notifications → Connect**
    2. Click **Download app package** — you'll get a `.zip` file matching your ClosedLoop AI deployment region
    3. Open [Teams Admin Center → Manage apps](https://admin.teams.microsoft.com/policies/manage-apps)
    4. Click **Upload new app** and select the downloaded `.zip`
    5. In the Manage apps list, click **ClosedLoop AI**, open the **Users and groups** tab, click **Edit installs**, choose **Everyone**, and Apply

    <Warning>You need Microsoft 365 Global Admin or Teams Administrator role to upload apps to the tenant catalog.</Warning>
  </Accordion>

  <Accordion icon="shield-check" title="Step 2: Grant admin consent">
    1. Back in ClosedLoop AI on the Connect page, click **Continue with Microsoft**
    2. Sign in as a Microsoft 365 admin on the consent screen
    3. Review the four permissions and click **Accept**:
       * `User.Read.All` — resolve team member emails to Teams users
       * `TeamsAppInstallation.ReadWriteForUser.All` — install the bot for each user without per-user action
       * `TeamsActivity.Send` — send activity notifications
       * `AppCatalog.Read.All` — look up the tenant's ClosedLoop AI app ID
    4. After consent, you'll land back on the Connect page with a green **Connected** banner

    <Tip>Admin consent is required once per tenant. Users you add to ClosedLoop AI later don't need to consent again.</Tip>
  </Accordion>

  <Accordion icon="paper-plane" title="Step 3: Send a test notification">
    1. On the Connect page, click **Send test notification**
    2. Open Microsoft Teams and check your personal chat with **ClosedLoop AI**
    3. You should see a test DM within a few seconds

    If the DM doesn't arrive, verify that your Teams admin has completed Step 1 and that you are a member in ClosedLoop AI with the same email address as your Microsoft 365 account.
  </Accordion>

  <Accordion icon="hashtag" title="Step 4 (optional): Add to a channel for team broadcasts">
    Add the ClosedLoop AI bot to any team channel to receive the 10-15 most critical product insights per week as channel posts.

    1. In Teams, open any channel on your team
    2. Click **More options (…) → Manage team → Apps → Add an app**
    3. Search for **ClosedLoop AI** and click **Add**

    ClosedLoop AI picks up the channel automatically the next time a broadcast fires — no extra step in the dashboard. Only one broadcast channel per ClosedLoop AI team.
  </Accordion>
</AccordionGroup>

## Microsoft Graph Permissions

ClosedLoop AI requests the following application-level Microsoft Graph permissions:

| Permission                                  | Purpose                                                               |
| ------------------------------------------- | --------------------------------------------------------------------- |
| `User.Read.All`                             | Resolve ClosedLoop AI user emails to Microsoft Entra user IDs         |
| `TeamsAppInstallation.ReadWriteForUser.All` | Install the bot in each user's personal scope without per-user action |
| `TeamsActivity.Send`                        | Deliver activity feed notifications                                   |
| `AppCatalog.Read.All`                       | Look up the tenant's ClosedLoop AI catalog entry                      |

No permission grants ClosedLoop AI access to read your Teams chats, channels, or meetings. Chat reading is a separate Microsoft Graph scope that this integration does not request.

## Managing the Connection

The Connect page surfaces:

* **Tenant** — your Microsoft Entra tenant ID
* **App ID** — the tenant-scoped Teams app catalog entry
* **Users reachable** — how many ClosedLoop AI users have the bot installed
* **Broadcast channel** — the Teams channel currently set to receive team broadcasts, if any

You can **Re-grant consent** if a permission scope changes, or **Disconnect** to stop all Teams notifications. Disconnecting preserves your existing ClosedLoop AI data; it only turns off delivery to Teams.

## What to Expect

Once connected, ClosedLoop AI will:

1. **Install the bot** in each ClosedLoop AI user's personal scope — no per-user action required
2. **Let you send a test notification** from the Connect page so you can verify end-to-end delivery
3. **Stay quiet** until automated notifications ship — connecting early costs nothing. User-level DMs will start arriving as each notification type rolls out; team-level broadcasts start only after you add ClosedLoop AI to a Teams channel

<Card title="Connect Microsoft Teams Notifications" icon="plug" href="https://app.closedloop.sh/integrations">
  Set up Teams Notifications in the ClosedLoop AI dashboard
</Card>
