Skip to main content

What an agent is

In Halo, an agent is a persistent, configurable AI persona. Each agent has its own:
  • Identity, name, avatar, type (customer_facing, internal, sales, help_center).
  • Instructions, system prompt that defines tone, scope, and behavior.
  • Skills, opt-in capabilities like web search and UI highlighting (knowledge search is always on for customer-facing agents). Voice and Live Help are configured as widget modes on the Chat Widget channel, not as skills.
  • Channels, where the agent runs: web widget, email mailbox, Slack workspace, help center.
  • Actions, third-party tools the agent can call: HubSpot, Linear, Stripe, Slack, plus built-ins like ticket escalation and Stripe billing.
  • Escalation rules, when and how to hand off to a human.
  • Style, colors, trigger icon, greeting, suggested messages.
You can have multiple agents and Halo picks the right one based on the channel a message arrives on. Most teams start with one support agent and optionally add a sales agent (the setup wizard prompts for either or both, you only need one to continue). Find your agents at AI Agents in the sidebar (/dashboard/agents).

Agent types

TypeUsed for
customer_facingDefault. Handles customer questions in the web widget, email, and Slack.
internalTeam-facing assistant for staff. Different tone, no escalation.
salesPre-sale qualification, demo scheduling, lead capture. Often paired with the sales-specific agent template.
help_centerEmbedded in your published help center site for self-serve search and chat.
The default support agent for an org (used in fallbacks like help-center chat with no explicit agent assigned) is the oldest active customer-facing agent.

The agent editor

Open an agent (/dashboard/agents/[id]) and you’ll see: Top tabs — switch between sections:
TabWhat’s there
ChannelsWhere this agent runs: chat widget, email, Slack
ConfigureName, instructions, voice, Live Help, human mode, onboarding, chat routing rules
StyleColors, trigger icon, header avatar, highlight presets
Train”Live Train” — practice mode using the real agent in a sandboxed widget
ActionsTicket escalation, Linear bug filing, Stripe billing, plus per-integration actions
Data SourcesStructured “Primary Goal”, “Ideal Customer”, and “Boundaries” appended to instructions
IntegrationsHigh-level org integration context for this agent
Header, Save button. An agent’s status is derived automatically from its channels: if at least one channel is enabled the agent is Active; with no enabled channels it’s Inactive. There’s no manual on/off toggle. Inactive agents don’t respond on their channels. The widget falls back to the next active agent on that channel, or returns nothing if there’s no fallback.

The default support agent

Whenever Halo needs to pick “the” agent — for example, the chat widget on your help center, or fallback action resolution — it uses the oldest active customer-facing agent in your org. This usually matches what teams expect (the original support agent everyone knows about). If you create new customer-facing agents and want one of them to take over, deactivate the old one or assign channels explicitly to the agent you want.

Multi-agent setups

Common patterns once you have more than one agent:
PatternSetup
Support + SalesTwo agents on the widget, routed by page URL filters or by widget mode. Sales agent appears on marketing pages; support inside the app.
Per-product agentDifferent agents for different product lines. Use page URL filters or visibility filters on each agent.
Per-region agentDifferent language/tone per region. Use visibility filters to scope by user/company segment.
Internal + customer-facingOne internal agent for staff, one customer-facing agent for users. Internal agent runs in your team’s Slack only.
Linear agentA dedicated agent connected to Linear that replies to dev comments on tickets it created. See Linear.

Visibility & routing

Customer-facing agents can be scoped to specific users, companies, or pages:
  • Require authentication — only show to identified users.
  • User segment filters — only show when the user’s traits match (e.g. plan = pro).
  • Company segment filters — only show when the company’s traits match.
  • Page URL filters — only show on URLs matching include/exclude rules (is, is_not, contains, starts_with, ends_with).
You can also build chat routing rules that, mid-conversation, hand off to a different agent or directly to your team based on conditions.

Where to go next

Instructions & Behavior

Write the system prompt that defines tone, scope, and rules for your agent.

Skills

Turn on capabilities like knowledge search, ticket creation, and UI highlighting.

Channels

Connect the agent to web widget, email, or Slack.

Escalation

Decide when the agent hands off to a human.

Actions

Let the agent create deals, file bugs, or trigger billing changes.

Voice & Live Help

Add voice mode and a real-time video avatar.