send_to_slack
Post image files to Slack as a threaded review with optional title, status, checks, and links. Supports updating an existing review thread.
Instructions
Post one or more existing image files to Slack as a review. Posts a root anchor message (a
Block Kit task card when title/status/checks/links are given) and threads the image(s) beneath
it. Returns a JSON status including review_id (poll it with wait_for_review) and the Slack
permalink(s). This is the primary tool: pair it with a repro/test that renders the result to a
PNG.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| links | No | Name→URL link buttons on the card (e.g. {'Open mesh report':'https://...'}). Up to 5. | |
| title | No | Task/review title: used as the Block Kit card header AND the file title in Slack. Defaults to each file's name. | |
| checks | No | Name→value facts shown as card fields (e.g. {'volume Δ':'+2.1%','watertight':'yes','hausdorff':'0.03mm'}). Up to 10. | |
| images | Yes | Absolute path(s) to image files (usually PNGs a repro/test rendered). Posted in order as ONE Slack message. | |
| notify | No | When replying into an existing thread (thread_ts set), also broadcast the re-render back to the channel (🔁) so a watching reviewer is re-pinged. Ignored for a new review. | |
| status | No | Verdict badge on the card: pass/fail/warn/error/info (e.g. from mesh-validator). Renders as ✅/❌/⚠️. | |
| channel | No | Destination: channel ID (C...), DM channel (D...), or user ID (U...) for a DM. Defaults to SLACK_DEFAULT_CHANNEL. | |
| message | No | Caption shown with the upload (Slack initial_comment). | |
| thread_ts | No | Reply into an existing review thread: pass the `review_id` returned by an earlier call (e.g. to post a re-render). Omit to start a new review thread. | |
| echo_image | No | Also return the posted image(s) so you can visually confirm exactly what was sent. Off by default to save tokens. |