WhatsApp AI chatbot for business: what actually decides if it works
WhatsApp is not a channel you add. It is a permanent, personal, one-to-one thread in the customer's own language, and that changes which decisions matter.
A reply from your shop lands in the same list as messages from the customer's mother, their landlord, and the group chat about dinner. Then it stays there. Nobody archives a shop thread and nobody deletes it, so whatever your assistant writes today is still on screen next March when that person messages you again. That permanence should decide how you set this up, not a feature comparison. Every message here is one to one, written in the language the customer thinks in, and impossible to take back.
There is no soft launch on the number printed on your receipts
You are not opening a new channel. You are handing an assistant the number already on your receipts, the one customers have saved under your business name. There is no way to route ten percent of it to the assistant and watch what happens. There is no staging copy of a phone number. The first message it answers is a real customer, and a wrong answer is now part of a thread that person keeps.
Deleting does not rescue you either. Remove a message and the app leaves a line saying a message was deleted, in the position where the wrong answer was, which draws more attention than the mistake did. Assume everything you send is permanent, because in practice it is.
So rehearse where mistakes are cheap. The shareable test link and the website widget run the same assistant against the same imported catalog and the same cards, and how to run that rehearsal — who should do the typing, and why it should not be you — is dealt with where setup is. Two things about it are specific to this channel. Run it in the languages your customers actually write in rather than the one your cards are written in, and run it for days rather than an afternoon, because this is the only staging environment a phone number will ever offer you.
The bar is not perfect. It is burning off the mistakes that are embarrassing rather than merely unhelpful. An assistant that admits a detail is not something it holds, and offers to fetch somebody, is dull and safe. One that invents a return window is a screenshot on its way to a group chat. Because there is nothing behind the catalog and the cards for it to reach for, nearly every bad answer narrows down to a card that is wrong or a card nobody wrote. Both of those you can read and fix in a few minutes.
The echo loop that gets numbers into trouble
WhatsApp delivers your own outgoing messages back to your integration. Every reply you send arrives again a second later as an inbound event that looks much like a customer message. If nothing filters those out, the assistant reads its own reply, answers it, and then answers that. This does not happen in a sandbox. It happens on a live number, in a thread the customer is watching, at whatever speed the two systems can manage.
The guard is easy to describe and easy to get subtly wrong. Every inbound event carries a flag saying whether the message came from your own number. The correct rule is to drop anything not explicitly marked as someone else's, including a payload that does not say either way. Wrong in that direction costs you one unanswered message. Wrong in the other direction has no natural stopping point.
Ask any vendor exactly how that guard works: which field they read, and what they do when the field is missing or the payload shape changes. "We handle that" is not an answer. The same mechanism is what lets someone on your team reply from their own phone without the assistant treating it as a new question, so it is worth understanding before you connect the number rather than after.
Answer in the language they wrote in
A customer who writes to you in Hebrew should get Hebrew back. Not English with an apology, not a request to switch languages, not a machine translation of a sentence you wrote six months ago. Starly replies in the language of the message it received. Language is a per-message decision, not a per-customer setting: the same person may open in English, switch to Arabic when they get specific about a size, and drop a Latin-script product code into the middle of it. A sentence with an English brand name in it is still Arabic.
Right-to-left scripts have their own failure modes, and they are visible at a glance. Punctuation ends up on the wrong side of the line. A price or a product code in Latin characters breaks the direction and reorders the words around it. Formatting that looks tidy in English, bullet lists and bold runs and arrows, renders badly and reads as machine output to someone who writes that way daily. Plain prose in short paragraphs survives all of this. Test it on a phone, not on your laptop, because the wrapping is where it breaks.
Then there is the part that is not translation at all. A customer in Israel asking about free shipping needs the threshold in shekels, the number you actually use, not a converted dollar figure with a rounding error in it. Sizes, delivery windows, holidays and payment methods have to be expressed in the terms that customer lives in. Write those numbers into your knowledge cards as the numbers you charge, and the reply carries them across unchanged.
This is why a translated template is not the same thing as a reply written in the language. A template answers the question you predicted, in phrasing native speakers do not use, and it cannot absorb the second question sitting in the same message. Translate fifty templates and you have fifty sentences that are each slightly off, plus a maintenance job every time a policy changes. One more practical note, and the rule behind it belongs to the page on writing knowledge: keep each card in one language and let the assistant do the crossing over.
Nobody uses a menu on WhatsApp
On a website you can get away with a widget offering four buttons. On WhatsApp people type the way they talk: one long sentence with two questions in it, a product name spelled wrong, and a photo attached. Numbered menus die here. So does any assistant that answers the easier question and quietly drops the other one, though that failure is not peculiar to WhatsApp and is taken apart on the page about why customers hate chatbots. What this channel adds is that there is no second window to reopen. The half-answered question sits in a thread the customer keeps, so they either type again with less patience or put the phone down, and the abandoned version is invisible to you.
People also send one thought per bubble. "hi", then "do you ship to Haifa?", then "and how long does it take", all inside ten seconds. That is three inbound events and one question. An assistant that fires on each of them produces three replies talking over each other, which is the most machine-like thing this channel can do. Ask your vendor whether they wait for a pause before replying and how long that pause is, then send yourself a three-bubble burst and count the replies.
One structural difference worth knowing if you sell on Shopify: there is no storefront page to open here, so a purchase conversation ends with a cart permalink the customer taps rather than a cart sliding open. The rest of that behavior belongs on the Shopify page.
What happens when they send a photo
Customers send pictures constantly: a damaged item, a screenshot of an order confirmation, the shelf they are trying to match a color to. The behavior to require is an assistant that says plainly it cannot see the picture and asks them to describe it, or hands the thread to a person. What you do not want is silence about the image and a confident answer to the text around it, because that reads as the shop having looked at the photo and agreed with the customer about it. That is the kind of misunderstanding you find out about a week later, in an argument about a refund.
A caption is a different case. If the photo arrives with words attached, the words are the question and get answered normally, provided the answer does not depend on the image. "Is this the large one?" under a photo does depend on the image, and the honest reply says so. A wordless photo, a voice note or a dropped pin should get a short line that admits the limit and asks for words, and nothing else. Reactions and stickers are gestures rather than messages and are best left alone: replying "I can't read that" to a thumbs up is worse than saying nothing at all. Check how a vendor behaves on each of these before you connect the number, because it takes four test messages.
Handoff has to happen in the same message
That an assistant should never ask permission before fetching a person is a general rule, and it is argued where handoff is. What this channel changes is the size of the penalty. The customer is in a one-to-one thread with a number saved under your shop's name, and until something breaks the illusion they broadly believe they are messaging a person. Asking permission announces that they were not, at the moment they most needed help, and then charges them a round trip you may not get back for an hour, because nobody sits in front of a WhatsApp thread waiting the way they sit in front of an open widget.
So the assistant should say a person is picking this up and alert your team in the same turn, rather than negotiating about it. What makes this channel different is the takeover itself, which is literal here in a way it is not anywhere else: somebody on your side opens the same thread on their own phone and starts typing, in a conversation the customer has been in the whole time. There is no transfer screen, no new ticket, no visible seam except the one your writing creates. That is also exactly the case the echo guard above has to get right, because your colleague's messages leave from the same number the assistant answers on. Which situations should fire a handoff at all, and where the alert should land, belong to the page on handing conversations to humans.
Rate limits, soft bans, and why you never broadcast from this
A 429 from a WhatsApp provider does not mean what a 429 from a normal API means. It is not a request to slow down and try again shortly. It is the platform throttling your number for sending too much, and the remedy is to stop sending from that number for a day or two. Retrying makes it worse. An integration that treats it as a transient error and backs off politely for thirty seconds is doing the one thing guaranteed to extend the problem.
There is a second timing rule underneath all of this that shapes what an assistant can even attempt. On the WhatsApp Business Platform, free-form replies are only permitted inside a window that opens when the customer writes to you and closes roughly a day later. Past that window you cannot simply send a sentence; you send an approved template or nothing. For an assistant answering questions this is mostly invisible, because it replies within seconds of being written to. It becomes visible the moment you imagine catching up on yesterday's unanswered threads at nine the next morning, which is precisely the thing an owner is most likely to want to do and least likely to have checked. Ask your provider where that boundary sits and what happens to a reply that misses it, because a message your system accepted and the platform refused looks identical in a dashboard.
What gets numbers restricted is rarely volume inside conversations customers opened. It is unique recipients you contacted first, and a lopsided ratio of messages sent to messages received. Replying to inbound is the safe shape of this channel. Blasting a promotion to a saved list is the unsafe one, and an assistant is the wrong tool for it: fast, tireless, and pointed at people who did not write to you. Starly has no broadcast or campaign sending at all, and that is deliberate. If you run campaigns, run them from a system built for it and keep them off the number your customers use to reach you.
Four things worth watching in the first month:
- A 429 from your provider, which means stop for a day or two rather than retry
- Messages your system reports as sent that never show as delivered
- Customers saying they wrote and got nothing while your transcripts show a reply
- A number pushed straight to full volume in week one instead of warmed up over several days
That third line is the one people miss. A reply that failed to send still sits in your dashboard looking exactly like one that arrived. Starly stores the whole thread and, behind each reply, a record of what happened when it was sent, so when a customer insists they heard nothing, open that record rather than the conversation view, which will show you a message that looks perfectly delivered.
One number, one voice
If your team also replies from that number, and on WhatsApp they usually do, then two writers are producing messages in one thread under one name. Customers notice the seam exactly when they are already annoyed. The assistant is patient and writes in full sentences. The human at the end of a long day is three words and a full stop. The switch reads as being handed to someone who cares less, which is the opposite of what a handoff is for.
Agree the tone once and write it down in one place the assistant reads and your team can read too. Decide the specifics rather than adjectives: whether you open with a greeting, whether you use the customer's first name, whether you use voice notes, how you apologize, how you say no to a discount request. Twenty minutes and one page of text. Then reread it after a month, because the version your team actually uses will have drifted, and the assistant should follow your team rather than the other way around.
Three shops that should keep this off their number
The first is the shop whose WhatsApp is mostly order chasing. The assistant answers from your product catalog and your written policies and cannot look up an individual customer's order, so it will explain your normal shipping window honestly and then hand the thread to a person, which is where those messages already were.
Two more cases where the answer is no. If what happens in your WhatsApp is genuine negotiation, custom quotes and terms argued message by message, an assistant answering from fixed facts gets in the way of the deal rather than clearing it. And if your policies live only in your head, the assistant will correctly say it does not know and hand off, which is honest and worth very little. Writing the cards is the actual work. It takes an afternoon, and no setup method removes it.
There is a commitment cost too, and this channel charges a higher rate for it than any other. Whatever reading habit you settle on elsewhere, WhatsApp wants it daily for the first fortnight, because every reply you do not catch is a reply that stays legible to that customer indefinitely. If nobody in your shop will sit down with the threads each evening, do not point this at the number on your receipts. Leave it on the website widget, where a bad answer is seen by one visitor who closes the tab, instead of sitting in a conversation that person keeps for a year.
Common questions
Do I need a separate WhatsApp number for the AI?
No. Starly answers on the WhatsApp number your shop already uses, the one printed on your receipts. That is the point, and it is also the risk: there is no gradual rollout on a phone number. Rehearse on a shareable test link and the website widget first, using the questions and languages you actually get, and connect the live number once the answers stop embarrassing you.
Will it reply in my customer's language, including Hebrew or Arabic?
Yes. Starly replies in the language of the message it received, including right-to-left scripts. The facts come from your imported catalog and your written knowledge cards, so write prices and thresholds there as the numbers you actually charge, in your own currency, and keep each card in one language rather than mixing two.
What happens when a customer sends a photo on WhatsApp?
Starly answers from your catalog and your written cards, so it cannot judge a photo. What you should require of any assistant on this channel is that it says so and asks the customer to describe the item, or hands the thread to a person. The failure to test for is an assistant that ignores the image and answers the text around it, which reads to the customer as the shop having looked.
Can my team take over the same WhatsApp thread?
Yes, that is how takeover works here: when a handoff fires, Starly sends the message you configured and alerts your team by flag, email or phone, and someone on your side opens the same thread on their own phone and types. This is also why the echo guard matters. Confirm with any vendor that messages sent from your own number are filtered out, so your team's replies are not read as new customer questions.
Can I use it to send WhatsApp broadcasts or promotional campaigns?
No. Starly has no broadcast or campaign sending. It replies inside conversations a customer started. Messaging many recipients who did not write to you first is what gets business numbers restricted, and a 429 from a WhatsApp provider means stop sending from that number for a day or two rather than retry.