Skip to main content
GenosOS connects to Slack using @slack/bolt. You need a Slack App with a Bot Token and — for the recommended Socket Mode — an App Token. The agent guides you through the setup.

Connect Slack

Tell your assistant you want to connect:
You: "Connect Slack"
The agent walks you through the Slack App creation process step by step.
1

Create a Slack App

Go to api.slack.com/apps and click Create New App. Choose From scratch, give it a name, and select the workspace you want to install it in.
2

Enable Socket Mode

In the left sidebar, go to Settings → Socket Mode and enable it. When prompted, create an App Token with the connections:write scope. The token starts with xapp-. Copy it.
Socket Mode is recommended for self-hosted setups because it does not require a publicly reachable URL — the connection is outbound from your machine to Slack.
3

Add bot token scopes

Go to OAuth & Permissions → Bot Token Scopes and add:
  • chat:write — send messages
  • channels:history, channels:read — read channel content
  • groups:history — read private channel content
  • im:history, mpim:history — read direct messages
  • app_mentions:read — receive @mention events
  • users:read — resolve user names
  • reactions:read, reactions:write — emoji reactions
  • files:read, files:write — file attachments
  • assistant:write — streaming typing indicators
4

Subscribe to bot events

Go to Event Subscriptions, enable events, and subscribe to:app_mention, message.channels, message.groups, message.im, message.mpim, reaction_added, reaction_removed
5

Enable App Home

Go to App Home → Messages Tab and enable it. This allows users to DM your bot directly.
6

Install the app and copy the Bot Token

Go to OAuth & Permissions and click Install to Workspace. After installation, copy the Bot Token — it starts with xoxb-.
7

Paste both tokens to your assistant

You: "Here is the App Token: xapp-..."
You: "Here is the Bot Token: xoxb-..."
The agent stores them in the encrypted vault and enables the channel.

Socket Mode vs HTTP mode

ModeHow it worksRequires public URL?
Socket ModeOutbound WebSocket from your machine to SlackNo
HTTP modeSlack sends POST requests to your webhook URLYes
Socket Mode is the default and recommended mode for local and self-hosted setups. Switch to HTTP mode only if you need a persistent public endpoint:
You: "Switch Slack to HTTP mode"
In HTTP mode, the agent will ask for your signing secret and configure the webhook path. You then set the same URL as the Request URL in your Slack app’s Event Subscriptions, Interactivity, and Slash Commands settings.

DM policy

You: "Only allow specific people to DM the bot on Slack"
You: "Open Slack DMs to anyone in the workspace"
PolicyBehavior
pairingUnknown senders get a 6-digit code. You approve via the agent.
allowlistOnly user IDs you specify can interact.
openAccept DMs from anyone in the workspace.

Channel-specific settings

By default, the bot responds only when @mentioned in channels. To change this for a specific channel:
You: "Let the bot respond without being mentioned in #general"

Security

Slack is a messaging channel. The agent cannot run shell commands, execute processes, or invoke bash scripts from a Slack conversation — regardless of what the message says. This restriction is architectural. What Slack conversations can do: read files, search memory, send messages, use web tools, query APIs.

Troubleshooting

Socket Mode not connecting Make sure Socket Mode is enabled in your Slack App settings. Go to Settings → Socket Mode and verify it is turned on. Both the App Token (xapp-) and Bot Token (xoxb-) are required. Messages arrive but bot does not reply in channels By default, the bot only responds to @mentions in channels. If you want it to respond to all messages, ask your assistant to disable the mention requirement for that channel. DMs are ignored Verify that App Home → Messages Tab is enabled in your Slack app settings. Without this, Slack will not deliver DMs to the bot.