> ## Documentation Index
> Fetch the complete documentation index at: https://docs.argentos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

> Set up a Slack app to connect ArgentOS to your workspace.

## Overview

ArgentOS integrates with Slack as a workspace app using the Events API for incoming messages and the Web API for sending responses.

## Prerequisites

* A Slack workspace where you have admin permissions
* ArgentOS gateway running

## Setup

<Steps>
  <Step title="Create a Slack App">
    1. Go to [api.slack.com/apps](https://api.slack.com/apps)
    2. Click **Create New App > From scratch**
    3. Name your app and select your workspace
  </Step>

  <Step title="Configure Permissions">
    Navigate to **OAuth & Permissions** and add these Bot Token Scopes:

    * `chat:write` -- Send messages
    * `channels:history` -- Read messages in public channels
    * `groups:history` -- Read messages in private channels
    * `im:history` -- Read direct messages
    * `im:write` -- Send direct messages
    * `users:read` -- Look up user info
  </Step>

  <Step title="Enable Events">
    Navigate to **Event Subscriptions** and enable events. Subscribe to these bot events:

    * `message.im` -- Direct messages to the bot
    * `message.channels` -- Messages in channels the bot is in
    * `app_mention` -- When someone @mentions the bot

    The Request URL will be configured automatically when you add the channel.
  </Step>

  <Step title="Install to Workspace">
    Click **Install to Workspace** and authorize the app. Copy the **Bot User OAuth Token** (`xoxb-...`).
  </Step>

  <Step title="Add the Channel">
    ```bash theme={null}
    argent channels add slack
    ```

    Paste the bot token when prompted.
  </Step>
</Steps>

## Configuration

```json theme={null}
{
  "channels": {
    "slack": {
      "enabled": true,
      "token": "xoxb-your-bot-token",
      "signingSecret": "your-signing-secret",
      "allowedChannels": [],
      "allowedUsers": []
    }
  }
}
```

## Supported Features

| Feature            | Supported |
| ------------------ | --------- |
| Direct messages    | Yes       |
| Channel messages   | Yes       |
| Threads            | Yes       |
| File uploads       | Yes       |
| Slash commands     | Planned   |
| Interactive modals | No        |
| Workflow Builder   | No        |

## Tips

<Tip>
  **Invite the bot** to channels where you want it to respond: `/invite @your-bot`
</Tip>

* Use `allowedChannels` to restrict which channels the agent responds in
* The bot only responds when directly messaged or mentioned unless configured otherwise
