Skip to main content
Slack is where product feedback actually gets said. Squad pulls those messages in as signals, lets an agent read a channel’s recent history, and posts its own output back into Slack. It’s the only provider Squad can send anything to.
Slack integration settings

Connect

Approve the Squad app

Click Connect on the Slack card and approve the Squad app for your Slack workspace. You come back to the Slack detail page, which holds every setting below.

Invite the bot to your channels

Run /invite @Squad in each channel you want Squad to see, public or private. The bot only sees channels it has been invited to. Once it’s in, the channel appears under Capture Channels, with a lock beside the private ones.
If someone uninstalls the app or the token is revoked, the detail page shows a red Disconnected state with a Reconnect button. Capture, thread sync and notifications stay off until you use it.
Squad sometimes needs a Slack permission it didn’t ask for at install. Slack won’t grant one to an app that’s already installed, so the detail page shows an amber banner naming exactly what’s missing, and anything depending on those permissions does nothing until a workspace admin clicks Reconnect. Reconnecting keeps your capture channels and their settings.

Capture modes

Every channel the bot can see gets a mode.
No capture. The channel can still receive notifications.
Capture when someone reacts with :squad:, :squad-bug:, :squad-idea: or :squad-praise:, or when someone asks the bot directly.
Capture every top-level human message in the channel.
In an auto channel, prefix a message with the loudspeaker emoji to keep that one message out of Squad.
Two toggles sit alongside the mode and work independently of it. Notifications posts new insights, action proposals and signal spikes into the channel. Thread sync posts Squad’s analysis as a reply on the message it came from.

Capture on demand

Reply in a thread with @Squad log this as feedback and Squad captures the message you replied to, whatever the channel’s mode says. Pasting a permalink works too, as in @Squad capture this: https://…. Asking in a channel that has never been configured counts as consent, so Squad sets it to manual mode and captures the message. Captured messages become external sources and run the same extraction as everything else, so they end up as signals with a link back to the original Slack message.

Triggers

Slack declares no agent triggers, by design. Its own runtime handles Slack events (chat with the bot, emoji capture, mentions, thread sync), so they never reach the generic agent trigger dispatcher.A workspace whose only connected provider is Slack sees no integration trigger group in the agent builder at all. Slack still works as a source of signals, as a tool provider and as a delivery channel. It can’t start an agent run.

Tools

The tool only appears for agents that have Slack channels configured as sources, and it’s bound to exactly those channels. The agent chooses how far back to read on each run (a daily check reads 24 hours, a weekly digest 168), up to 90 days and 200 messages per call.
The Squad bot has to be a member of the channel or the tool comes back with an error telling you to invite it.

Delivery

Agent reports render as a Slack card and get posted into a channel, optionally as a reply in a thread. Notifications and thread sync use the same path.

A worked example

You run a #customer-feedback channel where support drops verbatim quotes. Set it to Auto so everything lands in Squad. Turn on Notifications so the channel hears about new insights, and leave Thread sync on so Squad’s read on each message shows up as a reply where the conversation already is. For a noisier channel like #general, use Manual instead and let people react with :squad: on the few messages worth keeping.

Limits

The bot reads only channels it has been invited to, public or private. The read tool needs the channel configured as a source on the agent, not connected at the workspace level. History reads cap at 200 messages and 90 days per call, and long results get truncated. Slack can’t trigger an agent.