Skip to content

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

  1. 1
    Go to <https://api.slack.com/apps> → Create New AppFrom scratch,

    and pick the workspace.

  2. 2
    OAuth & Permissions → Bot Token Scopes. Add chat:write to 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 |

  1. 1
    Install to Workspace and copy the Bot User OAuth Token (xoxb-…).
  2. 2
    Basic Information → App Credentials and copy the Signing Secret.
  3. 3
    In evoriqa, add a Slack channel with both values, then copy the webhook

    URL it shows.

  4. 4
    Socket Mode → off. With Socket Mode on, Slack never POSTs your Request

    URL at all — even though it still displays as Verified.

  5. 5
    Event 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.

  6. 6
    Invite the bot: /invite @YourBot in a channel, or DM it. A private channel

    accepts the bot only via /invite run from inside it.

Warning:

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

Read the channel's health chip first — it distinguishes "Slack sent nothing" from "Slack sent something we rejected".

Where to go next

Last updated