> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2-codex-docs-audit-20260719-0149.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack Events

> 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.




## OpenAPI

````yaml post /slack/events
openapi: 3.1.0
info:
  title: Agno API Reference
  description: The all-in-one, private, secure agent platform that runs in your cloud.
  version: 2.7.4
servers: []
security: []
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_agent
      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)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: true
              type: object
      responses:
        '200':
          description: Event processed successfully
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/SlackChallengeResponse'
                  - $ref: '#/components/schemas/SlackEventResponse'
                title: Response Slack Events Simple Agent
        '400':
          description: Missing Slack headers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Invalid Slack signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '500':
          description: Slack signing is not configured, or the event body is not valid JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
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
    BadRequestResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
        - detail
      title: BadRequestResponse
      example:
        detail: Bad request
        error_code: BAD_REQUEST
    ForbiddenResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
      type: object
      required:
        - detail
      title: ForbiddenResponse
      example:
        detail: Insufficient permissions
    InternalServerErrorResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error detail message
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Code
          description: Error code for categorization
      type: object
      required:
        - detail
      title: InternalServerErrorResponse
      example:
        detail: Internal server error
        error_code: INTERNAL_SERVER_ERROR

````