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.

How a Slack message reaches Evoriqa, and which secret verifies each hop
How a Slack message reaches Evoriqa, and which secret verifies each hop

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 api.slack.com/appsCreate 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:
  3. 3
    Install to Workspace and copy the Bot User OAuth Token (xoxb-…).
  4. 4
    Basic Information → App Credentials and copy the Signing Secret.
  5. 5
    In Evoriqa, add a Slack channel with both values, then copy the webhook URL it shows.
  6. 6
    Socket Mode → off. With Socket Mode on, Slack never POSTs your Request URL at all — even though it still displays as Verified.
  7. 7
    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.
  8. 8
    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.

Connect with the API

`POST /channels` replaces step 5 — the rest of the Slack-side setup still has to be done in Slack:

Warning:

Unlike the other channels, Slack's config is not validated at connect. A slack channel created without signingSecret or botToken returns 201 and looks connected, then rejects Slack's first event ("Slack channel is missing signingSecret") or silently fails to reply. Check both keys yourself before trusting the 201.

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.

The Slack channel's connect form: signing secret and bot token
The Slack channel's connect form: signing secret and bot token

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