Slack
Run Ryvos as a Slack app using Socket Mode for real-time WebSocket communication. No public URL required.
Setup
1. Create a Slack App
- Go to api.slack.com/apps
- Create a new app from scratch
- Under Socket Mode, enable it and generate an app-level token (starts with
xapp-) - Under OAuth & Permissions, add bot scopes:
chat:write,im:history,im:read,im:write - Install the app to your workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
2. Get User IDs
User IDs in Slack look like U01234ABC. Find yours in your Slack profile.
3. Configure Ryvos
[channels.slack]
bot_token = "${SLACK_BOT_TOKEN}" # xoxb-...
app_token = "${SLACK_APP_TOKEN}" # xapp-...
dm_policy = "allowlist"
allowed_users = ["U01234ABC"]4. Start
export SLACK_BOT_TOKEN="xoxb-..."
export SLACK_APP_TOKEN="xapp-..."
ryvos daemonSocket Mode
Ryvos uses Slack's Socket Mode, which connects via WebSocket. This means:
- No public URL or ngrok needed
- Works behind firewalls
- Real-time message delivery
Blocks UI
Approval requests use Slack's Block Kit for rich interactive messages:
- Button actions for approve/deny
- Threaded conversations per session
- Code blocks with formatting
DM Policy
| Policy | Behavior |
|---|---|
allowlist | Only users in allowed_users can interact |
open | Any workspace member can DM the bot |
disabled | Slack adapter doesn't start |