The Slack adapter connects Archon to a Slack workspace using the Bolt for JavaScript SDK in Socket Mode. Socket Mode keeps a persistent WebSocket connection from your server to Slack — no public HTTP endpoint or firewall rule required, which makes it ideal for local development and private networks. This page covers creating a Slack app, configuring permissions, setting environment variables, and day-to-day usage patterns.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/coleam00/Archon/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Archon server running — see Quickstart
- A Slack workspace where you have permission to install apps
Socket Mode overview
No public URL needed
Archon connects outbound to Slack. You do not need to expose a port to the internet.
Works behind firewalls
Suitable for office networks, VPNs, and local development machines.
Simple local development
Start the server and events flow through the WebSocket immediately.
Not for App Directory
Socket Mode apps cannot be listed in the public Slack App Directory — fine for personal and team use.
Setup
Create a Slack app
- Go to api.slack.com/apps and sign in
- Click Create New App → From scratch
- Enter an App Name (this is what users @mention) and select your workspace
- Click Create App
Enable Socket Mode
- In the left sidebar click Socket Mode
- Toggle Enable Socket Mode to ON
- When prompted, create an App-Level Token:
- Token Name:
socket-mode - Scopes: add
connections:write - Click Generate
- Token Name:
- Copy the token — it starts with
xapp- - Save it as
SLACK_APP_TOKENin your.env
Add Bot Token Scopes
- In the left sidebar click OAuth & Permissions
- Scroll to Scopes → Bot Token Scopes and add:
| Scope | Purpose |
|---|---|
app_mentions:read | Receive @mention events |
chat:write | Send messages |
channels:history | Read messages in public channels (thread context) |
channels:join | Allow the bot to join public channels |
groups:history | Read messages in private channels (optional) |
im:history | Read DM history |
im:write | Send DMs |
im:read | Read DM metadata |
mpim:history | Read group DM history (optional) |
mpim:write | Send group DMs |
Subscribe to bot events
- In the left sidebar click Event Subscriptions
- Toggle Enable Events to ON
- Under Subscribe to bot events add:
app_mention— when someone @mentions your botmessage.im— direct messages to your botmessage.channels— messages in public channels (optional)message.groups— messages in private channels (optional)
- Click Save Changes
Install to workspace
- In the left sidebar click Install App
- Click Install to Workspace and click Allow
- Copy the Bot User OAuth Token — it starts with
xoxb- - Save it as
SLACK_BOT_TOKENin your.env
Restricting access (optional)
To limit which Slack users can interact with the bot, set a comma-separated list of Slack member IDs: Finding a user’s member ID:- In Slack, open the user’s profile
- Click … (More actions) → Copy member ID
Streaming mode (optional)
batch — Archon sends one complete message per response. In stream mode it updates the message progressively. See Configuration for details.
Usage patterns
@Mention in a channel
After inviting the bot to a channel, @mention it to send a message:Continue work in a thread
Reply in the thread the bot created:channel:thread_ts, so all replies in the same thread share one Archon conversation and full context is preserved.
Direct messages
You can DM the bot directly — no @mention required:Parallel work with worktrees
Start parallel work on a new branch from the same channel:Troubleshooting
Bot does not respond to @mentions
Bot does not respond to @mentions
- Confirm Socket Mode is enabled in the app settings
- Verify both
SLACK_BOT_TOKEN(starts withxoxb-) andSLACK_APP_TOKEN(starts withxapp-) are correct - Ensure the bot is invited to the channel (
/invite @your-bot) - Check the server logs for
slack.bot_started
"channel_not_found" error
"channel_not_found" error
The bot must be invited to the channel before it can post:
"missing_scope" error
"missing_scope" error
Add the required scope in OAuth & Permissions and click Reinstall App to apply the change.
Thread context not working
Thread context not working
Make sure the following scopes are added:
channels:historyfor public channelsgroups:historyfor private channels
Security recommendations
- Use the user whitelist: set
SLACK_ALLOWED_USER_IDSto restrict access to specific team members - Limit channel exposure: invite the bot only to channels where it is needed
- Protect tokens: never commit
SLACK_BOT_TOKENorSLACK_APP_TOKENto version control
Further reading
Configuration reference
Full list of environment variables and config options.
Telegram adapter
Connect Archon via Telegram Bot API with long-polling.
GitHub adapter
Trigger Archon from issue and PR comments via webhooks.
Authoring workflows
Build multi-step automated workflows for your team.