Slack Interactions

Signed Slack callback

Configure the Slack interface, including its bot token, signing secret and public callback URL. These are Slack callbacks authenticated by provider signatures; an AgentOS bearer key does not replace that protocol.

Send X-Slack-Request-Timestamp and X-Slack-Signature, signed over the exact raw body. Missing headers return 400; an invalid signature or timestamp outside the five-minute window returns 403. A missing server signing secret is a configuration failure.

A successful acknowledgement does not mean the agent finished its response. Supported work runs as an in-process background task. Signed retries carrying X-Slack-Retry-Num are acknowledged without reprocessing, so a restart during processing can lose work; this is not a durable or exactly-once queue.

Interaction form

Slack sends application/x-www-form-urlencoded with one payload field containing JSON. Supported block_actions dispatch the interface's approval, rejection, status and submit actions. Missing or malformed payload JSON returns 400. Unsupported interaction types and unknown actions are acknowledged without dispatch.

See Slack human-in-the-loop for the decision flow. The generated absence of a request-body schema does not remove the required signed form protocol.

POST/slack/interactions

Handle Slack interactive components (HITL buttons / form submit)

Response Body

application/json

curl --request POST 'https://example.com/slack/interactions'
{  "status": "ok"}