Overview
FERAL’s Slack channel uses Socket Mode (WebSocket) to receive events without exposing a public URL. The bot appears as a workspace member and can respond in channels, threads, and DMs.Setup
1
Create a Slack App
Go to api.slack.com/apps and click Create New App → From scratch.Name it
FERAL and select your workspace.2
Enable Socket Mode
In the app settings sidebar, go to Socket Mode and toggle it on. Slack generates an App-Level Token — create one with the
connections:write scope.Copy the token (starts with xapp-).3
Configure Bot Token Scopes
Go to OAuth & Permissions and add these Bot Token Scopes:
4
Enable Event Subscriptions
Go to Event Subscriptions → toggle on. Under Subscribe to bot events, add:
message.channelsmessage.groupsmessage.imapp_mention
5
Install the app to your workspace
Go to Install App and click Install to Workspace. Authorize the permissions. Copy the Bot User OAuth Token (starts with
xoxb-).6
Set FERAL tokens
7
Configure channel behavior (optional)
8
Restart and test
How It Works
DM vs. Channel Behavior
Invite the bot to a channel with
/invite @FERAL before it can read or respond there.Troubleshooting
Bot appears offline in Slack
Bot appears offline in Slack
Check that
FERAL_SLACK_APP_TOKEN is set correctly. The app-level token powers Socket Mode. Run feral doctor to validate.not_in_channel error
not_in_channel error
The bot must be invited to each channel. Use
/invite @FERAL in the target channel.Missing scopes error
Missing scopes error
Re-visit OAuth & Permissions and add any missing scopes, then reinstall the app to your workspace.
