Slack
Slack integration uses Socket Mode, which means Talon opens a persistent WebSocket connection to Slack rather than requiring a publicly accessible webhook URL. This makes setup much easier for local or home-server deployments.
You will end up with two tokens: an app-level token (prefixed xapp-) for the Socket Mode connection, and a bot token (prefixed xoxb-) for sending messages.
1. Create a Slack App
Section titled “1. Create a Slack App”Go to api.slack.com/apps and click Create New App.
Choose From scratch, give your app a name, and select the workspace you want to install it in.
2. Enable Socket Mode and Get the App Token
Section titled “2. Enable Socket Mode and Get the App Token”In the left sidebar, click Socket Mode and toggle it on.
You will be prompted to generate an app-level token. Give the token a name (e.g. talon-socket) and click Generate. Copy the token — it starts with xapp-.
3. Add Bot Scopes
Section titled “3. Add Bot Scopes”In the left sidebar, click OAuth & Permissions.
Scroll to Bot Token Scopes and add the following scopes:
| Scope | Purpose |
|---|---|
chat:write | Send messages |
channels:history | Read messages in public channels |
groups:history | Read messages in private channels |
im:history | Read direct messages |
mpim:history | Read group direct messages |
channels:read | List channels |
im:read | List direct message conversations |
4. Enable Event Subscriptions
Section titled “4. Enable Event Subscriptions”In the left sidebar, click Event Subscriptions and toggle Enable Events on.
Under Subscribe to bot events, add:
message.channelsmessage.groupsmessage.immessage.mpim
Click Save Changes.
5. Install to Workspace
Section titled “5. Install to Workspace”In the left sidebar, click OAuth & Permissions and click Install to Workspace.
After authorizing, copy the Bot User OAuth Token — it starts with xoxb-.
6. Add to Config
Section titled “6. Add to Config”{ "channels": { "slack": { "accounts": { "my-workspace": { "bot_token": "xoxb-...", "app_token": "xapp-..." } } } }}Restart Talon. The bot will appear online in your Slack workspace and respond to direct messages and any channel it has been invited to.
Configuration Fields
Section titled “Configuration Fields”| Field | Required | Description |
|---|---|---|
bot_token | Yes | Bot User OAuth Token, starts with xoxb- |
app_token | Yes | App-level token for Socket Mode, starts with xapp- |
allow_from | No | List of Slack user IDs allowed to message the bot |
model | No | Override the default AI model for this account |
Restricting Access
Section titled “Restricting Access”Slack user IDs can be found by clicking on a user’s profile in Slack, clicking the three-dot menu, and selecting Copy member ID.
{ "channels": { "slack": { "accounts": { "my-workspace": { "bot_token": "xoxb-...", "app_token": "xapp-...", "allow_from": ["U01234ABCDE"] } } } }}Multiple Workspaces
Section titled “Multiple Workspaces”Each Slack workspace requires its own app installation and tokens. Add an entry under accounts for each workspace:
{ "channels": { "slack": { "accounts": { "engineering": { "bot_token": "xoxb-111...", "app_token": "xapp-111..." }, "personal": { "bot_token": "xoxb-222...", "app_token": "xapp-222..." } } } }}