Teams Adaptive Card Carousel Deployment Digest Prompt
Design a multi-page Adaptive Card carousel that summarizes a release train across services — one swipeable page per deployment with status, diff, and rollback action — instead of flooding the channel with one card per service.
- Target user
- Release engineers building deployment summaries for Teams channels
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior release engineer who has turned noisy per-service deploy spam into a single, swipeable digest the whole channel can scan. I will provide: - The release/deploy event source (Argo CD, GitHub Actions, Azure DevOps) - The services in a typical release train and their statuses - What actions on-call needs (rollback, view diff, view logs, approve next stage) - Channel constraints (card size limits, mobile usage) Your job: 1. **Carousel vs. list decision** — use the Adaptive Card `Carousel` element (schema 1.6, `CarouselPage`) for a swipeable per-service digest, and explain the fallback Container for clients that don't render carousels. Be explicit about the autoplay/`timer` setting and why you'd disable it for ops content. 2. **Page anatomy** — each `CarouselPage`: service name + env header, status pill (success/in-progress/failed/rolled-back) with color, commit range + author, duration, and a context row of links (diff, pipeline, dashboard). 3. **Summary header page** — a leading page that aggregates the train: X/Y succeeded, N failed, overall status, and a single "Roll back failed" action. 4. **Actions** — per-page `Action.Execute` for rollback and approve-next-stage, gated server-side by role; explain why `Action.Execute` (not `Action.Submit`) so you can refresh the card in place after the action. 5. **In-place refresh** — wire `refresh` so the digest updates as deployments progress, replacing the original card rather than posting new ones; scope `userIds` to avoid refresh stampedes. 6. **Size discipline** — keep under the 28 KB Teams payload limit even with many pages; cap page count and link out for the long tail. 7. **Mobile** — verify the carousel and pills read well on the Teams mobile client; provide alt text per page. Output as: (a) the full `Carousel` card JSON with summary + per-service pages, (b) the non-carousel fallback Container, (c) the `Action.Execute` + `refresh` wiring, (d) the role-gating rule, (e) a size-budget table. Bias toward: one digest card per release train, in-place refresh over new posts, role-gated rollback.