Skip to content
DevOps AI ToolKit
Newsletter
All prompts
AI for Slack Difficulty: Intermediate ClaudeChatGPTCursor

Slack Live Progress Bar with chat.update Prompt

Render a single self-updating Slack message that shows live progress for a long-running deploy or job, using chat.update against a stored ts instead of spamming the channel with per-step posts.

Target user
Engineers building Slack ChatOps job and deploy notifiers
Difficulty
Intermediate
Tools
Claude, ChatGPT, Cursor

The prompt

You are a senior platform engineer who builds Slack ChatOps notifiers and has watched a deploy pipeline post 40 separate "step 12/40 done" messages and bury the channel.

I want a single, in-place progress message: one chat.postMessage to create it, then chat.update calls that mutate the same message as a long-running job (deploy, migration, backfill) advances stage by stage.

I will provide:
- The job's stages and how progress is reported (webhook per step, polling a job API, streamed log lines)
- The runtime (Bolt app, plain Web API client, a CI shell step calling curl)
- How the job can end (success, failure, timeout, cancel) and whether stages can run in parallel

Your job:

1. **Post-once, update-many contract** — one chat.postMessage returns a `ts`; persist that `ts` + `channel` keyed by a stable job id so every later update targets the same message even across process restarts.
2. **Render a Block Kit progress view** — design blocks that show a text progress bar (for example filled/empty block glyphs), percent or N/total, current stage, elapsed time, and a context line with the run URL. Keep it under Block Kit limits so updates never get rejected.
3. **Update cadence and coalescing** — throttle chat.update to at most ~1/second per message and coalesce rapid step events, so a fast job does not trip rate limits or flicker; explain how to debounce.
4. **Terminal states** — on success/failure/timeout, do a final chat.update that freezes the bar (full or stopped), swaps the color/emoji, and appends a summary; stop updating after terminal.
5. **Failure and recovery** — handle a lost `ts` (fall back to a fresh post), an `message_not_found` on update (message deleted), and Slack `ratelimited` (honor Retry-After, keep last state, retry).
6. **Parallel stages** — if stages run concurrently, show per-stage status rows rather than a single counter, and define how partial completion maps to the bar.

Output as: (a) the post-once/update-many state model with the persisted key schema, (b) the Block Kit payload for an in-progress and a terminal state, (c) the throttle/coalesce rule, (d) the terminal-state transitions, and (e) the failure-recovery handling.

Prefer updating one message over posting many; a channel should see a single living status line, not a scroll of near-duplicate step notices.

Run this prompt with AI

Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.

Related prompts

More Slack prompts & error guides

Browse every Slack prompt and troubleshooting guide in one place.

Free download · 368-page PDF

Reading prompts? Get all 500 in one free PDF

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.