# Slack integration

Canonical HTML: https://getdispatcher.dev/help/slack

Turn Slack messages into Dispatcher tasks by mentioning **@dispatcher**.

## Connect Slack

1. Sign in to the Dispatcher desktop app and select an **organization**
2. Open **Settings → Slack**
3. Click **Connect Slack** and approve the install in your browser
4. Invite the bot to channels: `/invite @dispatcher`

You do not paste tokens or run a local bridge. Connection is one OAuth click; mentions are handled on Dispatcher servers.

## Create a task from Slack

In any channel or thread where the bot is invited:

```text
@dispatcher create a task
@dispatcher create a task and work on it
@dispatcher create a task priority high and work on it
```

The bot replies with a link to open the task in the web app or desktop app. Agents still run locally in Dispatcher [worktrees](https://getdispatcher.dev/help/worktrees).

## What the Settings screen means

| Control | Meaning |
|---------|---------|
| **Connect Slack** | Installs the Dispatcher Slack app into your workspace and links it to your current organization |
| **Reconnect Slack** | Runs OAuth again (e.g. after permissions change) |
| **Disconnect** | Unlinks Slack from your organization |

## Troubleshooting

| Problem | Fix |
|---------|-----|
| Connect button disabled | Sign in and select an organization first |
| Bot never replies | Run `/invite @dispatcher` in the channel; in Settings → Slack confirm “Cloud registration OK” (use **Sync** or **Reconnect** if missing) |
| Authorized but mentions ignored | Open Settings → Slack diagnostics: if **Last Slack event** is `never`, turn **Socket Mode Off**, set Event Subscriptions Request URL to `https://getdispatcher.dev/api/slack/events`, subscribe to `app_mention`, then **Reconnect Slack** |
| Request URL challenge fails | Socket Mode must be Off; `SLACK_SIGNING_SECRET` must match the app’s Signing Secret |
| Cloud OK but still silent | Invite the bot with `/invite @dispatcher`; check Settings for **Last mention error** |
| OAuth redirect error | Restart Connect from the app; don’t edit the callback URL by hand |
| Agent doesn’t launch | Open the task in the desktop app and run an agent |

## Related

- [Integrations overview](https://getdispatcher.dev/help/integrations)
- [Support](https://getdispatcher.dev/support)
