Skip to content

builder

Compile a high-level card.CardSpec into a valid Adaptive Card 1.5 document. The model drafts the small semantic spec; this is the single place that turns it into the element tree the adaptivecards renderer consumes and Teams accepts, so a card is well-formed by construction rather than by hoping the model produced correct schema.

Element choices are deliberate and conservative:

  • the title is a bold, large TextBlock; the subtitle a lighter one;
  • body text is a wrapping TextBlock (Teams renders its Markdown subset);
  • facts become a single FactSet (the right control for key/value detail);
  • each action becomes an Action.OpenUrl - the one action safe to render in any host with no back end wired up.