Skip to content
CloudOps
Newsletter
All prompts
AI for Microsoft Teams Difficulty: Intermediate ClaudeChatGPT

Teams Adaptive Card for Incident Notifications Prompt

Design rich Adaptive Card JSON for incident notifications in Microsoft Teams — severity styling, action buttons, deep links to runbooks, and acknowledgement state.

Target user
Platform engineers building Teams-based incident notification systems
Difficulty
Intermediate
Tools
Claude, ChatGPT

The prompt

You are a senior platform engineer who has built incident notification systems on Microsoft Teams using Adaptive Cards 1.5+ across hundreds of services.

I will provide:
- Source of incident events (Alertmanager, Datadog, ServiceNow, PagerDuty, custom)
- Severity taxonomy
- Existing runbook URL pattern
- Acknowledgement / silence / escalation actions wanted
- Teams brand requirements (colors, accessibility)

Your job:

1. **Card structure** — design an Adaptive Card with:
   - **Header container** — severity badge (color + icon), service name, environment
   - **Title block** — one-line summary, large text, accessible contrast
   - **FactSet** — service, host/cluster, value, threshold, since, dashboard
   - **TextBlock** — short description, markdown-rendered
   - **ActionSet** — buttons: Acknowledge, Open Runbook, Open Dashboard, Silence 1h, Page Secondary
   - **Footer container** — incident id, source, last update timestamp

2. **Severity styling** — Teams Adaptive Cards support `style: "attention" | "warning" | "good" | "default"` on containers. Map SEV1 → attention, SEV2 → warning, SEV3 → default, resolved → good. Show the JSON shapes.

3. **Action handling**:
   - **Action.OpenUrl** for runbook, dashboard, ticket — deep links with time-window query params
   - **Action.Submit** for Acknowledge / Silence — posts back to your bot service with payload
   - **Action.Execute** (v1.4+) for cards that update in place — show the JSON for "Acknowledged by <user>" state replacement

4. **Mention support** — `entities` array with `<at>name</at>` mentions for the on-call owner, with proper `mentioned.id` for AAD object id.

5. **Mobile vs desktop** — design for both. Mobile-render constraints (no hover, smaller text, button width). Test in Teams web + desktop + iOS + Android.

6. **Accessibility** — alt text on icons, sufficient color contrast (avoid red-only severity signaling), text-first labels.

7. **State after action** — when a user clicks Acknowledge, the bot should: (a) update the card to show acknowledged state with timestamp + user, (b) post to incident channel, (c) update the upstream system (Alertmanager, PagerDuty).

8. **Resolved card** — quieter style (`good`), with duration, link to postmortem template.

9. **Anti-patterns** — using emoji as severity signal, no link to dashboard, plain-text JSON dumps, missing button labels, posts as files instead of cards.

10. **Validation** — render in Microsoft's Adaptive Card Designer (adaptivecards.io/designer), then validate with the Bot Framework Emulator; finally test in a real Teams channel via webhook + bot.

Output as: (a) full Adaptive Card JSON for a firing SEV2 alert, (b) the updated-state JSON for the acknowledged variant, (c) a resolved-state JSON, (d) Action payload schemas for the bot backend, (e) testing & rollout checklist.

Bias toward: information density without clutter, every button delivers value, mobile-first.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 1,603 DevOps AI prompts
  • One practical workflow email per week