What Slack adds to Halo
Slack is the most common notification destination in Halo, plus a channel for AI agents to operate in:
Connect at Integrations > Slack.
Setup
Connecting
Click Connect Slack. You’ll be redirected to Slack’s OAuth consent screen. The required scopes include:chat:write— post messageschannels:read,channels:join,channels:history— read public channelsgroups:read,groups:history— read private channelsapp_mentions:read— react to @halo mentionsusers:read,users:read.email— identify Slack usersreactions:write— add reactionsim:history,im:write— direct messages with the agentfiles:read— analyze shared screenshots and imagescommands— the/haloslash command
Workspaces connected before the DM and vision features shipped need a one-time
reconnect to grant the new scopes. Everything else keeps working in the meantime.
Slack app configuration
If you manage your own Slack app for Halo, make sure it has:- Event subscriptions (bot events):
message.channels,message.groups,message.im,app_mention,member_joined_channel,app_uninstalled,tokens_revoked - Interactivity pointed at
/api/integrations/slack/interactions - Slash command
/halopointed at/api/integrations/slack/commands
Zero-setup: internal channels just work
In channels that contain only your org’s members, no setup is required. @Mention the bot and it answers as your team assistant (the same assistant as dashboard Ask AI and Slack DMs), with full access to your knowledge base and org data. It uses your configured DM agent, your first active internal agent, or the built-in Ask AI assistant, in that order. Mapping a dedicated agent (below) is optional: do it when you want channel-specific instructions, a customer-facing agent, or always-on response mode.Mapping channels
To have a specific Halo agent answer in a Slack channel, either:- From Slack (fastest): invite the bot with
/invite @Halo(or just @mention it in the channel). In shared channels, or when you have agents to choose from, the bot posts a setup card right there. Any Halo admin can complete it and the channel is live immediately. - From the dashboard: go to AI Agents > [Your Agent] > Channels > Slack and map the channels where the agent should respond.
#support to the support agent, #sales-questions to the sales agent).
Data access: internal channels vs. shared channels
The channel’s makeup decides how much data the agent may touch there. This is automatic and secure by default:
How it plays out:
- Bot added to a team-only channel → the setup card offers your agents; internal agents get full org context.
- Bot added to a shared channel (external members detected) → the setup card switches to a customer scoping card: a Halo admin searches for the customer, picks it, and hits Approve. Until that approval, the agent refuses to answer in the channel, so nothing can leak while it’s unconfigured.
- An external member joins later (“drift”): if someone from outside your org joins a channel where the agent had full context, the agent immediately pauses, flags the channel, and posts the scoping card. It won’t answer again until an admin scopes it to a customer. Approvals are one click and happen right in Slack.
- Once scoped, a channel never silently widens back to full context, even if the external members leave. Changing it back is an explicit dashboard action.
- Auto (default): follows the channel makeup as described above.
- Scoped to company: always limited to one customer’s data, regardless of who’s in the channel.
- Full (override): full org context even with external members present. This is deliberately dashboard-only, admin-only, and labeled with the risk; it can never be enabled from within Slack.
What a conversation looks like
- The bot reacts with an hourglass the moment it sees your message, and posts a short task-specific acknowledgement (“On it, pulling that account’s ticket history now.”) on the first message of an exchange.
- Replies render with real structure: title bars, dividers, aligned tables, and tappable links into the Halo dashboard.
- When it finishes, the hourglass flips to a checkmark (or an X if something failed).
- Rapid messages in the same thread are answered in order, never interleaved.
- Share a screenshot with your question and the agent analyzes the image directly.
Thread awareness
Once the agent is part of a thread (you mentioned it and it replied), you don’t need to re-tag it on every follow-up:- Follow-ups just work. Reply in the thread (“what about last month?”, “yes, do that”) and the agent answers.
- It knows when you’re not talking to it. If two humans start a side conversation in the same thread (mentioning each other, coordinating between themselves), the agent stays quiet. A fast classifier judges each un-mentioned reply before responding.
- A mention always wins. @mentioning the agent in any thread gets a response, no matter what.
Slash commands
Ingest mode
When ingest is on:- Channel conversations — messages in mapped channels feed the AI’s awareness of team context
- Channel history — on initial mapping, Halo can pull up to 500 historical messages from a channel, summarize them, and add as customer-scoped knowledge
Actions: post_message
The single Slack action lets an agent post messages into Slack channels. Configuration on the agent action card:- Default channel — the channel the agent posts to when not specified
- Allowed channels — optional whitelist of channels the agent can post to
- Customer-facing agent posts a summary into
#customer-successafter every escalation - Sales agent posts new lead alerts into
#new-deals - Support agent posts known-issue alerts into
#engineering
Notifications
Slack is the central notification sink in Halo. Configure notification routing on the Slack integration page:
Each type can be enabled or disabled independently with its own destination channel.
AI-enriched vs simple notifications
Halo notifications come in two flavors:- Simple — fire as-is (e.g. “New ticket #1234 from Jane Doe”)
- AI-enriched — Halo runs a summarization pass before posting, so the message includes context, root cause hypothesis, suggested response, etc.
Testing notifications
Click Send test notification on the Slack integration page to verify wiring. A test message goes to your default notifications channel.Slack DMs
Team members can DM the Halo app directly and talk to your internal agent — look up users and companies, pull ticket history, query metrics, search the knowledge base, and trigger enabled actions, all without a channel mapping. Security model:- Only members of your organization get replies. The sender’s Slack email must match a Halo dashboard user or your configured internal domains.
- Guests and Slack Connect users receive a polite refusal and never see data.
- DMs always run an internal agent; customer-facing agents are never exposed in DMs.
- Group DMs are not supported: the agent works in channels and 1:1 DMs only. If someone @mentions it in a group chat, it politely points them to a direct DM.
Where to go next
Agent Channels
Map Slack channels to specific agents.
Agent Actions
Enable post_message per agent.
Modes
Slack as notification sink for HubSpot, Stripe, PandaDoc, and more.