# Slack Integration Setup

## Bot Configuration

Slack integration is configured via `bot.toml` in the project's `.story_kit/` directory:

```toml
transport = "slack"
display_name = "Huskies"
slack_bot_token = "xoxb-..."
slack_signing_secret = "..."
slack_channel_ids = ["C01ABCDEF"]
```

## Slack App Configuration

### Event Subscriptions

1. In your Slack app settings, enable **Event Subscriptions**.
2. Set the **Request URL** to: `https://<your-host>/webhook/slack`
3. Subscribe to the `message.channels` and `message.im` bot events.

### Slash Commands

Slash commands provide quick access to pipeline commands without mentioning the bot.

1. In your Slack app settings, go to **Slash Commands**.
2. Create the following commands, all pointing to the same **Request URL**: `https://<your-host>/webhook/slack/command`

| Command | Description |
|---------|-------------|
| `/huskies-status` | Show pipeline status and agent availability |
| `/huskies-cost` | Show token spend: 24h total, top stories, and breakdown |
| `/huskies-show` | Display the full text of a work item (e.g. `/huskies-show 42`) |
| `/huskies-git` | Show git status: branch, changes, ahead/behind |
| `/huskies-htop` | Show system and agent process dashboard |

All slash command responses are **ephemeral** — only the user who invoked the command sees the response.

### OAuth & Permissions

Required bot token scopes:
- `chat:write` — send messages
- `commands` — handle slash commands
