Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
Hello Ryan Jones,
The "tenant admin disabled this bot" message and the 401 errors in Microsoft's diagnostics typically come from two main sources, rather than the policies you’ve already reviewed:
- Per-app status in Teams Admin Center. In Teams apps → Manage apps, each app has its own Status (Allowed or Blocked), which operates independently from org-wide custom app settings and app permission policies. Sideloaded apps are often set to Blocked by default, and a global "allow" policy doesn’t override this. Locate your app, set its Status to Allowed, and allow some time for the change to take effect.
- Edge components returning 401 before your app is reached. If Microsoft’s diagnostics show a 401 error but your app logs show nothing, this usually means the request isn’t reaching your app. A reverse proxy, WAF, Cloudflare rule, or staging environment password protection on app.getmycompany-staging.com might be returning the 401. To check, try an unauthenticated POST to /microsoft/bot from outside your office or VPN; if you receive a 401 and see no logs, the issue is at the edge and needs to be resolved to allow Bot Service traffic.
Additional checks to run in parallel:
- Log every activity type, not just message. Install events come through as installationUpdate or conversationUpdate (membersAdded); without logging these, successful installs may appear as inactivity.
- Ensure webApplicationInfo.id matches bots[].botId in the manifest.
- Double-check the messaging endpoint in the Azure Bot resource for any trailing spaces or incorrect schemes, as the Azure portal may accept both without warning.
Once your app is marked as Allowed in Manage apps and external POSTs are reaching your app, you should start seeing the install activities as expected.