# Receive Slack events

URL: /en/docs/api/v1/integrations/slack/events/post
Last Updated: 2026-07-30T21:15:30.613Z

## Description
No description available.

## Available Actions
- Execute POST request
- View request parameters
- View response schema
- Get code examples
- Navigate to related topics
- View step-by-step instructions
- Get best practices

## Content
### POST /api/v1/integrations/slack/events

**Receive Slack events**

Validates Slack request signatures. URL verification challenges are returned immediately; event callbacks are queued for downstream processing.

**Header parameters:**

| Name | Type | Required | Description |
|---|---|---|---|
| `x-slack-signature` | string | Yes |  |
| `x-slack-request-timestamp` | string | Yes |  |

**Request body** (`application/json`) - required:

- `type` (enum: url_verification | event_callback)
- `challenge` (string)
- `event_id` (string)
- `team_id` (string)
- `event` (object)

**Responses:**

- `200` - Event processed or ignored
  - `challenge` (string, required)
  - `ok` (enum: true, required)
  - `ok` (enum: true, required)
  - `ignored` (enum: true, required)

  Example (verification):
  
  ```json
  {
  "challenge": "challenge-token"
}
  ```

  Example (accepted):
  
  ```json
  {
  "ok": true
}
  ```

  Example (ignored):
  
  ```json
  {
  "ok": true,
  "ignored": true
}
  ```
- `400` - Invalid payload JSON
  - `error` (string, required)
- `401` - Missing or invalid Slack signature headers
  - `error` (string, required)
- `405` - Method not allowed
  - `error` (string, required)
- `502` - Failed to queue event callback
  - `error` (string, required)

**Code samples:**

cURL:

```bash
curl -X POST "https://app.orbiqhq.com/api/v1/integrations/slack/events" \
  -H "Content-Type: application/json" \
  -H "x-slack-request-timestamp: 1739612400" \
  -H "x-slack-signature: v0=..." \
  -d '{
  "type": "event_callback",
  "event_id": "Ev123",
  "team_id": "T123",
  "event": {
    "type": "file_shared",
    "channel": "C123",
    "user": "U123"
  }
}'
```

