Build an AI Assistant in Slack That Can Actually Do Things
The assistant should come to where work happens
Your team lives in Slack. A separate "AI portal" they must remember to visit will be ignored by week two. The pattern that sticks: an assistant that sits in Slack channels, answers when mentioned, and executes real tasks, because Slack is already open.
What "actually do things" means
The difference between a toy and a tool is system access. A useful Slack assistant can:
- Answer from real data: "@oido how many open orders for Customer X?" hits your database, not the model's imagination.
- Create and update records: file the Linear ticket, update the CRM stage, schedule the report.
- Run scheduled work: post the Monday morning sales summary at 8am without being asked, and flag anomalies in it.
- Escalate properly: when unsure, ask in-thread instead of acting, the thread itself becomes the approval trail.
Each capability is a tool connection. We wire these over MCP, which means the same agent that answers in Slack can use GitHub, Postgres, Notion, Linear, or any MCP server, see the full integrations list.
Guardrails that make it deployable
An assistant with database access needs rules, not vibes:
- Read-broad, write-narrow. Answering questions from any table is low-risk. Writing is allowlisted per action, per channel.
- Approval for consequences. Actions that touch customers or money post a summary and wait for a ๐ from a named role.
- Channel scoping. The assistant in #support sees support tooling; it doesn't answer payroll questions there.
- Every action logged with who asked, what ran, what changed. When someone asks "why did the CRM update?", there's an answer.
Slack-specific details worth knowing
Use a proper Slack app with granular bot scopes (not a user token), respond in threads to keep channels readable, and use ephemeral messages for "only you can see this" answers like personal reminders. Rate-limit outbound messages, an agent stuck in a loop posting to #general is a memorable way to lose organizational trust.
Where teams start
The first week's killer feature is almost always plain questions against internal data, the thing that previously required asking a colleague and waiting. Action-taking follows once the team trusts the answers. That trust curve is why we deploy read-only first, always.
A common on-ramp: post a scheduled report into the channel first, then let the assistant field the follow-ups on it. That's exactly the shape of automated production reporting, where the 6am summary arrives and "why is line 2 down?" gets answered in the thread.
This is the core of what our platform does across Slack, WhatsApp, and other channels, the same agent, wherever your team and customers already are.
Internal-facing versions of this show up in IT services and MSPs, where most tickets are really lookups, in education, where a thin admin team answers the same questions all term, and in media teams fielding the same community questions daily.