Skip to content

Slack#

Managed agents can connect to Slack for DM-based interaction and channel participation. Once connected, agents respond to direct messages, participate in team channels, and optionally trigger monitoring checks from specific channels.


How Slack integration works#

Slack is connected once at the organization level by an administrator, using a Slack bot with the required scopes (chat:write, im:write, im:history, channels:history, groups:history, users:read, app_mentions:read). With the organization-level connection in place, individual managed agents can be linked to Slack DMs or channels.

Each agent operates in one of two modes — Personal (DM) or Team (Channel) — and cannot be in both simultaneously.


Personal mode (DM)#

In Personal mode, one user links their Slack account to one agent for private conversation over Slack DM.

Once linked, the user DMs the agent the same way they'd message a colleague. Messages are bidirectionally synchronized between Slack and the agent's web chat — anything said in Slack is visible in web chat, and vice versa.


Team mode (channel)#

In Team mode, an agent participates in a shared Slack channel. Multiple team members can interact with the agent. Channel message routing follows these rules:

Trigger Agent response
@mention in channel Responds immediately in a thread
Reply in a thread the agent is in Continues the conversation in the thread
Top-level message (no mention) Classified automatically: respond, react with an emoji, or ignore
Message in a heartbeat trigger channel Queued for the next heartbeat cycle

For top-level messages without an @mention, a fast classification model evaluates whether the message is relevant to the agent. This prevents the agent from responding to every message in busy channels.

Passive channel learning#

Messages that are not directly addressed to the agent are queued for passive learning. The agent processes these in batches, using them to build context about team discussions, terminology, and ongoing work. The agent gradually learns from team conversations — even when not @mentioned.

Channel behavior#

In team mode, agents adapt their communication:

  • Responses are concise (the whole team sees them)
  • Detailed analysis goes in threads, not top-level messages
  • Messages are attributed with sender names (multi-user awareness)
  • Proactive warnings about risky changes are surfaced
  • Code is properly formatted

Personal mode vs. team mode#

Personal and team mode are mutually exclusive per agent. An agent is either DM'd by one user or participating in one channel — not both. Modes can be switched by unlinking the current one.

Personal mode Team mode
Where Slack DM Slack channel
Who interacts One user Multiple team members
Message routing All DMs go to the agent Classification gate filters relevance
Best for Personal assistant agents Team collaboration agents

Feedback on agent replies#

Agent replies in Slack can carry thumbs-up / thumbs-down buttons so the user can rate the answer. Feedback applies equally to Personal mode DMs and Team mode channel threads.

To avoid button fatigue, the agent only surfaces feedback when it adds signal:

  • Only on the final message of a turn (not on intermediate tool-use or progress updates).
  • On a cadence across the conversation — not every reply, and not for short acknowledgements, clarifying questions back to the user, refusals, or trivial lookups. A lightweight classifier decides whether a given reply is worth rating.
  • Only when telemetry is enabled for the organization — with telemetry off, buttons never render.

A click records a rating event (agent id, thread id, message id, up or down) through the same telemetry pipeline as the rest of the platform's events. Message content is not part of the feedback event — the rating is tied to the message identifier, so a feedback event on its own carries no Slack text. The buttons collapse into a brief acknowledgement and then clear, so the first rater's click settles the question for the thread.


Heartbeat triggers#

A Slack channel can trigger an immediate heartbeat check when a message arrives. This is separate from team mode — a heartbeat trigger channel is for event-driven monitoring, not conversation.

Each agent can have one heartbeat trigger channel with a configurable throttle interval (default: 60 seconds) that prevents the agent from triggering on every message in a fast-moving channel.

Typical use case: linking an incident channel as a heartbeat trigger. When someone posts an incident, the agent immediately runs its monitoring checks with the incident message as context.