• Slack

Integrations · Slack

Where a sign-off asks for a person, and where a change reports back.

One thread per change. Approve and Request changes on the message, and the approval names the human who clicked.

What starts work

One way in, three actions, and a question.

A message in the routed channel starts a change; one channel belongs to one automation. Slack's larger role is deciding work: approval is compare-and-set, so two people clicking at once cannot both win, and rights come from your organisation roles, never from the Slack account. An agent session that needs an answer posts its question to the channel, and the answer arrives as a reply.

  1. 01
    slack.message

    a message arrives in the routed Slack channel

  2. 02
    devbyte_gate_approve

    Approve on a sign-off message; the approval names who clicked

  3. 03
    devbyte_gate_request_changes

    Request changes: opens a review thread on the plan; the sign-off stays pending

  4. 04
    devbyte_gate_continue

    a question from the agent is answered and the agent session continues

What lands back

A sign-off request reaches Slack with Approve and Request changes, and the approval names the human who clicked. One thread per change; escalations and updates are replies, never new parents. Request changes is not a rejection: it opens a review thread on the plan and leaves the sign-off pending.

What you grant and why

Five bot scopes, and the two that decide whether replies arrive.

Inbound is Socket Mode: one WebSocket to Slack, no public URL, nothing to sign. Posting is a write-back performed by the control plane, so no agent role ever holds the Slack credential.

chat:write
To post the sign-off message and the thread replies.
channels:read · groups:read
To list channels for the routing picker and to tell whether the app has actually joined one.
channels:history · groups:history
The ones that decide whether a typed reply arrives. Slack delivers a message event only to an app holding history on that conversation.
files:write
To attach an audit trail or a screenshot to a thread.
search:read · user token
Optional. Slack has no bot equivalent, so this one is granted by a person rather than to the app.

The approval names the human who clicked.A typed reply reaches the plan only when the app holds channels:history or groups:history and has been invited to that channel — a working Approve button proves nothing about replies — and a Slack outage never fails a stage.

Route one automation to a channel this week.

Connect the workspace, invite the app to the channel, and the next sign-off arrives with two buttons.