Skip to content

Assistant in Slack

Ask Kitbase questions in plain language, in the channel where your team is already talking. "How did the pricing page do last week?" "Which posts are getting cited by ChatGPT?" "Why did signups drop on Tuesday?" You get the answer in Slack, so nobody has to open a dashboard, find the right chart and paste a screenshot back into the conversation.

It is the same assistant that lives in the Kitbase dashboard — same data, same abilities. Slack is just a second place to reach it.

Two ways to talk to it

  • Send it a direct message. Open a DM with the Kitbase app and type. This is one running conversation, so you can follow up — "and the week before?" — without repeating yourself.
  • Mention it in a channel. Type @Kitbase at the start of a message in any channel it has been invited to. It replies in a thread under your message, so two people can ask about different things in the same channel without the answers getting tangled.

It only speaks when spoken to. In a channel it never sees a message that does not mention it.

It can never do more than you can

Every answer runs as your Kitbase account, checked against your own permissions at the moment you ask. If you cannot delete something in the dashboard, you cannot get the assistant to delete it for you in Slack either.

Setting it up

If you are the admin: connect Slack once

1

Connect the workspace

In Kitbase, go to Organization → Integrations and connect Slack. Slack will ask you to approve the Kitbase app for your workspace. Approve it within 5 minutes of pressing connect — after that the link expires and you start again from the same button.

If your organization already uses Slack for notifications, you are most of the way there — but see the warning below.

2

Invite the bot to the channels you want to use it in

In each channel, type /invite @Kitbase. The bot cannot see — or answer in — a channel it has not been invited to.

3

Tell each channel which project it is about

Type /kitbase in the channel and follow the button. See Pointing a channel at a project below.

Connected Slack before the assistant existed? Reconnect it.

An older connection was never given permission to receive messages, so the bot will post notifications perfectly well and simply never answer anyone. Nothing about that is visible from inside Slack, so Kitbase flags the integration as needing a reconnect and refuses to connect accounts or channels against it, rather than letting them quietly go nowhere.

Reconnecting is the same connect button, walked again. It updates the connection you already have, so everyone's connected accounts and every channel's project survive it. Deleting the integration and starting fresh does not — that takes both with it. Notifications keep working either way.

If you are everyone else: about 30 seconds

1

Say something to the bot

Mention @Kitbase in a channel, or send it a direct message. Anything will do.

2

Tap 🔑 Connect Kitbase

The bot replies with a message only you can see, holding a 🔑 Connect Kitbase button. It opens Kitbase in your browser.

The button works once and expires after 10 minutes. If you lose it or it goes stale, just ask the bot again — every ask hands you a fresh one.

3

Confirm it is you

The page shows which Kitbase account you are signed in as, and what you are agreeing to. If that is the wrong account, use Not you? Use a different account. Then press Connect.

4

Pick the project — if you started in a channel

When you tapped the button from a channel, one more step follows: choose which project that channel should talk about. Whatever the channel is already pointed at comes preselected, so most people just press Connect channel.

Started in a DM instead? There is no page for this — the bot asks you right in the chat with a project menu the first time you ask it something.

5

Go back to Slack and ask

That is it. Ask your question again — the one that started all this was not kept.

You connect your account once per Slack workspace, not once per channel.

Pointing a channel at a project

Every answer is about one Kitbase project, so each conversation has to be pointed at one.

Type /kitbase anywhere, any time, to set or change it:

  • In a channel, you get a private 🔑 Choose project button that opens the same short Kitbase page. This works even in channels the bot has never been invited to.
  • In a DM with the bot, the project menu appears right there in the chat. Pick one and you are done.

When a channel's project changes, the bot says so in the channel — "Talking about Marketing site here from now on." — so nobody is left reading numbers for a project they did not expect.

A channel is shared, a DM is yours

Changing what a channel talks about changes it for everyone in the room, so it needs permission to manage the organization's integrations — normally an admin. If you do not have it, Kitbase says your account is connected and to ask an admin.

Changing what your own DM talks about needs no permission at all. Any member can do it.

Admins can also see and change every channel's project from Organization → Integrations, without going near Slack.

Approving actions

Most of what the assistant does is read-only and simply happens. Anything that would change or delete something — removing a brand, prompt, topic or webhook, cancelling a run, renaming a project — stops and asks first:

Update project

{"name":"Docs site"}

Approve Deny

Worth knowing:

  • Only the person who asked can answer it. In a channel the buttons sit in front of everybody, but the action would run as your account, with your permissions and your name on it — so a colleague pressing Approve is refused.
  • It waits for all of them. If the assistant wants to do two things, both get a prompt and nothing runs until both are answered.
  • Denying is a real answer. The assistant is told you said no and carries on from there, usually by suggesting something else.
  • Once decided, the buttons disappear, so nothing can run twice.
  • It waits as long as you need. You can approve something the next morning. The request survives restarts and updates. After a week it expires and you ask again.

While a question like this is unanswered, the assistant will not take a new message in that conversation — answer it and it carries on.

What the answers look like

The answer arrives a piece at a time, in one message that grows as it is written, the way it does in the dashboard. Tables, headings, lists and code all render as Slack markdown.

Along the way you also see what it is doing. Each step the assistant takes — reading an audit, looking up keywords, starting a crawl — appears as its own card that turns from running to done, or to failed, with a line about what came of it. The cards stay under the answer, so a report that took six steps still shows all six. They are collapsed by default; open them when you want to check the working.

If something goes wrong — a rate limit, a spend cap, a step that failed — it says so in the same message, along with whatever it did manage.

Under a finished answer are Helpful and Not helpful buttons. Pressing one records what you thought of that answer, which is how we find the questions the assistant is answering badly. Nothing else happens: it does not reply, retry, or tell the channel.

Files

Ask for something to keep — "write up last week's site audit as a PDF", "give me those numbers as a CSV" — and the assistant writes the file and uploads it into the conversation. It can produce PDF, Markdown, CSV and plain text.

Workspaces connected before file support existed were never given permission to upload, so the assistant posts a link to the file in your dashboard instead. Reconnect Slack from Organization → Integrations to get files in the thread.

Disconnecting

Disconnecting is your own decision and needs no admin.

  1. In Kitbase, click your avatar (top right) and choose Settings. You land on your Profile page.
  2. Find the Connected chats card. Each row is one chat account that can speak for you — it shows your Slack name, the workspace, the organization it answers for, and when it was connected.
  3. Press the trash icon on the row and confirm Disconnect this chat account?

The effect is immediate: the assistant stops answering as you everywhere in that workspace. Nothing else changes — the channels your team set up keep their projects, and everyone else's connections keep working.

To connect again later, just talk to the bot as if for the first time: it hands you a fresh 🔑 Connect Kitbase button. That is also how you move your Slack account to a different Kitbase account or organization — disconnect, then connect again with the other choice.

Disconnecting yourself is not removing Kitbase from Slack

This only unhooks your account. Removing the app from the whole workspace is an admin action, under Organization → Integrations.

What it will not do

  • It does not read your channels. Only the messages that mention it, and the DMs you send it.
  • Editing a message changes nothing. Fixing a typo does not re-ask the question — post a new message.
  • It cannot open files you attach in Slack. Use the dashboard assistant for those.
  • It answers one question at a time per conversation. A second message while it is still working gets a private "one moment" rather than a second answer.
  • It does not carry context between places. A DM and a channel thread are separate conversations.
  • A very long conversation eventually loses its beginning. It reads back a long way — dozens of exchanges — but not forever, and the detail of what a lookup returned fades before the questions do. If something matters beyond the conversation, ask it to remember that: a remembered fact comes back on every future question about the project, in Slack and in the dashboard alike.

Slack app configuration

For self-hosters

Kitbase Cloud users can skip this — the Slack app is already configured. This is only for teams running their own Kitbase and their own Slack app.

Point your Slack app at your Kitbase API. All three URLs use the same base as SLACK_REDIRECT_URI in your configuration:

Slack app settingRequest URL
Event Subscriptionshttps://your-kitbase-domain/api/integrations/slack/events
Interactivity & Shortcutshttps://your-kitbase-domain/api/integrations/slack/interactivity
Slash Commands → /kitbasehttps://your-kitbase-domain/api/integrations/slack/commands

Create the slash command as /kitbase — for example with the description "Choose which Kitbase project this conversation is about".

The app needs these bot token scopes:

ScopeWhy
app_mentions:readSee messages that mention the app in a channel
im:historySee direct messages sent to the app
chat:writePost, stream and edit its answers
users:readShow who approved an action, by name
channels:read, channels:join, groups:readPost notifications into channels
commandsOffer the /kitbase slash command
files:writeUpload files into the conversation (optional — without it, a file becomes a dashboard link)

Adding commands needs a reinstall

Slack grants scopes once, when a workspace installs the app. A workspace that was installed before commands was added will not show /kitbase until it reauthorizes — reconnect Slack from Organization → Integrations.

Frequently asked questions

Why did nothing happen when I mentioned the bot in a channel?

Almost always because the bot is not in that channel. Slack only tells an app about mentions in channels it belongs to, so from the outside it looks like the bot is ignoring you.

Type /invite @Kitbase in the channel, then mention it again.

Why does it say my account is 'not an active member' of the organization?

The Kitbase account signed in to your browser is not a member of the organization that connected this Slack workspace. The message names the organization, which is usually enough to spot what happened.

Three common causes: you are signed in with a personal account instead of your work one — use Not you? Use a different account on the connect page; you were never invited to that organization — ask an admin to invite you; or your invitation is still sitting unaccepted in your inbox — accept it first, then try again.

The connect link expired. Now what?

Ask the bot again, or type /kitbase. Each ask hands you a brand-new link. They are deliberately short-lived — 10 minutes, one use — so an old one scrolled up in a channel cannot be picked up by someone else later.

Who can see the bot's answers?

In a channel, an answer to a mention is a normal threaded reply — everyone in the channel can read it, the same as any other message.

Setup prompts, refusals and 'one moment' notices are private: Slack shows them to you alone and they vanish when you reload.

In a DM, only you ever see anything.

Can the bot see messages that do not mention it?

No. In a channel, Slack only delivers the messages that mention @Kitbase — everything else never reaches Kitbase at all. It does not read channel history, so each question stands on its own plus whatever was already said to the assistant in that same thread or DM.

Why can't I change which project the channel talks about?

A channel is shared, so pointing it at a project changes what everyone in the room gets answers about. That takes permission to manage the organization's integrations — normally an admin.

Ask an admin to run /kitbase in the channel, or to set it under Organization → Integrations. Your own DM with the bot is yours to change freely.

How do I point my DM at a different project?

Type /kitbase in the DM with the bot. It posts a project menu right there in the chat — pick the new project and it takes effect immediately. No permission needed.

Do I have to connect my account again for every channel?

No. You connect once per Slack workspace, and it works everywhere in that workspace — every channel and your DM. Choosing a project is the per-conversation part.

How do I disconnect?

In Kitbase, open your profile settings → Connected chats and press Disconnect. The assistant stops answering you in Slack straight away. You can connect again later by talking to the bot as if for the first time.

Does my teammate see the same numbers I do?

Not necessarily. Every answer runs as the person who asked, with that person's own Kitbase permissions. If your colleague cannot see billing in the dashboard, the assistant will not read it out to them in Slack — even in the same channel, even asking the same question.

What does approving an action actually mean?

It means 'yes, do that, as me'. The assistant only asks before something that changes or deletes data. Approving runs it under your account, with your permissions, and your name is recorded against it.

Denying is a real answer too — the assistant is told no and carries on, usually with a different suggestion. Only the person who asked can press either button.

More than one organization uses our Slack workspace. Which one answers me?

The one you chose when you connected. If you belong to several organizations that have connected the same workspace, the connect page asks you to pick one, and that choice decides whose data the assistant reads for you.

To change it, disconnect under profile settings → Connected chats and connect again.

I fixed a typo in my question. Why didn't it answer again?

Edits are ignored on purpose — otherwise correcting a word would run the whole question a second time and bill you twice for it. Post a new message to ask again.

Can it read a screenshot or spreadsheet I drop in Slack?

No — it cannot open files you attach. Use the assistant in the Kitbase dashboard for those. It can, however, create files for you: ask for a PDF or CSV and it uploads one into the conversation.

The /kitbase command does not exist in our workspace.

The workspace was connected before the command existed. Ask an admin to reconnect Slack from Organization → Integrations — that reauthorizes the app and the command appears. Everyone's connected accounts and every channel's project survive a reconnect.

I removed the app in Slack and added it back — now it never answers.

Removing the app revokes the keys Kitbase was given, so Kitbase marks the workspace disconnected. Adding the app back inside Slack does not hand Kitbase new keys — the assistant hears you but cannot answer.

An admin fixes it in one step: press Reconnect Slack under Organization → Integrations. Everyone's connected accounts and every channel's project survive.

Use Reconnect, not Disconnect: disconnecting deletes everyone's connected accounts and every channel's project, and the whole team starts over.

Next steps

  • Assistant — the same assistant in the dashboard, and everything it can do.
  • MCP Server — the same tools, from Claude or any other MCP client.
  • Events & notifications — the other half of the Slack integration.

Released under the MIT License.