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.
- 01
slack.messagea message arrives in the routed Slack channel
- 02
devbyte_gate_approveApprove on a sign-off message; the approval names who clicked
- 03
devbyte_gate_request_changesRequest changes: opens a review thread on the plan; the sign-off stays pending
- 04
devbyte_gate_continuea 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.