Skip to content

Variable: cardSpecSchema

const cardSpecSchema: ZodObject<{ actions: ZodOptional<ZodArray<ZodObject<{ title: ZodString; url: ZodString; }, $strip>>>; facts: ZodOptional<ZodArray<ZodObject<{ title: ZodString; value: ZodString; }, $strip>>>; subtitle: ZodOptional<ZodString>; text: ZodOptional<ZodString>; title: ZodString; }, $strip>

The high-level card a model asks to build (the tool input). Deliberately small: a heading, optional supporting text, optional facts, and optional link buttons. The builder turns this into a full Adaptive Card document.

  • title: Card heading, shown bold at the top of the card.
  • subtitle (optional): Optional lighter subheading under the title (e.g. a category or timestamp).
  • text (optional): Optional body text under the heading. A limited Markdown subset is supported by the Teams host: bold, italic, links, and ‘-’ bullet lists. Do NOT use headings, tables, or fenced code blocks - use the facts array for tabular key/value detail instead.
  • facts (optional): Optional key/value rows rendered as a FactSet (label on the left, value right).
  • actions (optional): Optional link buttons rendered under the body, each opening a URL.