Skip to content

Adaptive Cards reference

Claresia wraps every skill response in an Adaptive Card. This gives a consistent visual layout across Teams, Outlook, Webex, the browser extension, and (via a 1:1 schema mapping) Slack Block Kit.

The standard Card has:

  • A header with skill title + invocation context
  • A body rendered from the skill’s output (Markdown supported)
  • A footer with cost, latency, tokens
  • ActionsView record, Re-run, optionally Capture decision
{
"type": "AdaptiveCard",
"version": "1.5",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"metadata": {
"claresia": {
"skill_id": "gatespic.incident-postmortem",
"skill_version": "1.4.2",
"tenant_slug": "dainese",
"hub_record_id": "01933a8f-..."
}
},
"body": [
{
"type": "Container",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"width": "auto",
"items": [
{
"type": "Image",
"url": "https://docs.claresia.com/brand/claresia-mark.svg",
"size": "Small"
}
]
},
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "TextBlock",
"text": "Incident Postmortem",
"weight": "Bolder",
"size": "Large",
"color": "Accent"
},
{
"type": "TextBlock",
"text": "INC-2026-04-1873 · Marco Mazzolin · Firmware Engineer",
"isSubtle": true,
"spacing": "None"
}
]
}
]
}
]
},
{
"type": "TextBlock",
"text": "## Summary\nA firmware regression in branch `feat/v8-bms` caused…",
"wrap": true,
"separator": true
},
{
"type": "FactSet",
"facts": [
{ "title": "Cost", "value": "$0.04" },
{ "title": "Latency", "value": "2.3 s" },
{ "title": "Tokens in", "value": "4,823" },
{ "title": "Tokens out", "value": "1,421" },
{ "title": "Skill version", "value": "1.4.2" }
],
"spacing": "Medium"
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View record",
"url": "https://hub.dainese.claresia.com/records/01933a8f-..."
},
{
"type": "Action.Submit",
"title": "Re-run",
"data": {
"intent": "rerun",
"skill_id": "gatespic.incident-postmortem",
"tenant_slug": "dainese"
}
},
{
"type": "Action.Submit",
"title": "Capture decision",
"style": "positive",
"data": {
"intent": "decision_capture",
"related_record_id": "01933a8f-...",
"decision_subject": "approve_postmortem"
}
}
]
}

Always shows:

  • Claresia mark
  • Skill title
  • Invocation context: input identifier (e.g., incident_id), user name, archetype

Rendered from the skill’s output_body (Markdown). Headings, lists, tables, code blocks, links all supported.

Always shows:

  • Cost
  • Latency
  • Tokens in / out
  • Skill version

Always present:

  • View record — deep-links to hub.{tenant_slug}.claresia.com
  • Re-run — triggers the skill again with the same parameters

Conditionally present (per skill IR):

  • Capture decision — opens a follow-up form to log a decision Hub record
  • Approve / Reject — for skills that are part of a HITL workflow

Adaptive Cards use the host’s color theme by default. Claresia ships an accent color (#8B5CF6 violet) used for headings + the brand mark. In dark mode (Teams, Outlook), the body text uses default. In light mode, text is rendered against the host’s background.

Slack Block Kit is the same canonical Card auto-translated. Field-by-field:

Adaptive CardSlack Block Kit
TextBlock (Large, Bolder)header block
TextBlock (Markdown)section with mrkdwn
FactSetsection with fields
Action.OpenUrlbutton with url
Action.Submitbutton with value (handled via interactive endpoint)
metadata.claresia.*private_metadata (JSON-encoded)

The translator is part of the Slack distribution plane publish step.

When the user clicks Capture decision, the bot pushes a follow-up Adaptive Card (or Slack modal):

{
"type": "AdaptiveCard",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "Capture decision: approve postmortem?",
"weight": "Bolder"
},
{
"type": "Input.ChoiceSet",
"id": "decision_outcome",
"style": "expanded",
"choices": [
{ "title": "Approve", "value": "approved" },
{ "title": "Approve with changes", "value": "approved_with_changes" },
{ "title": "Reject", "value": "rejected" }
]
},
{
"type": "Input.Text",
"id": "decision_rationale",
"isMultiline": true,
"placeholder": "Brief rationale (1-3 sentences)…"
}
],
"actions": [
{ "type": "Action.Submit", "title": "Submit decision", "style": "positive" },
{ "type": "Action.Submit", "title": "Cancel", "data": { "intent": "cancel" } }
]
}

On submit, a decision Hub record is written, linked to the original output record via related_records[].

The Card schema is pinned to Adaptive Cards v1.5 (the version Teams, Outlook, and Webex all support as of 2026). When v1.6 ships and reaches >95% client coverage, Claresia bumps the canonical version.

In Command Center → Surfaces → Adaptive Cards → Branding:

  • Replace the Claresia mark with your tenant’s logo
  • Override the accent color
  • Add a custom footer URL (e.g., link to your internal AI policy page)

White-labeling is available on Mode B and Mode C.