> For the complete documentation index, see [llms.txt](https://docs.warp.dev/llms.txt).
> Markdown versions of each page are available by appending .md to any URL.

# Connect Microsoft Teams to your factory

Connect Microsoft Teams to your factory so mentions in standard and shared channels start work and results post back in the same thread.

Connect a factory to Microsoft Teams so your team can send work from channel conversations. Mention the Warp app in a configured standard or shared channel; the factory replies in the same thread with progress and results.

## Prerequisites

-   **Microsoft Teams enabled for your workspace** - The Microsoft Teams option appears in factory setup and **Settings** only when Teams is enabled for your Warp workspace. If you don’t see it, ask a workspace admin or [contact sales](https://www.warp.dev/contact-sales).
-   **Permission to upload and approve custom Teams apps** - A Microsoft Teams admin must upload and approve the Warp app package in the [Teams admin center](https://admin.teams.microsoft.com).
-   **Permission to update the factory** - Connecting Microsoft Teams changes the factory’s configuration.
-   **A linked Warp account for interactive requests** - Anyone who starts work with a mention must link their Microsoft account to an active member of the factory’s Warp workspace.

## Connect the factory

Connect Microsoft Teams while creating a factory or later from **Settings**. Steps are grouped by where you perform them.

### In Warp

1.  In the [Warp Factories web app](https://platform.warp.dev), open factory setup or the factory’s **Settings**, then choose **Microsoft Teams**.
2.  **Sign in with Microsoft** if Warp asks you to link your Microsoft identity. This is only needed once per person.
3.  Download the production app package (`warp-microsoft-teams-app.zip`) when Warp shows the setup instructions. The ZIP contains the Teams app manifest and icons only.

### In Microsoft Teams

4.  Ask a Microsoft Teams admin to open the [Teams admin center](https://admin.teams.microsoft.com), go to **Teams apps** > **Manage apps**, and choose **Upload new app**.
5.  Select the downloaded ZIP and complete the upload.
6.  Have a Microsoft Teams admin approve the app so it is available to your organization.
7.  In Microsoft Teams, go to **Apps** > **Built for your org**, open **Warp**, and **Add** it to each Microsoft Teams team the factory should use. That add is what makes the team selectable in Warp.

### Back in Warp

8.  Select the Microsoft Teams teams, then select at least one channel in each selected team. The channel picker lists standard channels from a ready installation.
9.  Click **Enable** (or finish factory setup) to attach Microsoft Teams to the factory.

If a team still shows as pending after you add the Warp app in Teams, ask a Warp workspace admin to open factory **Settings**, select that pending team, and finish binding it to the workspace. Channel selection unlocks once the installation is ready.

Warp seeds a default **teams-app-mentions** automation for your selection. Confirm by mentioning the Warp app in one of those channels and checking the factory [dashboard](https://docs.warp.dev/factories/factory-dashboard/).

## Configure factory automations for Microsoft Teams

Add a **Microsoft Teams** trigger to an automation and pick one of these events. To edit filters, see [Automations](https://docs.warp.dev/factories/automations/#edit-filters-on-an-automation).

-   **App mentioned** (`app_mention`) - Filter by team, channels, authors, and keywords.
-   **Message posted in channel** (`message_posted`) - Filter by team, channels, authors, and keywords.

A mention also emits `message_posted`. Don’t point both triggers at the same channels, or one mention starts two runs.

Every Teams trigger requires exactly one Microsoft Teams team and at least one channel. Team and channel filters are inclusion lists only. Keywords and authors are optional (`user_ids` in a definition file).

The channel picker lists standard channels only. Private channels and DMs are unsupported. Shared channels follow [Shared channel behavior](#shared-channel-behavior); if one is missing from the picker, add its channel ID in a definition file (see [Definitions as code](#definitions-as-code)).

For exact `event` and filter keys in definition files, see [triggers](https://docs.warp.dev/factories/factory-as-code/#triggers).

## Shared channel behavior

A Microsoft Teams **shared channel** is owned by one team in one Microsoft 365 organization. Install the Warp app in that **owning team**. Only people whose Microsoft account is in the **same organization** as the install and who have linked that account to Warp can start or continue shared-channel work. Guests and other organizations cannot; Warp posts a private notice pointing them back to Warp.

-   **Start with a mention** - Mention the Warp app explicitly to start new work. A root message without a bot mention does not start work.
-   **Continue in-thread** - After the thread is linked to a factory work item, eligible plain replies can continue it when auto-respond to thread replies is on (the default).
-   **History tools** - Agent thread-history tools stay limited to that run’s originating thread and still require a sender in the install’s organization who is linked to Warp.
-   **Organization boundary** - The shared channel must belong to the same Microsoft 365 organization as the installed Warp app.

## Use integration-provided tools

When Microsoft Teams is connected, Warp gives factory agents Teams tools automatically: read a thread, reply in a thread, post a top-level channel message, and resolve a member. These are Warp-managed, separate from [configured MCP servers](https://docs.warp.dev/platform/mcp/). Agents cannot list channels, read private channels, send DMs, add reactions, or upload files. Shared-channel history stays limited to the originating thread.

## Start and continue work from Microsoft Teams

Mention the Warp app in a configured channel or thread to start work. The factory replies in the same thread. A plain reply continues work only if that thread already has a factory work item. When auto-respond to thread replies is on, eligible plain replies can continue without another mention. In shared channels, new root work still requires an explicit mention. Supported attachments are included; unsupported files don’t block the request text.

## Follow work and review outputs

Follow progress in the Teams thread where work started. Work still ends at a pull request for a person to review. See [how Warp Factories work](https://docs.warp.dev/factories/how-factories-work/).

## Who can start work

To start work with a mention, link your Microsoft account to an active Warp workspace member by messaging the Warp app in Teams with `sign in` (or `help` / `sign out`). These are chat messages to the bot, not terminal commands. In a shared channel, that account must also be in the install’s organization (see [Shared channel behavior](#shared-channel-behavior)). Automation-started work runs as the chosen factory agent.

## Definitions as code

```yaml title="factory.yaml"
integrations:
  - type: microsoft-teams
```

```markdown title="automations/teams-app-mentions/automation.md"
---
enabled: true
agent: foreman
triggers:
  - provider: teams
    event: app_mention
    filter:
      team_ids: [MICROSOFT_GRAPH_TEAM_UUID]
      channel_ids: [19:example@thread.tacv2]
---

Triage the Teams request and continue in the same thread.
```

`team_ids` must include exactly one Microsoft Graph team UUID. After you connect Teams in the factory UI, copy it from the seeded **teams-app-mentions** automation in the factory definition, or from the factory API list-teams response field `id`.

`channel_ids` lists Bot Framework channel conversation IDs (the `19:…@thread.tacv2` form). For standard channels you selected in the UI, copy them from that same seeded automation or from the factory API list-channels response field `id`. For a shared channel missing from the picker, copy the channel conversation ID from the channel’s Microsoft Teams link or from Microsoft Graph, then add it to `channel_ids`.

Optional `keywords` and `user_ids` further narrow matching. On `microsoft-teams`, optional `autoRespondToThreadReplies` controls whether plain replies in an existing factory thread continue the work without another mention; omit it to keep the default-on behavior. See [factory definition syntax](https://docs.warp.dev/factories/factory-as-code/#integrations).

## Troubleshooting and reconnection

-   **The app doesn’t acknowledge a request** - Confirm Teams is connected for that factory, you mentioned the Warp app in a configured channel, and your Microsoft account is linked. In a shared channel, confirm you are in the install’s organization (see [Shared channel behavior](#shared-channel-behavior)).
-   **A team is missing from setup** - In Microsoft Teams, open **Apps** > **Built for your org**, open **Warp**, and **Add** it to that team. Refresh team selection in Warp. If it still shows pending, ask a Warp workspace admin to finish binding it in factory **Settings**.
-   **A channel is missing from an automation** - The picker lists standard channels only. For a shared channel, add its channel ID in a [factory definition](https://docs.warp.dev/factories/factory-as-code/#triggers) filter.
-   **Microsoft Teams is missing from setup or Settings** - Teams appears only when enabled for your Warp workspace. Ask a workspace admin or [contact sales](https://www.warp.dev/contact-sales).
-   **Installation or upload is pending** - Ask a Teams admin to approve the custom app, **Add** Warp to the team in Teams, then finish selection in Warp.
-   **Two runs start for one mention** - Narrow or remove overlapping app-mention and channel-message triggers for the same channels.
-   **An agent can’t post back to Teams** - Confirm the factory still declares Microsoft Teams and the installation for that team is ready.

To disconnect Microsoft Teams, remove the integration in factory **Settings** or the factory definition. Uninstalling the Warp app from a Microsoft Teams team stops new activity from that team.

## Privacy

The factory’s app uses message content and supported attachments from the channels you configure, and from threads it continues there, to run factory work. Linking your Microsoft account maps you to your Warp account. See the [Warp Privacy Policy](https://www.warp.dev/privacy).

## Related pages

-   [**Connect your factory**](https://docs.warp.dev/factories/connect-your-factory/) - Choose the sources that route work into the factory.
-   [**Factory automations**](https://docs.warp.dev/factories/automations/) - Edit trigger filters and avoid overlapping Teams triggers.
-   [**Factory definition**](https://docs.warp.dev/factories/factory-as-code/) - Declare `microsoft-teams` and `teams` triggers as code.
-   [**Slack**](https://docs.warp.dev/factories/integrations/slack/) - The other chat intake path for factories.
