Juan - Slack as ACP Client
A self-hosted bridge that allows you to interact with ACP-compatible coding agents through Slack, so you can code from anywhere. Run it on your PC to connect your Slack workspace with local or remote AI coding agents.
Installation
Linux/macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/DiscreteTom/juan/releases/latest/download/juan-installer.sh | sh
Windows
powershell -ExecutionPolicy Bypass -c "irm https://github.com/DiscreteTom/juan/releases/latest/download/juan-installer.ps1 | iex"From Source
cargo install --git https://github.com/DiscreteTom/juan
Slack App Setup
- Go to https://api.slack.com/apps and create a new app
- Enable Socket Mode:
- Go to "Socket Mode" in the sidebar
- Enable Socket Mode
- Generate an app-level token with
connections:writescope (starts withxapp-)
- Add Bot Token Scopes:
- Go to "OAuth & Permissions"
- Add these scopes:
app_mentions:read- Read messages that mention your appchat:write- Send messageschannels:history- View messages in public channelsgroups:history- View messages in private channelsim:history- View messages in direct messagesfiles:write- Upload files and share themreactions:write- Add emoji reactions to messages
- Install the app to your workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
- Enable Events:
- Go to "Event Subscriptions"
- Subscribe to bot events:
app_mention- When your app is mentionedmessage.channels- Messages in channelsmessage.groups- Messages in private channelsmessage.im- Direct messages
- Configure App Home:
- Go to "App Home"
- Under "Show Tabs", check "Allow users to send Slash commands and messages from the messages tab"
Usage
# Create a config file juan init # Run with default config file (juan.toml) juan run
Interacting with Agents
In your Slack, talk to the Slack APP. Use #help to see help.