The decision was made in a channel, and the record never heard about it
The Slack integration for agencies solves a specific and expensive kind of loss: shared channels are where half the decisions get made, and they are the half that never reaches the project. Six weeks later nobody can find the message where the client agreed to the extra page.
What connecting it changes
Slack, once it is connected
A designated client channel becomes part of that client’s record: what was said, what was decided, what follows. Replies are drafted in the channel rather than in an inbox nobody checks, and when the operator needs a human it sends you a direct message rather than waiting to be noticed.
Generated from the registry
Everything NeoAI can do with it
This list is not written by hand. It is the same catalogue of typed actions the operator executes through, so it cannot promise more than the product does — reads first, then the writes, each of which waits for a person.
Reads
Run unattended, scoped to what you designated for that client.
- Read a designated channelRecent messages from one channel this client has been designated by.
Writes
Every one waits for a named person to approve it.
- Post in a designated channelSends a message into a channel this client has been designated by, and no other.
- Send you a Slack DMMessages the person who connected Slack. There is no argument that could change who.
What it cannot do
- It reads the channels you designate for a client. It is not a workspace search and it cannot browse channels it has not been pointed at.
- It does not read your team’s private conversations, and there is no capability that could — the only message it sends outside a designated channel is a direct message to the person who installed it.
- Posting into a channel is a write and waits for approval, like every other outbound message.
- Threading is limited to posting into the channel; it does not maintain long branching thread etiquette the way a person would.
What this changes
Three specifics, rather than a feature list
One channel per client, named by you
Designation is per client and per channel. What the operator can read is exactly what you attached, which makes "can it see #general" a question with a short answer.
Decisions become record
An agreement in a channel is attached to the client and the project it belongs to, so the answer to "when did they approve that" is a date rather than an archaeology exercise.
It messages you, not everybody
When something needs a person, the operator DMs whoever installed the connection. The recipient is resolved from the connection itself, so there is no way to aim it at somebody else.
Why a designated channel rather than a workspace
A Slack workspace contains your team’s unguarded conversation about the client whose channel sits three rows below it. Any integration that can read the workspace can read that, and no amount of prompt discipline fixes a permission that is wider than the intent.
So the unit is a channel attached to a client. It is slightly more setup and it makes the scope answerable in one sentence, which is what an agency’s own client would ask if they knew to.
The notification that goes the other way
Most of what an operator does ends with a person deciding something. Slack is the second-best place to be asked — the best is the product itself — and a direct message to the installer is the one message here with no client in it at all.
That exemption is deliberately narrow. The destination is not an argument anywhere: it is resolved from the connected account, so the set of people reachable is exactly one and no workflow can widen it.
What this replaces
The habit of copying decisions out of Slack into a project tool, which nobody sustains past the second month. And the other habit — treating a channel as the record — which works until somebody needs to prove what was agreed.
Questions people ask about this
Can it read every channel in our workspace?
No. It reads the channels designated on a client and nothing else. There is no search capability and no way to enumerate channels it has not been given.
Will it post in a client channel unprompted?
Posting is a write and waits for approval. The drafted message is shown to you with the channel it would go to before anything is sent.
Who receives the operator’s notifications?
The person who installed the Slack connection. It is resolved from the connection itself rather than passed as an argument, which is what makes it safe to run without a client attached.
Does it work with Slack Connect channels shared with a client?
A shared channel behaves like any other channel the connected account can see: designate it against the client and it is in scope. Nothing else about it is special.
Last reviewed on . Something out of date or wrong? Tell us and it gets fixed.
Keep reading
Point it at one client and see what it prepares.
Connect a mailbox, designate the contacts for a single client, and read what the operator has drafted by tomorrow morning. Free to start, and nothing leaves without you.