Skip to main content
These are developer notes for the Microsoft Teams upstream connector: how Triage’s diagnostic runs as a bot in Teams, rendered with Adaptive Cards and authenticated with Microsoft Entra ID. The page documents the platform surface the Intake Gateway builds on. The gateway itself is described in Upstream connectors.
The Teams connector is in beta and in active build. Every platform fact on this page is grounded in Microsoft’s developer documentation, listed under Developer references.

Platform at a glance

An Azure Bot resource on the Bot Framework. The bot exposes a single HTTPS messaging endpoint that receives Bot Framework Activity objects.
A Teams app package (manifest.json plus colour and outline icons) declaring a bot in personal scope, published to the tenant’s org catalog or side-loaded as a custom app. Distribution is governed by Teams admin policy.
Single sign-on with Microsoft Entra ID. The user is already signed in to Teams, and the bot obtains a token through an OAuth 2.0 on-behalf-of exchange, with no separate login.
Adaptive Cards. Teams supports Adaptive Card v1.5 or earlier for bot-sent cards; the Teams mobile app supports up to v1.2, so the gateway targets a mobile-safe subset. The reference renderer emits schema version 1.4.
Input.ChoiceSet for the answer options, Action.Submit to post the answer back to the bot, and Action.OpenUrl for the deep link on the completion card.
The bot edits the message it sent (an update activity), replacing the question card with a locked card that has no input elements. The “answers lock, no back button” property is enforced structurally.
Proactive messages let the bot post into the thread after the fact, using a stored conversation reference: the deep link once composerID’s publish receipt lands, or an enrichment request.
One admin consent per tenant authorises the app and its Entra permissions. Per-tenant diagnostic configuration lives in Triage, not in the app package.

How the diagnostic runs in Teams

Developer references

Microsoft’s official Teams developer documentation. The facts on this page are grounded in these pages and in the vendor-published docs repository (MicrosoftDocs/msteams-docs).
The Teams renderer and its contract tests live in upstream/teams_cards.py. Upstream connectors explains how to run the reference implementation.

Next steps

Upstream connectors

The Intake Gateway, the card lifecycle and the hand-off to composerID.

Coverage and status

Every surface and destination with its registry status.