Three gates for a Hebrew service agent: when it answers, when it only gathers details, when it hands off. Why keyword intent fails and what it must never say.
Key takeaways
- Keyword-list intent classification fails in Hebrew almost immediately. One root yields dozens of inflected forms and one-letter prefixes attach to the word, so the same request arrives in ten valid spellings.
- The agent states no price, gives no commitment and names no date it cannot verify against a system of record in that moment. No careful phrasing makes any of those permitted.
- Latin identifiers inside a Hebrew sentence - order number, email address, SKU - are cut from the string in logical order and echoed back on their own line so the customer does not see them reversed.
- A date written 6/9/26 is not unambiguous in an Israeli conversation. The agent restates the date in words or asks, and never resolves it on its own.
- A handoff is an action with state, not the end of a conversation: it has an owner, a timestamp, and a summary written before the customer is asked anything they already answered.
A Hebrew service agent has exactly three permitted actions: answer from a retrieved source, gather details without answering, or hand off to a person. That choice is made before any text is generated, not inside it, and a message with no retrieved source leaves through the first gate and never comes back in.
Why keyword intent classification fails specifically in Hebrew
In English a word list survives for a while, because there are few surface forms. In Hebrew the same intent arrives in many forms, all of them valid, and all of them completely different at the string level.
- Rich inflection. One root produces many forms across tenses and persons, and each is a different string. A list covering some of them produces a classifier that looks fine until a customer phrases it another way.
- Attached one-letter prefixes. ו, ה, ב, ל, מ, כ and ש glue onto the following word with no space, so a plain substring search misses the very word it is looking for precisely when it appears inside a natural sentence.
- Short negation. The difference between asking for an action and refusing it is sometimes one two-letter word. A classifier that ignores negation triggers the exact opposite action.
- Defective spelling and typos. Customers write without reading aids, drop letters, and sometimes type Hebrew on a Latin keyboard layout and produce a meaningless letter sequence.
- Latin transliteration. Some customers write Hebrew in Latin characters. That is a perfectly ordinary message to the sender and a string bearing no resemblance to anything in your records.
The fix is not a longer list. It is to drop string matching in favour of semantic retrieval, and to make every answer conditional on a source having been retrieved. An agent that returns an answer with no retrieved document is not a weak agent - it is an agent with no gate.
When does the agent answer, and when does it only gather details?
It answers when three conditions hold together: a source was retrieved from the knowledge base, the source addresses the question that was asked, and the answer touches neither money, nor a commitment, nor the customer's own account data. If any one is missing, the action changes to gathering details.
Gathering details is neither a polite answer nor a refusal. It is an action with an output: predefined fields filled from the conversation, stored on the record, and passed to a person. The agent says plainly that it is collecting details and that somebody will come back, and does not impersonate an answer. The build walkthrough is in how to create a WhatsApp bot.
What gets collected in a typical Israeli enquiry:
- Name and phone number in one format, after normalising the common local forms and the international prefix.
- A transaction identifier - order number, invoice number or customer number - exactly as the customer typed it, uncorrected.
- The problem described in the customer's own words, not in the model's summary of them.
- What the customer already tried, because that is the first question the person would have asked anyway.
- Urgency as the customer stated it, not as the model estimated it.
Gate table: enquiry type, precondition, and what happens otherwise
| Enquiry type | May the agent answer? | Precondition | If the precondition fails |
|---|---|---|---|
| Opening hours and location | Yes | A value from system settings | Decline, never guess |
| Returns policy | Yes | A retrieved policy document | Gather details and hand off |
| Order status | Yes, after identification | An identifier found in the system | Ask for the identifier, then hand off |
| Price or discount | No | None | Gather details only |
| Delivery date | No | None | Gather details only |
| Account detail change | No | None | Immediate handoff |
| Complaint or explicit anger | No | None | Immediate handoff, no further questions |
| Binding professional question | No | None | Hand off, saying it needs a person |
The bottom three rows cannot be redefined by better phrasing. An enquiry touching an account, anger or a professional commitment leaves the agent, no matter how relevant the retrieved source looks. I build these for clients - see AI chatbot development.
What an agent never says: a price, a commitment or a date
These are the three things that turn a wrong answer into a financial loss, so they are blocked at the system level rather than in the instructions. An instruction in text is a request; a block in code is a rule.
- A price. Even when it is published on the site, a price is quoted by a person or from a live query to the pricing system in that second. A price the model remembers is yesterday's price.
- A commitment. A phrasing like we will handle this today is a commitment even with no numbers in it. The agent reports what is happening now, not what will happen.
- A date. A delivery date, a repair date or a meeting date comes from a system that holds a calendar. It has no other source.
- An interpretation of a document. The agent quotes a clause and points to it. It does not explain what that clause means for this customer's particular case.
- A number produced by arithmetic. A total, a VAT figure or a balance comes from the system that computes it. Doing arithmetic inside an answer is the short route to a wrong number that sounds authoritative.
Related: when an AI agent answers incorrectly, WhatsApp template approval, WhatsApp orders into a work queue.
How do you hand off without making the customer repeat themselves?
By making the handoff a record rather than a message. Before the agent tells the customer that a person will come back, a handoff record is written with an owner, a timestamp and a short summary of what is already known.
- A three-line summary in Hebrew. What the customer asked, what has already been checked, and the open question that remains.
- Identifiers quoted exactly. An order number or email is stored exactly as the customer typed it, on its own line, so both display and copy-paste work.
- One named owner. Not a group and not an anonymous queue. A queue with no owner is where enquiries disappear.
- A note of what the agent already said. The person needs to know what was promised in their name before they open their mouth.
- A clock. If the handoff is not picked up within a defined time it escalates to somebody else. Without a clock, a handoff is an archive.
The WhatsApp 24-hour window: why a slow handoff costs money
In Israel a large share of service enquiries arrive on WhatsApp, and that has a direct operational consequence for handoffs. Meta's documentation states that when a WhatsApp user messages you, a 24-hour timer called a customer service window starts; while it is open you can send free-form service messages, and when it closes you can only send pre-approved template messages. Another message from the user resets the timer back to 24 hours.
So a handoff left open for a full day changes what the person is even able to write. They will not be able to reply in free text, only in an approved template, and that is a completely different experience for the customer. The handoff clock in a Hebrew agent connected to WhatsApp is therefore a system constraint rather than a service nicety, and it should be set well below 24 hours.
Sources
Frequently asked questions
Can the agent answer on price if the price list is in the knowledge base?
Better not. A price list in a knowledge base is a copy, and a copy goes stale the moment somebody edits the source. If you do answer, it has to come from a live query to the pricing system during the conversation and be marked explicitly as correct as of right now.
What do you do with a customer writing Hebrew in Latin characters?
Route them the same way, but expect weaker retrieval and a higher handoff rate. What you must not do is silently correct what they wrote and carry on as if it was understood. If retrieval confidence is low the agent asks one short clarifying question, and if that does not settle it, hands off.
How do you stop the agent resolving a date written 6/9/26?
By storing a numeric date as a raw string rather than a value until it is confirmed. The agent restates the date in words and asks for confirmation, or asks directly. Automatic resolution looks right most of the time and creates a silent error on every date whose day component is 12 or less.
What share of enquiries should reach a person?
There is no universal right number; it follows from your own mix. The measure worth watching is the inverse: of the enquiries the agent answered, how many later needed a human to intervene. A high number means the gates are too wide, not that the knowledge base is weak.
Keep reading
Related service
WhatsApp Cloud API
Templates, a two-way inbox and reminders on the official Meta API.
About the author
Yehonatan Saadia
Freelance automation, web & MVP developer
I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.
Work with meHave a project like this?
Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.
