TL;DR

Built a .NET A2A demo to validate the triage pattern before deploying the Python system. If the shape only works in one stack, it is not a portable pattern.

Teams is the ingest channel for this deployment, not a hard requirement. The bot posts to a channel-agnostic /ingress endpoint; any other ingest can do the same.

Teams timeout budgets forced a full async reply architecture.

Adaptive card size limits forced progressive disclosure: compact badge up front, everything else behind toggles.