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

# Troubleshoot Microsoft Teams

> Fix Microsoft Teams connection, mention, and delivery problems, and review permissions and current limits.

See [Microsoft Teams](/setup/channels/microsoft-teams) to connect a tenant and link a channel, and
[Using Flow in Microsoft Teams](/setup/channels/microsoft-teams-usage) for expected behavior once a
channel is connected or personal conversations are enabled.

## The tenant is connected, but Flow is missing in Teams

Connecting the tenant and installing the Teams app are separate actions. Confirm that the app is
available to the intended people in Teams admin center, wait for
[catalog and policy propagation](/setup/channels/microsoft-teams#make-flow-available-in-microsoft-teams),
then use **Add to a team** in Teams.
Uploading a package to Teams admin center does not install it in a Team.

## Flow is allowed, but it does not appear under Add to a team

For production Flow, use the current
<a href="https://app.letsflow.ai/files/teams/flow-teams.zip">Flow Teams app package (.zip)</a>. Confirm that
the package was uploaded to the same tenant and environment you connected to Flow. The bundled ZIP
connects to production Flow. Development and demo environments require their own Teams app package.
Wait for Teams catalog propagation, then
reload Teams. The current package supports both Team and personal installation.
Its app ID is `687d4e95-aacc-4482-85fe-849e7de291ff`. If an earlier Flow listing has another app
ID, contact Flow support before changing that listing or its Team installations.
A legacy **Allowed** status does not prove access for a particular person. Catalog presence alone
does not prove access either. Ask a Teams administrator
to check the controls that apply to the affected person:

| Control | What to check |
| - | - |
| App-centric management | In **Manage apps → Flow → Users and groups → Availability**, check the **Available to** assignment. **Specific users or groups** restricts access to the selected people. **No one** prevents use. |
| Legacy app permission policies | If your tenant still shows **Permission policies**, check the app's allowed status and the policy assigned to the person. App-centric management replaces these policies after migration. |
| Custom app controls | Check organization-wide custom app use. Setup-policy **Upload custom apps** and Team-level upload settings control who can upload; they do not replace app availability or install Flow in a Team. |
| Team installation | A Team owner uses **Add to a team** for the intended Team. A personal installation does not provide channel access. |

Microsoft's [app-centric management guide](https://learn.microsoft.com/en-us/microsoftteams/app-centric-management)
says **Specific users or groups** excludes guests, even when explicitly assigned. **Everyone** includes guests at the Teams app-access layer.
Choose access according to your organization's policy. Making the app available does not grant
Flow identity or request access, and does not enable unsupported cross-tenant shared-channel participants.
See [custom app controls](https://learn.microsoft.com/en-us/microsoftteams/teams-custom-app-policies-and-settings)
for upload restrictions.

## Flow is allowed, but Team installation fails

App availability and tenant-wide Microsoft Graph consent are separate from Team resource-specific consent (RSC).
Approving `Files.Read.All` or first-contact installation does not approve Team RSC.
Ask a Teams administrator to check the effective Team RSC policy before repeating installation:

| Team RSC state | Installation requirement |
| - | - |
| `ManagedByMicrosoft` | Confirm the effective policy permits Flow's requested permissions. Microsoft can change this managed policy. |
| `EnabledForAllApps` | Team owners can consent to RSC for unblocked apps. Flow still needs app availability and Team installation. |
| `EnabledForPreApprovedAppsOnly` | Preapprove the exact Flow Teams app and all its requested Team RSC permissions before installation. Include any applicable Team sensitivity-label conditions. |
| `DisabledForAllApps` | Installation of apps that require RSC is blocked, even if preapproved. Ask your administrator whether Flow can meet your policy. |

The current Flow package requests `ChannelSettings.Read.Group`, `ChannelMessage.Read.Group`, and
`TeamsAppInstallation.Read.Group`. **Mentions only** uses the same package and does not bypass RSC policy.
When updating preapproval for a new package, include the complete required permission set, including permissions you retain.

For production, match the Flow listing to package app ID `687d4e95-aacc-4482-85fe-849e7de291ff`.
For uploaded custom apps, Microsoft's [catalog-generated IDs](https://learn.microsoft.com/en-us/graph/api/resources/teamsapp?view=graph-rest-1.0)
differ from package IDs. Follow the preapproval procedure for that Teams app; do not substitute the Entra application ID.
Select **Download Flow app ZIP** in Flow's Microsoft Teams setup to get the bundled package.
Check its manifest for the package app ID when configuring preapproval.

Microsoft marks [RSC preapproval and its management procedure](https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/preapproval-instruction-docs)
as public developer preview, subject to change. Use that procedure for the exact app rather than
enabling RSC for every app or removing permissions from the Flow package.

## I mentioned Flow, but the channel does not appear

* Use the Teams mention picker. Typing the characters `@Flow` without creating a real mention does
  not notify the bot.
* Confirm that Flow was added to that Microsoft Team, not merely allowed in the tenant catalog.
* For a shared channel, confirm Flow is added in **Manage channel → Apps** from the host Team.
* In Flow, select **Refresh channels**.
* If the channel still does not appear, remove and add Flow to the Team again, then send a new
  mention.

## Channel verification fails

Flow verifies the exact Team, channel type, message access, and bot delivery before activating the channel.
Attachment access has a separate status and does not block setup. The message in Flow identifies the missing step:

* **Flow cannot sign in to Microsoft Teams:** contact Flow support to check the app configuration.
  After support resolves the issue, save the channel link again.
* **Verification is temporarily unavailable:** try again shortly. If this continues, contact Flow support.
* **Channel could not be confirmed:** add the correct Flow app to the Team and channel, and confirm
  the package includes `ChannelSettings.Read.Group`.
* **Message access could not be confirmed:** reinstall or approve the package that includes
  `ChannelMessage.Read.Group`. Flow also needs this permission to discover message attachments
  in either conversation mode.
* **Reply connection could not be verified:** reconnect the channel in Flow. If it still fails,
  contact Flow support. Flow cannot send a Teams response through an unverified reply connection.
* **Awaiting test mention:** ask a channel member who can use Flow in this organization to send a
  new `@Flow` mention in the exact channel before the 15-minute window expires.
* **Delivery verification expired or could not be confirmed:** open the row actions menu, choose
  **Change channel**, then select **Save channel link**. Ask a channel member with Flow access to
  send a new `@Flow` mention. After reconnecting a disabled channel, start a new thread for this
  test; threads from the old connection stay disabled.

## Attachment access needs attention

File access is required for both **Mentions only** and **Channel messages and context**.
This warning appears when Microsoft reports missing consent or denies access to channel files.
An incomplete check or a temporary service failure does not show this warning.
You can finish linking the channel and use text conversations while an administrator resolves file access.

If approval is missing, ask a Microsoft Global Administrator to open
**Teams admin center → Teams apps → Manage apps → Flow → Permissions** and approve the requested file-read permission.
If approval is present, ask the administrator to check Flow's Teams app permissions and Microsoft 365 policies affecting the channel.

Microsoft permission changes can take time to reach a new access token. If you approved consent recently, wait before checking again.

In Flow, select **Check again** on the channel's attachment warning. A successful check replaces the
warning with **Attachment access verified**. The channel stays connected throughout the check. A later successful file read can also clear the warning; finding file metadata alone does not.

### File checks fail after consent

Microsoft documents that some special characters in channel names can cause its
[channel file-folder lookup](https://learn.microsoft.com/en-us/graph/api/channel-get-filesfolder?view=graph-rest-1.0)
to fail. This is one possible cause; a failed check in Flow does not establish it.
Microsoft does not provide an exhaustive character list on that page.

Confirm file consent and channel access first. If checks still fail, contact Flow support with the
affected channel and approximate check time. Ask support to confirm the failing operation before
changing a channel name or granting more permissions. After resolving the cause, open
**Settings → Chat**, then the channel row's actions menu, and select **Check file access**.
Use this action even when Flow shows no attachment warning. If the action is unavailable,
finish [channel verification](#channel-verification-fails) before retrying.
Text conversations can continue while file access remains unavailable.

## Microsoft sign-in reports an Entra error code

Use a Microsoft Global Administrator account and start again from **Connect Teams** in Flow. Common causes are
an administrator declining consent, a tenant policy blocking consent, or signing in to a different
tenant. Flow never asks you to paste a client secret or authorization code into a form.

## Flow missed a follow-up or asks for context again

First check the channel type. In a shared channel, mention `@Flow` on each follow-up
that needs an answer. Flow does not support replies in private channels. Standard channels
with **Channel messages and context** support unmentioned messages in both layouts, including
**Send to: thread only** in Threads layout.

Mention `@Flow` in the original thread. With **Channel messages and context**, Flow can read earlier
thread messages even when it did not receive them as bot events. Long threads, unavailable
messages, or revoked read access can leave gaps. Flow should ask for the missing detail instead of
guessing. With **Mentions only**, repeat the relevant detail in your mention.

If this happens in a standard channel with recommended access, it is not an expected requirement
to repeat the mention. Give Flow support the message link and approximate send time. A message
can reach Flow but fail during processing, so a missing reply alone does not prove a permission or
Microsoft delivery problem. Reinstalling the app does not resolve every processing failure.

## An external shared-channel participant cannot use Flow

Flow currently supports shared channels only when the participant belongs to the connected
Microsoft tenant. Cross-tenant shared-channel identities remain unsupported while Flow verifies the
speaker's home-tenant identity model in a separate tenant. This limitation does not affect
same-tenant shared-channel members.

## A setup policy cannot find Flow

Teams setup policies can select only apps available in the tenant catalog. Allow or upload Flow
first, check the affected person's [app availability](#flow-is-allowed-but-it-does-not-appear-under-add-to-a-team),
and allow for [propagation](/setup/channels/microsoft-teams#make-flow-available-in-microsoft-teams).
Add Flow to each Team that uses channel help. For proactive personal
first contact, see [Set up personal conversations](/setup/channels/microsoft-teams#set-up-personal-conversations)
for Team installation and administrator consent.

## Automatic personal installation remains unverified

In **Settings → Chat → Personal conversations**, select **Refresh installation status** after
Microsoft makes the current Flow app installation available. Confirm that a Team owner accepted
the current package's permissions and that an administrator approved
[first-contact installation](/setup/channels/microsoft-teams#set-up-personal-conversations).

If someone removed or replaced Flow while verification was in progress, ask a Team owner to add
the current Flow app to a Team where it should be available. If Flow is already added there,
remove and add it again. After Microsoft makes the installation available, select
**Refresh installation status** again. You do not need to enter an app ID. If verification still
fails, contact Flow support with the affected Team and the approximate installation time.

## Private delivery is unavailable

Removing or blocking Flow stops private delivery. Flow does not silently reinstall itself after
removal. After you restore access to the app, send Flow a message to resume private delivery;
reinstalling the app alone does not resume it. Contact your administrator if access remains blocked.
Disabling the tenant connection also stops private delivery.

When private Teams delivery is on hold or unavailable, service staff can explicitly choose another
verified private reply target in Inbox, such as email or a Slack direct message, when one is available.
Flow keeps the shared channel on hold and does not automatically reroute the message. A channel
reply that was already sending may still arrive. If Microsoft might already have accepted a
message, Flow holds it instead of sending a duplicate.

## Reconnect or disconnect

Use **Reconnect Teams** to repeat the Microsoft administrator ceremony after consent or tenant
policy changes. Use **Disconnect Teams** to disable the tenant connection and all its channel links.
Disconnecting does not uninstall the Teams app or revoke Microsoft consent; a Microsoft
administrator performs those actions in Microsoft 365 and Teams admin centers.

Flow allows one Microsoft tenant per Flow organization and one organization per tenant.
A connection that needs attention still reserves ownership. If Flow reports a connection conflict,
first check **Settings → Chat** for a different tenant already connected to this organization.
If the target tenant belongs to another Flow organization, coordinate with its administrator or contact Flow support.
Repeating Microsoft consent does not release the connection.

Transferring a tenant interrupts channel service and private delivery. Old channel links and reply
connections stop working; they do not move to the destination organization. Arrange an interruption
window with the administrators of both Flow organizations, then complete these steps:

<Steps>
  <Step title="Disconnect the original organization.">
    In the original Flow organization, open **Settings → Chat** and select **Disconnect Teams**.
  </Step>

  <Step title="Connect the destination organization.">
    In the destination Flow organization, complete
    [Connect your tenant](/setup/channels/microsoft-teams#connect-your-tenant).
    An existing tenant connection there must also be disconnected before replacement.
  </Step>

  <Step title="Restore channel service.">
    [Link and verify each channel](/setup/channels/microsoft-teams#discover-and-link-channels)
    in the destination organization. Start new threads for verification. After relinking,
    replies in old Teams threads can start new Flow conversations. They do not continue the
    original Flow conversation. Verify personal conversations for eligible employees again.
  </Step>
</Steps>

## Permissions

| Permission | Scope | Purpose |
| - | - | - |
| `ChannelSettings.Read.Group` | One installed Microsoft Team | Prove the exact standard, private, or shared channel. |
| `ChannelMessage.Read.Group` | One installed Microsoft Team | Read thread context and pasted images, and receive the unmentioned messages Teams delivers to the bot. |
| `TeamsAppInstallation.Read.Group` | One installed Microsoft Team | Discover Flow's own tenant catalog identity from its Team installation. |
| `Files.Read.All` | Entra application; tenant-wide file read | Read supported files from the linked channel folder. Approve once during app installation; no per-site grants are required. |
| `TeamsAppInstallation.ReadWriteSelfForUser.All` | Entra application; Flow app only | Install and verify Flow for eligible employees before they send a personal message. Requires separate tenant admin consent. |

Microsoft grants `Files.Read.All` across the tenant. Flow restricts file processing to files
attached in the linked channel and contained in its folder.

Flow checks message and Adaptive Card size before it calls Microsoft. If an operator reply is too
large for Teams, Flow asks the operator to shorten it instead of retrying an opaque provider error.

## Current limits

* Standard channels with **Channel messages and context** support unmentioned conversations in
  Posts and Threads layouts. Same-tenant shared channels and **Mentions only** access require
  explicit mentions for each requested reply.
* Private-channel conversations, including replies, progress cards, and approval cards, are not supported.
* Cross-tenant shared-channel participants are not supported.
* Personal conversations require a connected tenant and a verified employee identity. Starting a
  conversation before the employee messages Flow requires separate tenant admin consent. Group
  chats are not supported. Personal conversations support files sent through the Teams file picker.
* Flow can discover, explain, and start eligible published automations and access requests for the
  current speaker. Requests for another person are not supported.
* Requester-visible service management replies return in the authorized channel thread or personal
  conversation associated with that request.
* Public Store packaging is supported. Cross-tenant shared-channel support remains a future
  capability and is not claimed by the current package.

## Related topics

* [Microsoft Teams](/setup/channels/microsoft-teams)
* [Using Flow in Microsoft Teams](/setup/channels/microsoft-teams-usage)
* [Troubleshooting](/setup/troubleshooting/index)
* [Support](/setup/support)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.