Slack Multi-Team Broadcast Fan-Out Prompt
Design a controlled fan-out that broadcasts one operational message (maintenance, security advisory, status change) to many team channels at once, with per-channel targeting, delivery tracking, and no rate-limit blowups.
- Target user
- Engineers building Slack ChatOps broadcast and notification systems
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior platform engineer who builds Slack broadcast tooling and has both spammed the wrong channels and gotten 429'd firing 200 posts in a tight loop. I will provide: - The broadcast use case (maintenance window, security advisory, region status change) - How target channels are chosen (static list, tag/usergroup, owner registry) and roughly how many - Whether content varies per channel (timezone, owning team) or is identical Your job: 1. **Resolve the audience** — turn MY targeting rule into an explicit, deduplicated channel list, and show a dry-run that prints the resolved targets before sending anything. 2. **Template the message** — build one Block Kit template with per-channel variables (team name, local time, escalation contact) so each post is correct, not generic. 3. **Pace the fan-out** — queue the sends and respect chat.postMessage's per-channel limit and overall tiers with a paced worker, not a synchronous loop. 4. **Track delivery** — record per-channel success/failure with the returned `ts`, and surface a delivery report (sent / failed / skipped) to the broadcaster. 5. **Make it correctable** — store the `ts` per channel so a follow-up correction or "resolved" update goes to the exact same messages via chat.update. 6. **Guard the blast** — require an explicit confirm (and an audience-size threshold) before a large broadcast actually sends. Output as: (a) the audience-resolution + dry-run output, (b) the parameterized Block Kit template, (c) the paced fan-out worker, (d) the delivery-tracking report, (e) the ts-store for follow-up updates and the pre-send confirmation gate. Default to dry-run and explicit confirmation before any large fan-out; an un-recallable broadcast to the wrong audience is far costlier than a second of friction.