Slack
Create a Slack app, connect it with the bot token and signing secret, and get events actually delivered — scopes, Socket Mode, and all.
Slack answers with AI by default, like the other chat channels. See Channels overview.
What you need
A Slack app. Slack only issues a bot token through an app — there is no standalone token — but creating one takes about two minutes.
Connect
- 1Go to <https://api.slack.com/apps> → Create New App → From scratch,
and pick the workspace.
- 2OAuth & Permissions → Bot Token Scopes. Add
chat:writeto send replies,plus one read scope per surface the bot should listen on:
| Scope | Surface | | ------------------- | ---------------- | | im:history | Direct messages | | channels:history | Public channels | | groups:history | Private channels | | app_mentions:read | Being @-tagged |
- 1Install to Workspace and copy the Bot User OAuth Token (
xoxb-…). - 2Basic Information → App Credentials and copy the Signing Secret.
- 3In evoriqa, add a Slack channel with both values, then copy the webhook
URL it shows.
- 4Socket Mode → off. With Socket Mode on, Slack never POSTs your Request
URL at all — even though it still displays as Verified.
- 5Event Subscriptions → enable, paste the webhook URL as the Request URL
(the verification challenge is answered automatically), and subscribe to the bot events matching your scopes:
message.im,message.channels,message.groups,app_mention. Press Save Changes — the green Verified badge alone does not save the URL. Reinstall the app after changing events. - 6Invite the bot:
/invite @YourBotin a channel, or DM it. A private channelaccepts the bot only via
/inviterun from inside it.
Each scope pairs with its event. A scope without its event delivers nothing — and so does an event without its scope. This is the single most common reason a correctly "verified" Slack app stays silent.
Verify it works
DM the bot, or mention it in a channel it belongs to. The message should appear in the Inbox tagged Slack, and the AI should reply in Slack.
Inbound events are verified with the x-slack-signature header against your signing secret. An @-mention in a channel arrives twice — once as app_mention, once as message — and is collapsed into one inbox message; the bot's own <@U…> token is stripped from the text. The bot's own echoes and message edits are filtered out.
Troubleshooting
| Symptom | Cause |
|---|---|
| Challenge failed at step 7 | The signing secret in the channel does not match the app's — re-copy it |
| Verified but nothing arrives | Socket Mode is on, the Request URL was verified but not saved, or the app was not reinstalled after an event change |
| Signature rejected on the chip | Slack is delivering; the signing secret is wrong |
| Replies not sending | The bot token is invalid or missing chat:write |
Read the channel's health chip first — it distinguishes "Slack sent nothing" from "Slack sent something we rejected".
Where to go next
Last updated