> For the complete documentation index, see [llms.txt](https://docs.spara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spara.com/integrations/communications-integrations/microsoft-teams.md).

# Microsoft Teams

How Spara integrates with Microsoft Teams.

Spara can send notifications to Microsoft Teams channels.

### Step 1: Authentication

{% hint style="info" %}
You must be a Manager- or Integrator-level user to manage third party integrations.
{% endhint %}

Navigate to the [Integrations](https://app.spara.co/organization/integrations) page by clicking on the [Settings](https://app.spara.co/organization) link in the left hand navigation bar.

Click the "Authorize" button. This will lead you through an OAuth authentication flow. There are no further steps necessary upon completing this flow. You should see that the integration is "Enabled" within Spara's Integrations page.

<figure><img src="https://4072969777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FreCGkFdsmuPJzGP9ZgGA%2Fuploads%2Fgit-blob-1a7852152150022eef19980c94d7c7a96239f024%2FIntegrations.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 2: Configure notifications

Once Microsoft Teams is connected, choose which events notify Teams and which channel to send them to from [**Settings > Notifications**](https://app.spara.co/organization/notifications). See [Notifications](/platform/settings/notifications.md).

## Permissions and data use

When you connect Spara to Microsoft Teams, the admin consent screen lists the permissions Spara requests. Microsoft's consent dialog shows the maximum scope a permission *could* theoretically allow (the same broad language shown for many Teams integrations), not what Spara actually does. Spara's Teams integration exists for one purpose: to post automated notifications into the team channels you choose.

<table data-full-width="true"><thead><tr><th>Permission</th><th>What it grants</th><th>Why Spara needs it</th></tr></thead><tbody><tr><td><code>offline_access</code></td><td>Stay signed in between sessions (OAuth refresh token)</td><td>Deliver notifications without requiring manual re-authentication. Grants no additional data access.</td></tr><tr><td><code>User.Read</code></td><td>Sign in and read the connecting user's basic profile (name, email)</td><td>Confirm the identity of the admin setting up the integration.</td></tr><tr><td><code>Team.ReadBasic.All</code></td><td>Read team names and descriptions (metadata only)</td><td>Show your teams so you can choose where notifications go.</td></tr><tr><td><code>Channel.ReadBasic.All</code></td><td>Read channel names and descriptions (metadata only)</td><td>Show channels in the selected team so you can choose one.</td></tr><tr><td><code>ChannelMessage.Send</code></td><td>Send messages to team channels</td><td>Spara's core function: post notifications to the channel you configure.</td></tr><tr><td><code>Chat.Read</code></td><td>Read 1:1 or group chats (delegated)</td><td>Required by the Teams bot framework to establish a connection context. Spara does not read, store, or transmit chat content.</td></tr><tr><td><code>ChannelMessage.Read.All</code></td><td>Read a channel's messages (delegated)</td><td>Required by the bot framework for message-delivery confirmation. Spara does not read, index, store, or export channel messages.</td></tr></tbody></table>

### What Spara will and will not do

**Spara will:**

* Post automated notifications into the team channels you explicitly configure.
* Read team and channel names so you can select a target channel during setup.
* Maintain an authenticated connection to deliver those notifications.

**Spara will not:**

* Send messages to individual users or private 1:1 chats.
* Read, store, analyze, or export the content of any channel messages or chats.
* Access channels or teams outside of what you explicitly configure.
* Monitor, surveil, or index any Teams conversations.

### Delegated, not application, permissions

Every permission Spara requests is a **delegated** permission: Spara acts only on behalf of the signed-in user, within what that user is already allowed to do. Spara does **not** request **application** permissions, which would let an app act independently of any user and potentially reach all data across the organization. In practice, Spara cannot access Teams data for users who haven't authenticated with it, nor any channel or team outside what your admins configure.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.spara.com/integrations/communications-integrations/microsoft-teams.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
