Chatbot Slack Integration: Setup, Permissions, and Human Handoffs

Adding a chatbot to Slack involves choosing the right bot, setting its permissions carefully, and deciding in advance when a human should take over. Here is how to design a Slack chatbot integration that works reliably and does not surprise users.

Updated 5 min read

A chatbot in Slack can answer FAQs, route requests, and handle repetitive queries that would otherwise interrupt a human every few minutes. Making it work reliably depends on three decisions made before you install anything: which bot fits the job, which permissions it actually needs, and when a human should take over. Tools like fenbs help teams keep the unresolved work, operating rules, and handoff context outside the message stream where they are easier to maintain and share with any connected assistant.

This guide covers selecting a Slack chatbot, setting permissions carefully, defining escalation, and keeping the decision record your team needs to maintain the integration over time.

Choosing the right Slack chatbot

Start with the job you need the bot to do. A bot that routes IT tickets needs different capabilities from one that answers onboarding questions or handles customer support. The simplest bot that does the job is easier to maintain and less likely to break unexpectedly.

Look for three things when evaluating options: how the bot is trained or configured (can non-developers update the responses?), how it handles questions it cannot answer (does it fail gracefully or leave the user stuck?), and how it escalates to a human (does it have a built-in handoff flow or do you need to build one?).

Some teams connect an AI assistant with a broad language model to Slack via a service like the Slack MCP server. Others use a dedicated support or FAQ bot. Either approach works; the differences are in how you manage the knowledge behind the answers. See AI chatbot for business for a broader overview of business chatbot options.

Setting Slack app permissions correctly

When you install a Slack app, you grant it OAuth scopes that determine what it can read and do. Request only what the bot needs. A FAQ bot does not need write access to channels it should only read from. A support bot that opens tickets does not need access to every channel in your workspace.

Common scopes for a chatbot integration and when you actually need them:

Common Slack bot scopes and when they are needed
ScopeWhat it allowsWhen you need it
app_mentions:readBot reads messages that mention itAlmost always; lets the bot respond to @mentions
channels:historyBot reads public channel message historyOnly if the bot needs to read past messages to answer questions
chat:writeBot sends messages to channelsWhen the bot posts responses in channels
im:writeBot sends direct messagesWhen the bot can message users directly
users:readBot reads workspace user listOnly if the bot needs to look up user details

Review permissions with your Slack workspace admin before installing. Scopes granted cannot be removed after approval without reinstalling the app. Document which scopes you granted and why, so the next person reviewing the integration understands the choices made.

Defining when a human should take over

A chatbot without a defined escalation path will frustrate users when it hits the edge of its knowledge. Define the triggers for human handoff before the bot goes live: user explicitly requests a human, the bot cannot answer after a set number of attempts, the topic is in an excluded category (billing disputes, sensitive complaints), or the message contains escalation keywords.

When a human takes over in Slack, the context from the bot conversation needs to travel with the handoff. Some bots can summarize the thread for the agent. Others pass a link to the original thread. Whichever approach you use, test it before launch and confirm the agent actually sees the context they need.

For a more detailed guide to designing the escalation moment itself, see chatbot and live chat integration, which covers what the agent should receive at handoff and what to do when no agent is available.

Keeping operating rules and unresolved work outside Slack

Slack messages age out of easy reach quickly. The decision about when to escalate, the list of topics the bot handles, and the recurring issues that need fixing are all things the next person maintaining the integration needs. Keeping those in the message stream means they will be hard to find when someone needs them in six months.

An outside record for rules and tasks also means a connected AI assistant can read them before a session reviewing bot performance or updating the knowledge base. The assistant does not need to search through channel history to understand how the integration is supposed to work.

How fenbs helps

Keep your Slack chatbot rules and unresolved work available

Record your chatbot's escalation rules and operating decisions in fenbs Decisions and rules. Add recurring issues and improvement tasks to the project board. Any connected assistant reads these before a review session, so the context for why the bot is configured as it is does not live only in someone's memory or a Slack thread from months ago.

Create a free account

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

How to do this with fenbs

  1. Create a free account and add a project for your Slack chatbot integration.
  2. Write the escalation rules as Decisions and rules: which topics escalate, what triggers handoff, and who is responsible for which category.
  3. Document the permission choices you made during setup and the reason for each. Add this as a context note so the next admin does not have to re-derive it.
  4. Add recurring issues the bot surfaces as tasks. Track them through to resolution.
  5. Connect your AI assistant over MCP from Integrations. Ask it to read the project context before sessions reviewing chatbot performance or updating configurations.

fenbs does not plug into Slack or your chatbot platform. It is the shared record for the people and assistants maintaining the integration: the rules behind the bot, the work it generates, and the decisions that shaped how it is set up. The integration itself lives in Slack and the chatbot platform; the thinking behind it lives in fenbs.

Questions people ask.

What Slack permissions does a basic FAQ chatbot need?

A FAQ bot that responds to @mentions typically needs app_mentions:read to receive messages and chat:write to respond. It does not need access to all channel history or the user list unless the specific feature requires it. Request only the scopes the bot actively uses, and document why each was granted.

How do I define when the chatbot should hand off to a human in Slack?

Define specific triggers before the bot goes live: user requests a human, the bot fails to answer after a set number of tries, the topic is in an excluded category, or an escalation keyword appears. Specific triggers produce predictable behavior. Test the escalation flow in a staging environment before releasing to users.

What context should the human agent see when taking over from the Slack bot?

The agent needs the user's original question, what the bot already tried, and the user's tone. Passing a summary or a link to the original thread before the agent's first message saves time and prevents the user from repeating themselves.

Where should I store the rules for how the chatbot operates?

Keep operating rules in a document or project record outside Slack, where they are easy to find and update. Slack messages age out of view quickly. A written record of escalation rules, permission choices, and recurring issues means the next person maintaining the integration does not have to reconstruct the context from channel history.

More in Connect your AI tools

All Connect your AI tools articles

Start with one thing.

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

There is nothing to set up first. Write one line and you’ve started.