Connect Slack
Slack needs a bot token starting with xoxb- and a signing secret, then your callback URL pasted into Event Subscriptions.
Browse topics
What it is
Slack turns your chatbot into a colleague. Someone direct-messages the app, or mentions it in a channel, and the answer comes back in the same thread — which makes this the most popular channel for internal knowledge: policies, onboarding questions, "which form do I use for that".
The card asks for two values from a Slack app you create in your own workspace: a Bot token and a Signing secret. The bot token is the one that starts with xoxb-; it is what Agentency uses to post replies. The signing secret is how Agentency verifies that an incoming event genuinely came from Slack.
Slack belongs to the group of platforms that go live the moment you connect but still need one manual step: you must paste Agentency's Callback URL into your Slack app's Event Subscriptions. Until you do, the card says Connected and nothing ever arrives.
When you would use it
Use this for internal help desks and team-facing assistants, where the audience already lives in Slack and nobody wants another browser tab. It works for customer-facing use too, in a shared channel with a client.
You need permission to create and install an app in the workspace. In many companies that is a workspace-admin approval, so plan for it.
Where to find it
Open Dashboard → Chatbots → your chatbot → Integrations → Messaging and click the Slack card.
Steps
- Create an app at Slack's developer site and install it to your workspace. The View official setup guide link in the drawer takes you straight there.
- In OAuth & Permissions, copy the Bot User OAuth Token. It begins with
xoxb-. Do not copy the user token that begins withxoxp-— the form rejects it. - In Basic Information, copy the Signing Secret.
- In Agentency, open Integrations → Messaging → Slack, paste both values, and press Connect. Agentency verifies the token with Slack before saving.
- The drawer now shows One last step and a Callback URL. Copy it.
- In your Slack app, open Event Subscriptions, turn it on, and paste the URL into Request URL. Slack immediately sends a challenge to confirm the address; Agentency answers it automatically, so the field should show as verified within a second or two.
- Still in Event Subscriptions, subscribe to the bot events for direct messages and channel messages. Without a subscription Slack sends nothing at all.
- Reinstall the app if Slack asks you to, then direct-message the app in Slack and confirm you get an answer.
- Check the thread in Conversations to be sure it was recorded.
What you will see
The connect form has four numbered steps, the official-guide link, and a note telling you which message events to subscribe to.
Once connected, the badge reads Connected and the panel shows Connected as followed by the bot name and your workspace name — a quick confirmation that you pasted the token from the right workspace. Below that is the warning panel titled One last step with the callback URL and a copy button, plus lifetime message and user counts.
The drawer footer has Test connection and Disconnect. Test connection re-checks your stored token with Slack and reports whether it is still healthy. It does not test whether your Request URL is set, so a healthy test with no incoming messages points at Event Subscriptions.
What the chatbot answers
- Direct messages to the app.
- Mentions of the app in a channel it has been added to.
It deliberately ignores its own posts (so two bots cannot talk each other in circles), and it ignores message edits, deletions, joins, and similar housekeeping events. Ordinary chatter in a channel where the app is present but not mentioned is left alone.
Long answers are split into several messages, since Slack caps message length. Incoming text is trimmed after about 2,000 characters. A file, image, or audio clip with no text gets a short reply saying the chatbot reads text only.
Limits and plan notes
Slack needs a plan with integrations, messaging enabled for this deployment, an Active chatbot, and a free slot under the connected-app cap shown on the Connected channels card. See Messaging channels availability if the card is locked or greyed out.
Each answer spends message credits at your chatbot's live model rate (1X = one credit; see Message credits), the same as the website widget. Slack itself does not charge for this.
Both values are stored encrypted and never shown again. Reconnecting replaces them without using a second slot. Disconnecting stops answers immediately and clears the credentials, but does not remove the Request URL from your Slack app — clear that yourself if you are finished.
Common problems
The card says Connected but nothing happens in Slack.
This is the normal first-run mistake. Either the Request URL was never pasted, or it does not match the callback URL now shown in the drawer, or you have not subscribed to any message events. Work through all three. Also confirm the chatbot is Active — a paused chatbot is silent on every channel.
Slack says the token is invalid, or the form refuses it.
The token must be the bot token starting with xoxb-. A user token or an app-level token will be rejected by the form before it is ever sent.
Slack cannot verify my Request URL.
Make sure you copied the whole URL, including everything after the domain, and that you are pasting into a Slack app whose Event Subscriptions page is switched on. Copy it again from the drawer rather than from a chat message or a note — a truncated URL is the usual culprit.
Mentions in a channel are ignored.
The app has to be a member of that channel. Add it, then mention it again.
Replies stopped after someone reinstalled the app.
Reinstalling can issue a new bot token. Open the card, press Reconnect, and paste the current token.
Answers arrive but look chopped up.
That is deliberate. A long answer is split into Slack-sized messages rather than being truncated.
Common questions
Which Slack token does the card need?
The Bot User OAuth token that starts with xoxb-. A user token starting with xoxp- is rejected by the form.
Does the chatbot read every message in a channel?
No. It answers direct messages and mentions in channels it belongs to. Its own posts, edits, and joins are ignored.
Why does nothing arrive after I connect?
The callback URL has to go into Event Subscriptions as the Request URL, and you must subscribe to message events.
Do mentions work in any channel?
Only in channels the app has been added to. Invite the app to the channel, then mention it again.
Replies stopped after someone reinstalled the app.
Reinstalling can issue a new bot token. Open the card, press Reconnect, and paste the current token.
Was this article helpful?
Related articles
Connect Discord
Discord answers through a slash command, not free-form chat. Paste the bot token and 64-character public key, then set the endpoint.
Other messaging apps
Ten apps share one grid, one connected-app cap, and three post-save patterns. Pick a platform here, then follow its own guide.
Messaging channels availability
Three conditions decide whether a messaging app can connect: your plan, the deployment rollout, and the platform itself.
The conversations list
One chatbot's inbox: summary cards, nine filters, and a nine-column table of every thread that produced a message.
Ready to try it on your own content?
Create a free workspace, add a document, and ask the questions your team is tired of answering.