Skip to main content
These are developer notes for the Slack upstream connector: how Triage’s diagnostic runs as a Slack app, rendered with Block Kit over the Web API. The page documents the platform surface the Intake Gateway’s Slack renderer builds on. The gateway itself is described in Upstream connectors.
The Slack connector is on the roadmap. The Slack renderer ships in the reference implementation; the hosted transport is planned. Method and scope names on this page are taken from Slack’s official Web API OpenAPI specification, listed under Developer references.

Platform at a glance

A Slack app (definable through an app manifest) with a bot user and granular bot scopes, installed to a workspace through OAuth 2.0. Base URL https://slack.com/api.
chat:write to post and update messages, im:write or conversations:write to open a DM, and users:read to resolve the acting user.
chat.postMessage (“Sends a message to a channel”) with a Block Kit blocks payload.
chat.update (“Updates a message”) replaces the question message with a locked version whose interactive elements are gone, mirroring the Teams card update.
Block Kit section, context and actions blocks. button elements carry the answer values; text is plain_text or mrkdwn.
Button clicks deliver a block_actions interaction payload identified by block_id and action_id. The app acknowledges within 3 seconds and may reply through the response_url.
The app receives interactions and events over the Events API (a request URL) or Socket Mode (a WebSocket). The gateway is transport-agnostic.
The acting user is resolved from user.id on the interaction payload, enriched through users.info where needed.

How the diagnostic runs in Slack

Developer references

Slack’s official developer documentation. Method and scope names on this page are taken from the vendor-published Web API OpenAPI spec (slackapi/slack-api-specs).
The Slack renderer and its contract tests live in upstream/slack_blocks.py: the same gateway core as Teams, a different renderer. Upstream connectors explains how to run the reference implementation.

Next steps

Upstream connectors

The Intake Gateway, the card lifecycle and the hand-off to composerID.

Coverage and status

Every surface and destination with its registry status.