The ConnectorRequestFailure error occurring specifically in Microsoft Teams—while working perfectly in the Copilot Studio test canvas and M365 web chat—points almost entirely to an Authentication, Single Sign-On (SSO), or Token Exchange issue.
When a Copilot executes a SharePoint action (like "Get items") on behalf of a user, it relies on passing the user's authentication token to the SharePoint connector. Teams handles these tokens differently than the M365 web ecosystem. Because this broke suddenly, it is highly likely that a client secret expired or a permission scope was recently modified.
Here is the step-by-step guide to tracking down and fixing this specific failure.
1. Check for Expired Client Secrets
If you set up your authentication using "Manual (for any channel)" with an Entra ID (Azure AD) App Registration, an expired secret will cause sudden authentication failures in external channels like Teams.
-
Go to the Microsoft Entra admin center (Azure Portal) > App registrations.
-
Find the app registration you created for this Copilot.
-
Go to Certificates & secrets.
-
Check the expiration date of your Client Secret. If it has expired, generate a new one, copy the value, and update it in your Copilot Studio Authentication settings.
2. Verify Teams SSO Configuration in Entra ID
For Teams to silently authenticate users and pass the token to SharePoint, your Entra ID app must be explicitly configured to trust the Teams client applications. If this is missing or was accidentally removed, Teams will fail to get the token, resulting in the ConnectorRequestFailure.
In your Entra ID App Registration:
-
Go to Expose an API.
-
Ensure the Application ID URI is formatted correctly (usually api://botid-{your-bot-id}).
-
Look under Authorized client applications. You must have these two specific Microsoft Teams Client IDs listed:
-
Ensure both of these are checked to grant access to the API scope you created (usually named access_as_user).
3. Check SharePoint API Permissions
Since the bot is trying to execute a SharePoint "Get items" command, the Entra ID app registration needs delegated permissions to read that SharePoint data.
-
In your Entra ID App Registration, go to API permissions.
-
Ensure you have SharePoint -> Sites.Read.All (or the specific scope your organization requires).
-
Crucial Step: Ensure that Grant admin consent has been clicked for your tenant. If admin consent was revoked or never granted, Teams will silently fail the connector request.
4. Validate the Teams App Manifest
If you manually downloaded the Teams app package (the .zip file) and uploaded it to the Teams Admin Center or sideloaded it, the manifest might be outdated or missing the SSO configuration.
-
Open Copilot Studio, go to Channels > Microsoft Teams.
-
Look at the setup instructions and ensure your manifest contains the webApplicationInfo block. It should look like this:
If this section is missing, Teams does not know it needs to perform SSO for your bot, causing connector actions relying on user context to fail. Re-publish the Copilot and re-sync/re-download the manifest to Teams.
5. Connection Reference "Run As" Context
Check how the plugin/action is authenticating the "Get items" step.
-
In Copilot Studio, go to your Topics & Plugins and inspect the SharePoint action.
-
In the properties, check if the connection is set to run as the Copilot Author or the End User.
-
If it is set to "End User", the bot relies 100% on the SSO token passing successfully. If the above SSO steps are perfectly configured and it still fails, temporarily change this to "Copilot Author" (if your security policies allow) to verify if the issue is strictly related to passing the user token from Teams.
Quick isolation test: Ask the user experiencing the error in Teams to type sign in or login to the bot. If Teams SSO is broken, this might force a manual authentication card to appear. If they log in via the card and the SharePoint tool suddenly works, you have confirmed that silent Teams SSO is the root cause.
If the issue is resolved, click the "Mark as Answered" button on the helpful reply so others facing the same error can find the answer quickly.
Thank you