Decide how every kind of message gets answered.

Every incoming message is matched to an intent first. Common questions get a fixed reply you wrote, with no AI involved. Booking requests show a booking card. Anything that needs a person goes to one.

Web chatMessage: "hi"Intent: greetingSend canned reply
Intentgreetingno guessing
LatencyNoneno round trip
CostNoneno tokens
AnswerAs writtennothing invented
Classify first, generate only if you must.
Before the modelSomebody typed hi, and nothing was generated

Messages are classified before any AI runs. A greeting has a fixed answer, so it is sent as written: no latency, no cost, and nothing invented.

The intent list

Every intent, grouped by what it does.

Intents are grouped by what they do, so you can see at a glance which questions are answered with no AI at all. When two intents could match the same message, the one with the higher priority answers, so a specific intent beats a general one.

NearSyncOperationsChat IntentsSearch, plan and askKAll hubs
Chat IntentsNew intent

Route visitor messages by intent before the AI runs. Greetings get canned replies, booking asks render a card, support requests escalate. Extend the taxonomy for your own domain.

Canned replySend a fixed text response. No AI call.
Supported regionssupported_regionsPriority 10Visitor asking which countries or regions you operate in.
Migration from another CRMcrm_migrationPriority 10Visitor asking whether they can migrate their existing CRM data in.
GreetinggreetingPriority 10Hi, hello, hey. A short opener with no real question.
Security and compliancesecurity_compliancePriority 25Visitor asking about encryption, standards or certifications.
Render a cardShow a booking card instead of a sentence.
Book a demobook_demoPriority 20Visitor ready to see it, with a time to pick.
EscalateHand the conversation to a person.
Support requestsupport_requestPriority 15Visitor with a problem that needs somebody, not an answer.

Common questions get a fixed answer.

Matching

Known questions never reach the AI.

Questions you have seen before get the exact reply you wrote, so the answer is never improvised.

  • Answer common questions with fixed text and no AI involved
  • Show a booking card when somebody asks for a time
  • Send the chat to a person when somebody has a problem
  • Let the AI answer only when nothing else matched
  • Set priorities so a specific intent beats a general one
"hi"Matched
Intentgreeting
Priority10
ActionCanned reply
AI callNone
Three actions
AnswerFixed text
BookingA card
ProblemA person
Lower priority winsso a specific intent beats a general one
Your own intents

Add intents for your own business.

The same intents work on your website chat and on WhatsApp.

  • Start from the built-in intents and keep the ones that fit
  • Add your own and give each one a priority
  • Write the exact reply each one sends
  • Point an intent at a booking card, or at a person
Your intentsAdded by you
Pricing for my sectorCanned
Do you integrate with XCanned
Where are you basedCanned
Book a site visitCanned
Each one has
A keyYours
A priorityA number
An actionOne of three
The same layer reads WhatsAppnot only the chat widget on your site
How it matches

Wording you listed is matched first, then the AI has a go.

Every intent carries the phrases your customers actually use. A message that contains one of them is matched on the spot, with nothing sent to a model. Everything else goes to the AI, which picks the closest intent from the examples you wrote.

Two passes
Wording you listedMatched at once
Everything elseThe AI chooses
Switched offNever matched
A phrase that will not work is skipped, never breaking the chat
From your writing

Answer from your help articles, and only the right ones.

Point an intent at the part of your help centre that belongs to it, so a delivery question is answered from your delivery pages and nothing else. The reply comes back with the articles it used, so you can see where every sentence came from.

Delivery question
ReadsYour own articles
Limited toThe ones you chose
Answer listsThe articles behind it
Narrow reading keeps the answer on topic
Handing over

A chat that needs a person opens a support ticket.

The visitor is told somebody is coming, the conversation is flagged for pickup, and a ticket opens in Support with the whole chat behind it. If they left an email, the ticket arrives attached to their contact. Ask for a person twice in the same chat and it stays one ticket.

Handed over
ChatFlagged for pickup
TicketOpened in Support
Asked againSame ticket
The kind of ticket and how urgent it is come from the intent

Access

Who can do what.

Anyone on the team can take over a chat that was passed to a person. Writing the replies the system sends on its own is a bigger decision, so fewer people can do it.

See

See every intent and what it answers.

Do

Take over a conversation that was passed to a person.

Manage

Write intents and the replies they send.

Admin

Change priorities and where escalated chats go.

Admin is the highest role and is not constrained by the permission grid, so it is worth keeping to the smallest group that genuinely needs it.

One visitor, start to finish

Four messages, one AI answer.

The greeting and the security question got fixed answers. The unusual question went to the AI, which answered from your own content. The booking request showed a card with real availability, and the slot they picked went onto the calendar and into the CRM at the same time.

A fixed reply, sent exactly as you wrote it. No AI involved.

Chat guides

See Operations on your own data.

Half an hour on the boards, fields and workflows your company actually runs on.