openapi: 3.1.0 info: title: Agno API Reference A2A Slack API description: The all-in-one, private, secure agent platform that runs in your cloud. version: 2.5.6 tags: - name: Slack paths: /slack/events: post: tags: - Slack summary: Slack Events description: 'Receives incoming Slack events (messages, mentions, thread starts). **URL Verification:** On first setup, Slack sends a `url_verification` challenge. The endpoint echoes back the challenge string. **Event Processing:** Normal events are acknowledged immediately with `{"status": "ok"}` and processed in the background. This prevents Slack''s 3-second retry timeout. **Retry Handling:** Events with `X-Slack-Retry-Num` header are duplicates and return 200 without reprocessing. **Setup:** Configure this URL in your [Slack App](https://api.slack.com/apps) under **Event Subscriptions > Request URL**. See the [setup guide](/agent-os/interfaces/slack/setup) for creating a Slack App or use the [manifest](/agent-os/interfaces/slack/setup#2-create-the-slack-app) for quick setup. ' operationId: slack_events_simple_team parameters: - name: X-Slack-Request-Timestamp in: header required: true schema: type: string description: Unix timestamp when Slack sent the request - name: X-Slack-Signature in: header required: true schema: type: string description: HMAC signature for request verification (v0=hash) - name: X-Slack-Retry-Num in: header required: false schema: type: string description: Retry attempt number (present on retried events) responses: '200': description: Event processed successfully content: application/json: schema: anyOf: - $ref: '#/components/schemas/SlackChallengeResponse' - $ref: '#/components/schemas/SlackEventResponse' title: Response Slack Events Simple Team '400': description: Missing required Slack headers (X-Slack-Request-Timestamp or X-Slack-Signature) '403': description: Invalid Slack signature - signing secret mismatch /slack/interactions: post: tags: - Slack summary: Slack Interactions description: 'Handles Slack interactive components for Human-in-the-Loop (HITL) workflows. **Supported Actions:** - `row_approve` - Approve a pending tool call - `row_reject` - Reject a pending tool call - `submit_pause` - Submit form data for a paused workflow **Setup:** Configure this URL in your [Slack App](https://api.slack.com/apps) under **Interactivity & Shortcuts > Request URL**. See the [setup guide](/agent-os/interfaces/slack/setup) for step-by-step instructions or the [HITL guide](/agent-os/interfaces/slack/hitl) for approval workflows. ' operationId: slack_interactions requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: - payload properties: payload: type: string description: URL-encoded JSON interaction payload (Slack sends interactive component data as a single form field) parameters: - name: X-Slack-Request-Timestamp in: header required: true schema: type: string description: Unix timestamp when Slack sent the request - name: X-Slack-Signature in: header required: true schema: type: string description: HMAC signature for request verification (v0=hash) responses: '200': description: Interaction accepted content: application/json: schema: $ref: '#/components/schemas/SlackEventResponse' '400': description: Malformed interaction payload or missing payload field '403': description: Invalid Slack signature - signing secret mismatch components: schemas: SlackChallengeResponse: properties: challenge: type: string title: Challenge description: Challenge string to echo back to Slack type: object required: - challenge title: SlackChallengeResponse SlackEventResponse: properties: status: type: string title: Status default: ok type: object title: SlackEventResponse securitySchemes: HTTPBearer: type: http scheme: bearer