Slack
Where a lot of institutional knowledge actually ends up — decided in a thread, never written down anywhere else, and unfindable three weeks later.
Where a lot of institutional knowledge actually ends up — decided in a thread, never written down anywhere else, and unfindable three weeks later.
What Slack holds, and why that matters here
Slack has an awkward property: it is where decisions get made and context lives, and it is also where that context goes to disappear. Search works if you know roughly what was said and roughly when. Most people do not.
Connecting it is therefore less about notifications and more about recall — being able to ask what was decided about something and get the thread, in channels the asker can already read.
That last clause is the whole design. Slack permissions are meaningful; people say things in private channels precisely because they are private. An assistant that flattens that distinction is a serious problem, not a feature, so channel membership governs what an answer can draw on.
- Channel history — in the channels the asker belongs to, and no others.
- Threads — the decision and the reasoning around it, not just the conclusion.
- Pinned and saved items — what a team has already marked as worth keeping.
- Files shared in channel — within the same permission boundary.
- Handover — routing a conversation to the right channel or person.
Questions Elbi can answer from Slack
What was decided about this?
The thread where it was settled, if the asker can see it.
Has anyone hit this before?
Prior discussion, rather than asking the room again.
Who owns this?
What the channel record shows, not what someone assumes.
Where was that file shared?
Within channels the asker is already in.
What is the status of that piece of work?
The most recent update, in one place.
Who should I ask?
Routing, so the question lands once rather than three times.
How Elbi works with a Slack workspace
- A Slack app your admin approvesThe connection is a Slack app installed to your workspace by a workspace or org admin, who sees the OAuth scopes it requests before approving them: reading history in the channels it joins, and posting messages only if you want handovers. It holds nothing beyond what that approval screen lists.
- The app reads only channels it has been added toA bot reads a channel's history once the app is a member of that channel. That makes scope visible in Slack itself: the channels in scope are the ones where the app appears as a member, and removing it from a channel removes that channel from every answer.
- The asker's membership filters each answerThe person asking is matched to their Slack account by work email. Before a thread is used, Elbi checks that the asker belongs to the channel it came from; if not, the thread is left out, even though the app itself could read it.
- Threads are read as threadsA question such as "what did we decide about the vendor contract" is answered from the parent message and its replies together, with the channel and date and who posted the conclusion, so the reader can check the context for themselves.
- Handover into the right channelWhere posting is enabled, a conversation Elbi cannot finish is handed to people as a message in a named channel, with a short summary and the details gathered so far, so whoever picks it up starts with the context.
- DMs and Slack Connect stay outDirect messages are outside scope entirely. Channels shared with other organisations through Slack Connect are best left out too, since their members, and their obligations, are not all yours.
Slack scopes, channel membership and what stays yours
| Direction of access | Reading history in the channels the app has been added to. Posting needs a separate scope and a separate decision, and is used for handovers into named channels only. |
|---|---|
| Who can see what | The app's channel list sets the ceiling; the asker's own membership narrows each answer. Content from a private channel never reaches someone who is not in it. |
| Credentials | The bot token belongs to your workspace. An admin can remove the app or revoke its token whenever they choose, which ends the connection without involving us. |
| Where data goes | Messages are read from Slack when a question needs them and are not copied into another store. The content of Elbi's own conversation is destroyed within 24 hours, usually when it ends, and no external AI service sees it. |
| Audit | Each lookup is logged with the question, the channel and thread used, the agent and the conversation. Anything Elbi posts appears in Slack under the app's name, so it is never mistaken for a colleague. |
| If it is unavailable | If Slack is unreachable or rate-limiting requests, Elbi says it cannot check right now and offers a person, rather than answering from memory. |
What this replaces
What this replaces is the question asked into a channel where nobody answers, then asked again somewhere else, then answered by the one person who remembers — often incorrectly, because they are remembering rather than reading.
It also replaces a quieter failure: the decision that was made properly, recorded in a thread, and then repeated from scratch months later because nobody could find it. That is not a memory problem, it is a retrieval problem, and retrieval is what this is for.
What it does not replace is documentation. A thread is evidence of a decision, not a policy. Anything that should be authoritative belongs in a document — and the assistant should be answering policy questions from that, not from chat.
How different teams use a Slack connection
Engineering
Prior incidents and the reasoning behind a fix.
Support
What was promised to a customer, in the thread where it was promised.
Operations
Status updates that were posted once and scrolled away.
New joiners
Context that exists but was never written down.
Project teams
Decisions, with the discussion that produced them.
Management
Where something stands, without interrupting to ask.
Getting value from Slack
The first channels worth connecting are rarely the busiest. They are the ones where decisions are recorded: an incident channel, a project channel with a steady habit of summarising, a support escalation channel where commitments to customers are made. A short list of those gives better answers than the whole workspace.
The first questions follow from that list: what was decided, has this come up before, who owns it. They work best in channels where people reply in threads, because a thread keeps a decision next to its reasoning. Channels full of unthreaded chatter give weaker answers, and it is worth knowing that before choosing them.
Handover is the natural second step: a conversation Elbi cannot finish, posted into the channel where the right team already works. Posting into many channels, or on a schedule, is where an assistant starts to feel like noise.
What connecting Slack involves
- Choose the channels by nameStart from the questions people ask and the channels where the answers are. Write the list down; it becomes the app's membership and the scope a reviewer will look at.
- Approve the app and its scopesA Slack app is set up for the connection and a workspace or org admin reviews the scopes it requests before installing it. Where your workspace requires app approval, this is the step that goes through it.
- Add the app to the agreed channelsThe app is invited to each channel on the list and to no others. Anyone on your side can see where it is from the channels themselves.
- Link Slack identities to Elbi sign-inPeople are matched between your identity provider and Slack by work email, so channel membership can be checked for every question. Guest accounts are handled explicitly rather than by default.
- Rehearse the edge casesA thread in a private channel the asker has since left, a decision reversed further down a thread, an archived channel, a file shared somewhere the asker cannot see, Slack slowing requests down.
- Start with a few channels, then addRead a month of real questions against the first channels before adding more, and switch on handover posting once reading has earned trust.
Personal data in Slack history
Slack holds personal data casually: a colleague's mobile number pasted into a channel, a customer's details in an escalation thread, a note about someone's sick leave. Under the Saudi Personal Data Protection Law, making that history answerable is a new use of it, which is why the channel list stays short and direct messages stay out.
Two points are particular to Slack. Your workspace's own retention settings still apply, so whatever Slack has deleted, Elbi cannot find. And a handover Elbi posts is a Slack message from that moment, kept under those same Slack settings, while the conversation inside Elbi is destroyed within 24 hours.
What organisations typically see
Slack's own AI, and where Elbi fits
Slack offers its own AI features, including answers in search and summaries of channels and threads, and Workflow Builder for automating routine steps without code. For recall that stays inside Slack, those are the natural first thing to evaluate.
Elbi fits when Slack is one source among several: when "what did we decide" should be answered alongside the policy document that records the outcome, or when employees and customers ask in Arabic and English outside Slack and part of the answer sits in a channel. It also covers the opposite direction, handing a website conversation into the channel where your team works.
The mistakes are the same with any tool: connecting every channel because it is possible, letting chat stand in for policy, and forgetting the difference between a channel the assistant can read and a channel the asker belongs to.
Common questions
Only those the person asking is already in. Channel membership governs every answer — an assistant that ignored that boundary would be a serious problem, not a convenience.
No. Direct messages are outside scope entirely, and we would advise against changing that.
Yes, and for a first deployment we recommend it. A short list is easier to reason about.
Only if you enable that, and it is a separate decision. Reading is the useful half.
No. Read at the moment of the question, within the asker's own permissions.
No. A thread records a decision; a document states a policy. Policy questions should be answered from your approved material, not from chat.
No. The connection is an app installed in your workspace with the scopes your admin approved. Removing the app or revoking its token ends it at once, without going through us.
The app can be installed for the whole organisation or into individual workspaces, and the channel list is agreed for each one. Guests, shared channels and archived channels are decided explicitly rather than left to defaults.
No. The app reads only channels it is a member of, so the scope is visible in Slack itself. Removing the app from a channel takes that channel out of Elbi's reach straight away.
Connect Elbi to your Slack workspace
Answers from the channels you choose, and handovers into the ones your team already works in.