CSM

Halo CSM AI Virtual Agents & Customer Chatbot.

This is the bot your customers actually talk to — deployed on your public website, answering from your own knowledge base, raising and updating real tickets, and handing off to a human agent with the full conversation intact when it can't help. Not a scripted decision tree, and not Halo's employee-facing IT chatbot: this is Halo CSM's customer-facing virtual agent, and every action it's allowed to take is named, scoped and switched on by an admin — not left to the model to decide.

Grounded / Your knowledge base, not generic AI Action-capable / Raises, checks & updates real tickets Handoff / Full context passed to a human agent
A Halo CSM customer portal with the AI virtual agent chat window open — the agent asks for detail, then confirms it has logged an incident and returns the ticket ID with a link to track it

Proof, not a promise

28% of a real customer's daily chats, resolved by AI

Most vendors show you a demo. This is what happened when a real customer put an AI virtual agent in front of real customers.

28%

Of Betfred's roughly 1,600 daily live chats were resolved by its Halo-powered AI virtual agent within six months of going live — across a digital team supporting 150,000 weekly active users.

Source: Halo customer case study, Betfred (HaloCRM)

53%

Of customers would consider switching to a competitor if a company used AI for customer service badly — and 64% would rather it wasn't used at all. Doing this well is not optional.

Source: Gartner, survey of 5,728 customers, 2024

The gap between those two numbers is grounding and control — an AI virtual agent that answers from your own content, does a defined set of things, and hands off cleanly when it should. That's what the rest of this page covers.

What it can actually do

A function catalogue, not a script

This isn't a general-purpose model bolted onto your website, improvising an answer to whatever a customer types. Halo's virtual agent works from a defined set of functions — each one named, and each one switched on individually by an admin. What ships out of the box:

  • Answer from the knowledge base — AI Search formulates a grounded response and surfaces the source article
  • Match the right service — searches the service catalogue and directs the customer to the correct request
  • Raise an incident — logs a real ticket in Halo once it has the details it needs
  • Check ticket status — reports on a customer's open tickets, or a specific one, with no portal login needed
  • Update a ticket — adds an update to an existing ticket, exactly as if the customer had done it themselves
  • Look up account details — returns what Halo already holds about the customer
  • Accept an attachment — a screenshot or document uploaded in the chat attaches straight to the ticket
  • Hand off to a human — ends the automated part of the conversation and starts live chat with an agent

Virtual agent functions

Set by an admin
  • Answer from the knowledge base ON
  • Match the right service ON
  • Raise an incident ON
  • Check ticket status ON
  • Update a ticket ON
  • Look up account details ON
  • Accept an attachment ON
  • Hand off to a human ON

Each function is switched on or off individually — with custom functions added on top.

Custom functions extend this further — built to call your own APIs or integrations, and connected to external systems via Halo MCP (Model Context Protocol) when your setup needs the virtual agent to reach beyond Halo's own data. This runs on the same AI foundation as the rest of the platform — see Halo AI → for the full platform intelligence story. Every function, standard or custom, can be switched off individually — see Trust, governance and handoff below for how that's controlled.

Building and controlling the bot

Configured, not just switched on

A virtual agent starts with an AI connection — Halo's own built-in OpenAI connection, free to use, or your own OpenAI or Azure OpenAI deployment if you want control over where the data goes. From there, an Instructions field (or a Prompt ID, if you're referencing a prompt already configured in your own OpenAI environment) sets its persona and rules — Halo recommends the Responses API, since the Assistants API is being deprecated in August 2026.

Chat Profiles & working hours

A Chat Profile controls access — restricted to authenticated portal users, or open to anyone — and Working Hours, so the bot only offers itself during a configured Workday rather than leaving customers talking to an empty loop overnight.

Bot Flow steps

Each step is configured individually, like a Halo workflow — send a message, search the knowledge base, log a ticket, start live chat, end the chat — so scripted steps and the AI-driven virtual agent step can sit in the same flow. A start-step override lets an embedded widget open straight at a specific step, e.g. a "Track my order" link on your site jumping directly to ticket status.

Web search & runbooks

When the answer isn't in your knowledge base, a custom virtual agent can be configured to search the web via a runbook rather than saying "I don't know." Runbooks can also trigger from any chat step, running an automation and steering the conversation on the result — kept short, since the chat pauses until the runbook finishes.

Deploying it to customers

On your website, not locked inside Halo

Every Chat Profile carries a read-only HTML embed script and a Global CORS whitelist, so the same virtual agent that lives on your self-service portal can sit on your public website, product site, or app — wherever your customers actually are.

Embed on any external website

A read-only HTML embed script adds the widget to any external site; the Global CORS whitelist restricts which domains can load it. Colour, light/dark theme, bubble position, size and icon are all configurable widget properties, so it's styled to look like it belongs on your site, not a bolted-on third-party tool.

Identity matching via JWT

A signed-in customer is matched to their existing Halo user record using a JWT identity token, so they aren't asked to log in again or re-identify themselves to start a conversation. Session storage keys can also auto-populate the chat's email or username field from your own site's SSO.

Self-service portal, by default

The same virtual agent sits inside the branded self-service portal without any extra setup — one more entry point for the same conversation, ticket history and knowledge base.

Microsoft Teams, for B2B accounts

For customers who run support through their own Microsoft Teams workspace rather than a public site, the same chatbot connects there too — useful where support is B2B, not a public consumer channel.

Trust, governance and handoff

Know exactly what the AI did

For most CX leaders, the real hesitation isn't whether AI can hold a conversation — it's whether they'll be able to see, prove and control what it did once it's talking to real customers. Halo's virtual agent is built around three answers to that.

  • Function restriction — an admin decides exactly which functions a virtual agent may call; anything you don't want it doing is switched off at the function, not left to the model's judgement
  • AI-created audit flags — every ticket, ticket action or knowledge article the virtual agent creates is flagged in reporting (faicreated, aacreated, kbaicreated), with the specific virtual agent's ID recorded against it, correlating to the VirtualAgent table
  • Handoff with full context — transfer_to_agent moves the conversation to live chat with a human agent without losing it, so the customer doesn't repeat themselves

Sentiment and at-risk flags can trigger that escalation automatically, not just on request — see Halo CSM Omnichannel for how AI reads the conversation across every channel. And every answer here comes from AI Search matching against your own knowledge base content — not a general-purpose model improvising with no source. Halo is SOC2 Type II, ISO27001 and Cyber Essentials certified, GDPR-compliant, and hosted in the UK on AWS.

An AI-written note on a Halo ticket setting out the issue, a summary of the conversation so far, key contributors, next steps and a suggested knowledge base article

Configured by Allied ESM

A virtual agent that's actually ready for customers

Every function on this page is configuration, not code. But a virtual agent switched on against a thin knowledge base, with no boundaries set, is how you get the 53% outcome, not the 28% one.

Knowledge readiness

Auditing and structuring your Halo knowledge base so the virtual agent has grounded, accurate content to answer from before it ever talks to a customer — not thin articles it has to paper over.

Bot flow & persona design

Building the Chat Profile, instructions and bot flow steps around your actual customer journeys — not a generic default that reads like it was written for nobody in particular.

Function scoping & guardrails

Deciding exactly which functions the virtual agent is allowed to call, and testing the boundaries on real conversations before it ever goes live in front of a customer.

Deployment & identity

Embedding the widget on your website, setting up the CORS whitelist, and configuring JWT identity matching so signed-in customers are recognised, not asked to identify themselves twice.

Allied ESM designs and configures all of this as part of a fixed-price Halo CSM implementation — so you know the full cost before work begins. Where you need custom functions or web-search runbooks built, Allied ESM can scope and deliver that as part of your project.

Frequently asked questions

AI virtual agents and the customer chatbot in Halo CSM — answered directly.

Will it hallucinate — how is it grounded?
It isn't a general-purpose model guessing at an answer. The knowledge function runs an AI Search against your own Halo knowledge base — the same vector-matching approach that powers Halo's AI ticket triage — and formulates a response from what it finds, surfacing the source article alongside it. If your knowledge base doesn't cover something, the agent can be configured to say so, hand off to a human, or, with additional setup, search the web via a runbook rather than inventing an answer.
Can it actually raise and update real tickets, or does it just answer questions?
Both. Alongside answering from the knowledge base, the standard function set includes logging a genuine incident once it has the details it needs, checking the status of a customer's existing tickets, updating a ticket with new information, and looking up what Halo already holds about that customer. These aren't simulated actions — they're the same ticket records your agents work from.
Can we limit what it's allowed to do?
Yes — this is function restriction, and it's controlled by an admin, not the model. Every function — raise a ticket, update a ticket, search the web, transfer to an agent, and so on — is switched on or off individually. If you don't want the virtual agent updating tickets, or want it restricted to answering questions only, that's a configuration choice, not something you have to trust the AI to police itself.
Can we put it on our own website, not just the Halo portal?
Yes. Every Chat Profile has a read-only HTML embed script for adding it to any external website, with a Global CORS whitelist restricting which domains can load it. Widget colour, theme, position and size are all configurable, and a signed-in customer can be matched to their existing Halo record via a JWT identity token so they're not asked to re-identify themselves.
Does it hand off to a human agent?
Yes — transferring to an agent is one of the standard functions, and it starts live chat with a human without losing the conversation. See Halo CSM Omnichannel for how sentiment and at-risk flags can trigger that handoff automatically, not just when the customer asks for it.
How do we know what the AI actually did?
Every ticket, ticket action or knowledge article the virtual agent creates is flagged as AI-created in Halo's reporting — the faicreated, aacreated and kbaicreated fields — with the specific virtual agent's ID recorded against it. You can report on exactly what the AI did versus what a human agent did, rather than inferring it from the ticket notes.
Does it need Halo knowledge base articles set up first?
For the knowledge function to be useful, yes — it's only as good as what's in your Halo knowledge base, because that's what it searches. A virtual agent switched on against a thin or outdated knowledge base will either give thin answers or fall back to raising tickets for things a good article could have answered. Allied ESM can audit and structure your knowledge base as part of implementation.
How much does Halo CSM cost?
Halo is priced on one all-inclusive monthly licence — AI virtual agents, the embeddable chat widget, and 250+ native integrations are all included, with named and concurrent licence options. See Halo's all-inclusive UK pricing →

Keep going: the rest of the Halo CSM story

This page covers the automated, AI-driven side of a conversation. See Halo CSM Omnichannel for how every human conversation — email, live chat, WhatsApp, SMS, phone and social — feeds the same queue. And Customer Self-Service & Help Centre for the branded portal and knowledge base that stops a conversation starting at all.

An AI Virtual Agent Your Customers Can Actually Trust

Knowledge readiness, bot flow, function scoping and deployment — Allied ESM configures Halo's AI virtual agent on fixed-price engagements, so you know the full cost before work begins.

Book a Consultation

Official Halo Partner

Allied ESM is a pure play Halo partner — licensing, implementation, consulting & managed services.