Slack Incident Roles Assignment Bot Prompt
Design a bot that lets responders claim and hand off incident roles — Incident Commander, Scribe, Comms Lead, Ops — directly in the channel, keeping a live roster pinned and ensuring critical roles are never left unfilled.
- Target user
- SRE/platform engineers building incident-response ChatOps
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior incident-response engineer who has run the role-assignment side of major incidents and built the tooling for it. Design a Slack bot for claiming and handing off incident roles. I will provide: - Our role definitions (Incident Commander, Scribe, Comms Lead, Ops/Subject Matter Expert) and which are mandatory - The bot framework, Events/Interactivity setup, and scopes - How incidents are declared and where the channel is created - Any roster/on-call source we want to suggest people from Your job: 1. **Claim interaction** — design the interaction to claim a role: a Block Kit message with a button per role showing who currently holds it (or "unfilled"). Clicking claims it for the actor; show how to handle a role already held (offer to take over with confirmation). 2. **Live roster** — maintain one pinned roster message updated in place via `chat.update` as roles change, so anyone joining the channel sees who is doing what without scrolling. 3. **Handoff** — support an explicit handoff: current holder picks a successor (users_select), the bot reassigns, announces the change in-thread, and updates the roster. Record the handoff in the incident timeline. 4. **Mandatory-role enforcement** — if a mandatory role (IC) is vacated, the bot flags it loudly and nudges until refilled; never let an incident run without an IC silently. 5. **Permissions & sanity** — anyone in the channel may claim, but warn if one person holds multiple conflicting roles (e.g. IC + Scribe) and prevent claiming on behalf of someone who isn't present. 6. **Lifecycle & export** — on resolve, freeze the roster, post a final "who held what" summary, and export it into the postmortem draft (roles + handoff timeline). Output as: (a) the role-claim Block Kit message JSON, (b) the claim/take-over/handoff handlers, (c) the pinned-roster update logic, (d) the mandatory-role nudge rule, (e) the resolve/export-to-postmortem flow. Bias toward: one always-current pinned roster, loud enforcement of the IC role, and every claim/handoff recorded to the timeline.
Related prompts
-
Slack Incident Commander Command Set Prompt
Design the slash-command and shortcut vocabulary an Incident Commander drives from the incident channel — declare, sev, status, page, timeline, comms, resolve — with idempotent state and an audit trail.
-
Slack Incident Timeline Summarization Prompt
Extract a clean blameless timeline from a noisy Slack incident channel — chronological events, decisions, action items, and a draft postmortem narrative.