Critical: Teams app stops sending messages in production

Whittington Jack 85 Reputation points
2026-02-04T10:26:51.9366667+00:00

We have a custom Microsoft Teams app used in production that suddenly stopped sending messages to users and channels. The app was working normally, and no code changes were deployed when the issue started.

Message delivery fails silently in the Teams client, while backend logs show intermittent 401/403 errors from Microsoft Graph and Teams APIs. Users are missing important notifications, causing a production impact.

Microsoft Teams | Development
Microsoft Teams | Development
Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Michelle-N 12,605 Reputation points Microsoft External Staff Moderator
    2026-02-04T11:53:54.66+00:00

    Hi @Whittington Jack,

    Thank you for posting your question in the Microsoft Q&A forum. 

    Based on the information you shared, I understand that a custom Microsoft Teams app running in production has suddenly stopped sending messages to users and channels. The app was previously working as expected, no code changes were deployed, and the issue is now causing a production impact due to missed notifications. While the Teams client fails silently, backend logs show intermittent 401 and 403 errors from Microsoft Graph and Teams APIs.

    Based on the error messages observed in the logs, this issue appears to be related to authentication or authorization, such as expired tokens, revoked permissions, or an unnoticed configuration change.

    For the 401 (Unauthorized) errors, this typically indicates that the application is not sending a valid access token to Microsoft Graph or Teams APIs. Access tokens expiring and not being refreshed correctly. Please copy the access token and decode it using a tool like jwt.ms. If the decoding process reveals that the token is expired, you must implement logic to acquire a new access token (using the refresh token flow) before making the API call.

    Disclaimer: This link may reference Microsoft-related content but is not hosted on an official Microsoft domain (such as .microsoft.com). Please note that Microsoft is not responsible for the accuracy, security, or advertising on this site.

    However, if your app uses certificate-based authentication, please also verify the certificate’s expiration date.

    For the 403 (Forbidden) errors, these usually indicate missing permissions or permissions that have been revoked. Even without code changes, permissions may be affected by admin consent being removed or partially revoked. I recommend rechecking the app registration in Azure AD (Entra ID) to confirm that all required Microsoft Graph and Teams permissions are still present and properly consented. Additionally, there is another scenario worth considering:

    https://en.ittrip.xyz/ms-office/teams/teams-bot-prod-fix

    Note: Microsoft is providing this information as a convenience to you. These sites are not controlled by Microsoft, and Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please ensure that you fully understand the risks before using any suggestions from the above link.

    If the application relies on webhooks or Office 365 connectors, it may be impacted by recent or upcoming platform changes. Based on current information, some connectors are scheduled for deprecation by March 31, 2026, and webhook URLs may need to be updated accordingly.

    I hope the above information helps guide your investigation.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". 

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    1 person found this answer helpful.

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.