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

# Deploy to Microsoft Teams

> Deploy your Agent to Microsoft Teams so your team can chat with it in channels and direct messages.

Deploy your [Agent](/agents/overview) to Microsoft Teams so team members can chat with it in channels, group chats, and direct messages.

<Note>
  **May 2026 update:** Microsoft Teams changed its app and bot creation policies. Cassidy can no longer create the Microsoft Teams bot for you automatically, so this guide walks you through creating the bot in Microsoft Teams and using Cassidy to generate the app package.
</Note>

<Info>
  **Prerequisites**

  * An [Agent created in Cassidy](/agents/build-and-configure)
  * Access to the Teams Developer Portal
  * The ability to create a Microsoft Teams bot
  * Permission to submit custom apps for approval in Microsoft Teams, or a Teams admin who can upload the app package for you
  * Your Microsoft 365 Tenant ID
  * A Teams admin who can approve the app after you submit it
</Info>

## How Microsoft Teams deployment works

Cassidy generates the Microsoft Teams app package for you. You create the bot in the Teams Developer Portal, paste Cassidy's callback URL into the bot, download the app package from Cassidy, import the package into Teams, and submit the app for approval.

Publishing the app in the Teams Developer Portal submits the app to your organization. A Teams admin must approve the app in the Teams admin center, then install it for users or make it available for users to install.

## Deploy your Agent

<Steps>
  <Step title="Open the Microsoft Teams deployment">
    In Cassidy, open the [Agent](/agents/overview) you want to deploy. Go to the **Deployments** tab and click **Connect** on the Microsoft Teams card.
  </Step>

  <Step title="Enter app details">
    Fill in the details Cassidy will use to generate the Microsoft Teams app package:

    * **Short name** — The app name shown in Teams. Microsoft requires 30 characters or fewer.
    * **Long name** — Optional. Use this if your full app name is longer than the short name.
    * **Short description** — A brief description of the app.
    * **Long description** — A fuller description for app review.
    * **App color icon** and **App outline icon** — The icons shown in Teams.

    Click **Continue**.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/app-details.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=eb10c51eaa947dfed29f33fe74765ad5" alt="Cassidy Microsoft Teams deployment wizard showing the App details step" width="898" height="1024" data-path="images/agents/microsoft-teams/app-details.png" />
    </Frame>
  </Step>

  <Step title="Create the bot in Microsoft Teams">
    Open the [Teams Developer Portal bot management page](https://dev.teams.microsoft.com/tools/bots). Click **New bot**, give the bot a name, and create it.

    In the bot's **Configure** tab, paste the callback URL from Cassidy into **Endpoint address** and save the bot.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/bot-management.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=ee819382203e4a6c42b5efb74fb1330e" alt="Teams Developer Portal Bot management page with the New bot button" width="1024" height="620" data-path="images/agents/microsoft-teams/bot-management.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/bot-configure-endpoint.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=9f3d6e277e79d2f89df406e22e2398d6" alt="Teams Developer Portal bot Configure page showing the Endpoint address field" width="1024" height="620" data-path="images/agents/microsoft-teams/bot-configure-endpoint.png" />
    </Frame>
  </Step>

  <Step title="Create a client secret">
    In the bot's **Client secrets** tab, click **Create your first client secret** or **New client secret**.

    Copy the client secret value shown after creation. Microsoft only shows this value once. Do not copy the secret hint.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/client-secrets-empty.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=f69679bb476ca31fd0114f6c44bd1a1e" alt="Teams Developer Portal Client secrets tab before a client secret is created" width="1024" height="620" data-path="images/agents/microsoft-teams/client-secrets-empty.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/client-secret-created.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=ca716f86f15b17d307bf46ab21dede43" alt="Teams Developer Portal dialog showing a newly created client secret value" width="1024" height="620" data-path="images/agents/microsoft-teams/client-secret-created.png" />
    </Frame>
  </Step>

  <Step title="Save the bot credentials in Cassidy">
    Return to Cassidy and paste:

    * **Bot ID** — On the Teams Developer Portal Bot management page, copy the value from the **Bot Id** column for the bot you created. You can also paste the full bot page URL and Cassidy will extract the Bot ID for you.
    * **Client secret** — Paste the one-time secret value from the previous step.
    * **Tenant ID** — Paste your Microsoft 365 Tenant ID.

    You can find your Tenant ID in the Microsoft Entra admin center. Microsoft documents the official steps in [Find your Microsoft 365 tenant ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id).

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/bot-management-copy-bot-id.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=efea5652b39f8988a8f394574d114a97" alt="Teams Developer Portal Bot management page with the Bot Id column highlighted" width="1024" height="619" data-path="images/agents/microsoft-teams/bot-management-copy-bot-id.png" />
    </Frame>

    Click **Save and continue** before downloading the app package. The bot will not work until Cassidy has saved these credentials.
  </Step>

  <Step title="Download the Teams app package">
    In Cassidy, click **Download Teams app package**.

    Cassidy downloads a `.zip` file that contains the Teams app manifest and icons. The app package includes your bot ID, personal chat support, group chat support, channel support, and file support.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/app-package-downloaded.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=63885945c17b4ee102ff714ab6d6f13c" alt="Cassidy Microsoft Teams deployment wizard showing the app package downloaded confirmation" width="1024" height="795" data-path="images/agents/microsoft-teams/app-package-downloaded.png" />
    </Frame>
  </Step>

  <Step title="Import the app package">
    In the Teams Developer Portal, go to **Apps** and click **Import app**. Use the import button to select the `.zip` file you downloaded from Cassidy.

    Cassidy already generated the app package with your bot configuration, so you do not need to manually add the bot after importing.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/import-app-no-issues.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=bcb601e79d6c46f1d2b111a23094eabc" alt="Teams Developer Portal Import app dialog showing no issues found" width="1024" height="625" data-path="images/agents/microsoft-teams/import-app-no-issues.png" />
    </Frame>
  </Step>

  <Step title="Submit the app to your organization">
    In the Teams Developer Portal, open **Publish > Publish to your org** and submit the app.

    This does not immediately make the app available. It creates an approval request for your Teams admin.

    <Warning>
      Publishing can fail if your Microsoft Teams account does not have permission to submit custom apps for your organization. If you see a publish request error, send the generated `.zip` package to your Teams admin. Your Teams admin can upload and approve the app from the [Teams admin center Manage apps page](https://admin.teams.microsoft.com/policies/manage-apps).
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/publish-get-started.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=4e0f20e9a46205d9b246146583aa8c4a" alt="Teams Developer Portal Publish to your org page before submitting the app" width="1024" height="625" data-path="images/agents/microsoft-teams/publish-get-started.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/publish-submitted.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=bf23a1df314bed7c4c1b63fec92d282c" alt="Teams Developer Portal Publish to your org page showing submitted and awaiting admin approval" width="1024" height="625" data-path="images/agents/microsoft-teams/publish-submitted.png" />
    </Frame>
  </Step>

  <Step title="Return to Cassidy">
    After you submit the app for organization approval, return to Cassidy.

    Cassidy already saved the bot credentials before package generation. You can configure whether the Agent shows Knowledge Base references and collects feedback from Teams users. If you need to repeat setup or rotate bot credentials, disconnect the deployment and connect Microsoft Teams again.
  </Step>
</Steps>

## Admin approval and installation in Teams admin center

After the app is submitted to your organization, a Teams admin must approve and publish it in the Teams admin center. Publishing makes the app eligible for your organization, but the admin still needs to decide who gets it.

<Note>
  Microsoft Teams can take a while to reflect approval, availability, and
  install changes after an admin updates the app. If the app still appears as
  pending or unavailable immediately after approval, wait and refresh Teams
  before troubleshooting further.
</Note>

Share this section with your Teams admin.

<Steps>
  <Step title="Open Manage apps">
    In the Teams admin center, go to [**Teams apps > Manage apps**](https://admin.teams.microsoft.com/policies/manage-apps).

    Search for the app by name and open it.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/admin-manage-apps.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=af36799d62d2ff5b38fd01fdacd2fa32" alt="Teams admin center Manage apps page showing the submitted custom app" width="1024" height="625" data-path="images/agents/microsoft-teams/admin-manage-apps.png" />
    </Frame>
  </Step>

  <Step title="Review the app details">
    Review the app details, permissions, publisher information, icons, and scope.

    The app should show the same name and descriptions you entered in Cassidy.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/admin-app-details.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=632044803ea21260e263d80085dfb4e8" alt="Teams admin center app details page for the submitted custom app" width="1024" height="625" data-path="images/agents/microsoft-teams/admin-app-details.png" />
    </Frame>
  </Step>

  <Step title="Publish the app">
    Click **Publish** to make the app available to users in your organization.

    Depending on your organization's Teams app policies, users may still need permission to install the app.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/admin-app-details.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=632044803ea21260e263d80085dfb4e8" alt="Teams admin center app details page showing the Publish button and pending action state" width="1024" height="625" data-path="images/agents/microsoft-teams/admin-app-details.png" />
    </Frame>
  </Step>

  <Step title="Install or make the app available">
    Open the **Users and groups** tab for the app.

    Choose who should get the app:

    * **Everyone** — Install or make the app available for all users in the organization.
    * **Specific users or groups** — Install or make the app available only for selected people or groups.
    * **No one** — Keep the app unavailable until the admin is ready.

    <Frame>
      <img src="https://mintcdn.com/cassidy/0eMuLdVQu5WtP_zG/images/agents/microsoft-teams/admin-users-groups.png?fit=max&auto=format&n=0eMuLdVQu5WtP_zG&q=85&s=caa3e3bea561c2cde36fd27140bbe2e8" alt="Teams admin center Users and groups tab showing the app installed for everyone" width="1024" height="625" data-path="images/agents/microsoft-teams/admin-users-groups.png" />
    </Frame>

    <Tip>
      Changes to app availability and installation can take time to propagate to users in Teams.
    </Tip>
  </Step>
</Steps>

## Chat with your Agent in Teams

### In a channel

To use the Agent in a Microsoft Teams channel, mention the app using **@** followed by its short name. Start a new post and @mention the Agent — it will respond in that post's thread. The Agent only has access to that specific post's conversation history.

<Frame>
  <img src="https://mintcdn.com/cassidy/wb_vkJteFaxtSpS8/images/integrations/teams-deploy-channel.png?fit=max&auto=format&n=wb_vkJteFaxtSpS8&q=85&s=60a9693be9525972ad3bd2e1bf3e6aed" alt="Microsoft Teams channel showing an Agent mentioned with @ in a post" width="1864" height="656" data-path="images/integrations/teams-deploy-channel.png" />
</Frame>

### In a direct message

Start a new direct message to the Agent for a private, ongoing conversation. The Agent has access to the full chat history in DMs, giving it more context for follow-up questions.

<Frame>
  <img src="https://mintcdn.com/cassidy/G5nvk-wLxhYfet-Z/images/integrations/teams-deploy-dm.png?fit=max&auto=format&n=G5nvk-wLxhYfet-Z&q=85&s=a784570f0a2c52cae712574cdf4ca629" alt="Microsoft Teams direct message conversation with a deployed Agent" width="2156" height="1346" data-path="images/integrations/teams-deploy-dm.png" />
</Frame>

<Warning>
  For any user to DM the Agent, they need to manually add the app first. Otherwise they may see "You cannot send messages to this bot." To add the app:

  1. Click **Apps** in the left sidebar
  2. Search for the app by name and click on it
  3. Click **Add**
  4. Start a new chat addressed to the app
</Warning>

<Note>
  **Known limitations:**

  * After adding or removing the Agent, the Teams app list may take a moment to update
  * Bots in private channels are not supported
  * Bots cannot see the subject line of messages
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Deploy to Slack" icon="slack" href="/integrations/slack/deploy-agent">
    Make your Agent available in Slack channels and DMs.
  </Card>

  <Card title="Deploy to Google Chat" icon="google" href="/agents/deploy/google-chat">
    Add your Agent to Google Chat spaces.
  </Card>

  <Card title="Deploy via email" icon="envelope" href="/agents/deploy/email">
    Deploy your Agent to a dedicated email address.
  </Card>
</CardGroup>
