You put a Thai-language chatbot on your website or LINE account, and within a week it has quoted a price you do not charge. Or it answers a polite question in a tone that sounds like a form letter. Or a customer types in half Thai, half English, and it replies as if nobody had spoken.
None of this means the technology does not work. It means a Thai-language assistant has a few specific failure modes, and most of them are about your business information, not the language model. This guide covers what actually works, what goes wrong, and where a person should take over.
The short answer: what makes a Thai chatbot good
A good AI chatbot in Thai does four things. It answers from a source of truth that you maintain. It admits when it does not know. It matches the tone your customers expect. And it passes the conversation to a person at the right moment, with the context already attached.
Notice that only one of those is about Thai. The other three are the same in any language. If you take one thing from this article, take this: the quality of the answers depends far more on the price list and policies behind the assistant than on which model sits in front of them.
Thai-specific difficulties, honestly
Modern language models handle Thai well. That does not make Thai easy. Here are the difficulties worth planning for.
No spaces between words
Thai is written without spaces between words. Spaces mark the end of a phrase or sentence, not each word. A person reads this effortlessly. Software that tries to match keywords has a harder job, because it first has to decide where one word ends and the next begins.
For a modern language model this is mostly invisible. It matters when you add the old-fashioned pieces around the model: keyword search over your price list, rules that trigger on certain words, or reports that count how often customers ask about a topic. If your search tool was built for English and splits on spaces, it will treat a whole Thai sentence as one word and find nothing. Use search that understands Thai, or search by meaning rather than by exact words, and test it with real queries.
Politeness particles and register
Words such as ครับ, ค่ะ and นะคะ carry politeness, tone and, in speech, the speaker's gender. Customers notice when a business sounds wrong. A reply with no particles can read as curt. A reply loaded with formal phrasing can read as cold or as a bank notice.
Decide the persona deliberately. Choose the particle set, the level of formality and whether the assistant uses a name. Write it down in the instructions and test it. If a person takes over in the same chat, they should either match the style or introduce themselves clearly, so the customer does not feel the voice changed without warning.
Mixed Thai and English
Bangkok customers mix languages all the time. A message might say: ขอราคาล้างแอร์ 2 ตัว at Thonglor condo, วันเสาร์ได้ไหม. Product names, building names and brand names stay in English or in whatever spelling the customer prefers. An assistant must cope with that without switching language or asking the customer to rewrite.
The practical rule is to reply in the language the customer last used, and to keep product names the way your price list spells them.
Thai typed in Latin letters
Many people type Thai using English letters, such as "sawasdee krub" or "rakha tao rai". There is no single standard spelling, so there are many variants for the same word. Current models are reasonably good at reading these, but they are not perfect, especially for place names and short messages. Put real examples from your own chats into your test set. If a variant fails, add guidance for it rather than hoping.
Numbers, prices and dates
Customers write "1.5k", "หนึ่งพันห้า", "1500 บาท" or "หมื่นนึง". Dates can arrive in the Buddhist Era, so 2569 means 2026. Times may be "บ่ายสอง" or "14:00". An assistant that books or quotes needs to normalise these before it acts on them, and confirm back in a clear form: "Saturday 14 November, 14:00, 2 air-conditioners, ฿X. Is that right?"
The assistant is only as good as what is behind it
Here is the part that most demos skip. Suppose you ask a new member of staff for the price of deep-cleaning a condo, and nobody has told them. A decent employee says they will check. A language model, unless you tell it otherwise, may produce a plausible number. That number will be wrong, and the customer will screenshot it.
So before any model is involved, write the business facts down:
- A price list, with every service, size, add-on and exclusion, and the date it was last checked.
- Policies: cancellation, rescheduling, payment methods, deposits, what is and is not covered.
- Opening hours and service areas, including which BTS and MRT areas or districts you actually cover.
- Things the assistant must never decide, such as refunds, discounts, compensation and legal matters.
- Tone: the persona, the particles, the words you avoid.
We run a multi-channel assistant for the Rova brands, and that is how it is built: it answers customers on the website and through LINE, works from a maintained price book and the business's rules, and hands the conversation to a person when it should. It is our own system, so we can describe how it works but we will not hand you invented performance numbers. What we can say is that the discipline of keeping the price book current is the part that never ends, and it is the part that decides whether the assistant is useful.
If you want help writing that source of truth, that is a normal first step in our AI assistants work.
How to stop it inventing answers
An assistant makes things up when it is asked for something it does not have and nothing tells it to stop. Four controls fix most of this.
1. Look it up, do not recall it
Prices, availability and policies should come from a lookup against your price list or system, not from the model's general knowledge or from a long paragraph of text in its instructions. The model's job is to understand the question, call the lookup and phrase the result politely in Thai. If the lookup returns nothing, the assistant should have nothing to say about price.
2. Give it permission to not know
State plainly in the instructions that "I don't know, let me ask a colleague" is a good answer. Models tend to be helpful by default, and helpfulness without permission to refuse becomes invention. A good fallback in Thai is short, polite and honest, and it triggers the hand-over.
3. Forbid promises
Write a short list of things it may never say: a refund, a discount, a delivery date, a guarantee, a medical or legal claim. For anything on that list, the answer is always "a colleague will confirm".
4. Read the transcripts
Every week, read a sample of real conversations. You are looking for wrong prices, wrong tone, misread transliteration and places where a person should have been called. Each problem is fixed at the source, in the price list, the rule or the test set, and not by adding another sentence to the instructions.
When to hand over to a person
The hand-over is a feature, not a failure. It is what makes the rest trustworthy. Hand over when:
| Situation | Why a person should take over |
|---|---|
| Complaints and angry customers | Tone and repair need judgement |
| Refunds, discounts, compensation | These are decisions with money attached |
| Payment disputes or a missing PromptPay transfer | Needs checking against your bank records |
| Anything not in the price list or policy | The assistant would be guessing |
| Safety, health, legal or damage claims | Higher stakes than a chatbot should carry |
| The customer repeats themselves twice | The conversation is failing |
| The customer asks for a person | Always respect this immediately |
What a good hand-over looks like
The customer should not have to start over. The person who picks up sees the conversation, the customer's name, what they asked and what the assistant already said. The assistant tells the customer what will happen next and roughly when, using your real working hours. If you are closed, say so, and say when someone will reply.
Outside hours is where many setups fail. A customer at 22:00 gets a cheerful assistant that cannot answer and no promise of follow-up. Decide in advance what happens at night, and make the assistant say it.
A worked example: a cleaning enquiry in mixed Thai and English
Here is how a single enquiry should flow in a well-built setup.
- Customer: "สนใจล้างแอร์ 2 เครื่อง condo อารีย์ เสาร์นี้ได้ไหมคะ"
- Assistant identifies the service (aircon cleaning), the quantity (2 units), the area (Ari, near BTS Ari) and the day (this Saturday).
- Lookup: it checks the price list for the service and unit count, and checks availability for that Saturday.
- Reply in Thai, in the persona's particles: the price from the list, the available slots and a confirming question.
- Customer replies "ok 10 โมง".
- Assistant reads "10 โมง" as 10:00, confirms the booking details back and tells the customer how payment works.
- If the customer says "ลดหน่อยได้ไหม" (can you give a discount?), the assistant does not negotiate. It says a colleague will confirm and hands over with the context.
Every step is testable. Collect twenty or thirty real messages like this one, including the messy ones, and run them before launch and after every change to the price list.
Privacy and honesty with customers
Chat messages are personal data. Customers share names, phone numbers, building names and sometimes more than you asked for. Tell people they are talking to an automated assistant, keep only what you need to serve them, and decide how long transcripts are kept. Our guide to PDPA compliance for a website covers the basics in plain language; it is general information and not legal advice. Do not let the assistant ask for ID numbers, card details or passwords.
Choosing channels
Most Thai customers already use LINE, so a LINE Official Account is the natural front door. Others arrive through your website or WhatsApp. The sensible approach is one assistant behind all channels, using one price list, so a customer gets the same answer wherever they ask. Our guide to LINE OA automation in Thailand goes into the LINE side in more depth.
What it costs and how to start
DigitalRova's AI assistant project starts from ฿89,000, usually 3 to 5 weeks, scoped and fixed in writing after a free call. Model usage and hosting are third-party costs listed at cost in the proposal. See pricing for the full range.
A sensible start is small: write the price list, pick the twenty most common questions, build the assistant for those, and add a clear hand-over path. Widen it only when the transcripts show it is ready.
If you want to talk through your own customers and channels, get in touch and we will say honestly whether an assistant fits.