---
title: "Slack Events"
method: POST
path: "/slack/events"
tags: ["Slack"]
---

# Slack Events

`POST /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.

## Headers

- `X-Slack-Request-Timestamp` string, required
- `X-Slack-Signature` string, required
- `X-Slack-Retry-Num` string

## Response `200`

Event processed successfully

- union
  - SlackChallengeResponse
    - `challenge` string, required — Challenge string to echo back to Slack
  - SlackEventResponse
    - `status` string

## Other responses

- `400` — Missing Slack headers
- `403` — Invalid Slack signature

---

[API](https://skmtc.net/agno/apis/agno-api-reference.md) · [All operations](https://skmtc.net/agno/apis/agno-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agno/agno-api-reference/revisions/5f6149d395d0/schema)
