How to add an AI chatbot to Slack
Evoriqa Team · July 14, 2026 · 7 min read

Your team already lives in Slack. When someone needs the VPN reset steps, the PTO policy, or a ship date, they drop the question in a channel and wait. The same answers get retyped every week, and the one person who knows is heads-down.
Evoriqa turns Slack into one clean intake. By default, every question in a channel or DM is answered by AI (the same knowledge-grounded pipeline that runs on your website widget), and the grounded reply goes straight back out in Slack, pulled from your own docs. Prefer a person in the loop? Flip the AI replies toggle off and that channel goes human-first: the question lands in a shared inbox flagged for a human, with a desktop alert on arrival and an AI copilot that drafts the answer for your teammate to review and send. It works the same for a customer community as it does for an internal IT or HR desk.
What you'll need
- A Evoriqa workspace (create one free, no credit card)
- A trained chatbot whose knowledge the AI answers from
- A Slack workspace where you can create and install apps (admin approval may be required)
Step 1: Train your agent
Before the AI can answer, it needs your knowledge. Crawl your site, upload docs, or add FAQs so it has something to pull from. Our training guide walks through it step by step.
Step 2: Create a Slack app
Go to api.slack.com/apps and click Create New App. Choose From scratch, give it a name, and pick the workspace it should live in.
Step 3: Add bot token scopes
Open OAuth & Permissions. Under Bot Token Scopes, add chat:write so replies can go back out through the bot. Then add one scope per place you want the bot to listen:
im:history: direct messageschannels:history: public channels the bot is invited togroups:history: private channels the bot is invited toapp_mentions:read: people tagging the bot, as in@YourBot how do I reset the VPN?
Private channels are a separate permission from public ones in Slack, so if your IT or HR desk runs in a private channel, channels:history alone won't reach it. You need groups:history as well. Add whichever ones match where you want to field questions; there's no harm in listening in fewer places to start.
Step 4: Install the app and copy your credentials
Still in OAuth & Permissions, click Install to Workspace and approve the scopes. Once it installs, copy the Bot User OAuth Token. It starts with xoxb-. Then open Basic Information → App Credentials and copy the Signing Secret. You'll paste both into Evoriqa next.
Step 5: Connect the channel in Evoriqa
In the Evoriqa dashboard, open your chatbot and go to its Channels tab, pick Slack, and paste in the Bot User OAuth Token and the Signing Secret you just copied. Connect the channel, and Evoriqa hands you a webhook URL. Copy it. Channels are set per chatbot, so Slack routes to the agent whose knowledge you just trained.
Step 6: Disable Socket Mode
In your Slack app's sidebar, open Socket Mode and switch Enable Socket Mode to off. Do this before you touch the webhook — it's the single most common reason a Slack setup goes quiet, and it's invisible from every other page.
Socket Mode is an alternative delivery style: instead of Slack sending events to your webhook URL, your app holds a WebSocket open and Slack pushes events down it. Evoriqa listens on the webhook. So with Socket Mode on, Slack never calls your Request URL at all. And the Request URL still shows a green Verified badge, because verifying a URL and delivering to it are separate things. Everything looks correctly configured, and no message ever arrives.
If Slack was set up this way already, turning Socket Mode off is all it takes; you don't need to recreate the app.
Step 7: Turn on Event Subscriptions in Slack
Open Event Subscriptions and turn it on. Paste the Evoriqa webhook URL into the Request URL field. Slack sends a verification challenge, and Evoriqa answers it automatically, so the field verifies on its own, and every event after that arrives signed, with the signature verified on the way in.
Then, under Subscribe to bot events, add:
message.im: direct messages to the botmessage.channels: messages in public channels the bot has been invited tomessage.groups: messages in private channels the bot has been invited toapp_mention: someone tagging the bot with@YourBot
These pair up with the scopes from Step 3: subscribing to message.groups without groups:history won't deliver anything, and neither will the scope on its own.
Two things people miss on this page. First, the green Verified badge doesn't save anything on its own. Scroll down and click Save Changes, or the URL is gone when you leave. Second, if you added or changed events after the app was already installed, go to Install App and reinstall it to your workspace; Slack won't send a newly subscribed event type to an app installed before you added it.
Step 8: Invite the bot and ask a real question
Invite the bot to any channel it should watch by typing /invite @YourBot in that channel. Direct messages work as soon as the app is installed, no invite needed. Private channels work the same way, but you have to run /invite from inside the channel: nobody can add the bot to a private channel from the app settings, and it stays invisible to the bot until a member invites it. Then send the bot a DM, post in a channel it's in, or tag it with @YourBot.
Tagging works the same as a plain message: the bot's own @ handle is stripped out before the question reaches the AI, so it answers what you asked. And if the bot is in the channel, Slack reports a tagged message twice: once as a mention, once as a channel message. Evoriqa recognizes them as the same message, so it lands in your inbox once, not twice.
Within moments the AI answers right in Slack — a grounded reply pulled from your knowledge base — and the whole exchange shows up in your Evoriqa inbox as a conversation tagged Slack, so your team can follow along. If someone asks for a person (or the workspace is out of credits), the thread flips to needs a human: it enters the wait queue with its true arrival time, fires a desktop alert if you've turned them on, and the customer gets a quick note that a teammate is on the way.
Prefer a person on every message? Flip the AI replies toggle off for this channel on the Channels tab, and Slack goes human-first: the question lands flagged for a human, and the AI copilot drafts a suggested reply for your teammate to review, edit, and send back out in Slack on the same thread.
If nothing shows up
Each connected channel carries a status on the Channels tab, and it tells you which side of the connection to look at.
No messages yet means Slack isn't calling your webhook at all. Nothing has reached us, valid or otherwise. Work back through the Slack app: Socket Mode disabled, the Request URL actually saved, the app reinstalled since you last changed its events. For channel messages, check the bot was invited to that channel. It can't see a channel it isn't in, even with the right scopes. If it's a private channel, confirm you have both groups:history and message.groups, and that someone ran /invite from inside the channel.
Signature rejected is better news than it sounds: Slack is delivering, and the signing secret in Evoriqa doesn't match the one in your Slack app. Re-copy it from Basic Information → App Credentials.
Last message just now (or whenever the last one landed) means the connection is working end to end.
Take it further
- Point the AI at your internal IT and HR docs so every answer is grounded in the right policy, not a guess
- Every message is auto-tagged with intent, sentiment, and a lead score, and the copilot writes a handoff summary for whoever picks up a human-first thread
- Repeat askers merge into one contact timeline, so you see their whole history across every channel
- Add WhatsApp, SMS, Instagram, or email from the same agent, same knowledge, no retraining: the chat channels answer with AI by default, email stays human-first, all in one inbox
- The web widget and a voice phone line answer on their own too: instant, grounded replies with no human in the loop
- White-label it so replies read as your brand, not ours
Slack is where your team and community already talk, so let the AI answer every channel and DM by default, grounded in your docs — and flip to a human, backed by an AI copilot, whenever you want. Either way it all lands in one inbox. See the Slack channel page, or create your workspace free and add it to Slack today.