Give the bot one job
The bots that work have a narrow brief. Ours is almost always the same: find out what the person needs, check they are a fit, and get a time on the calendar. That's it. Selling, negotiating, handling complaints and answering "is this covered by insurance?" are all jobs for a human, and the bot is told so explicitly.
A narrow brief makes the bot faster, cheaper to run and far less likely to say something you'll regret. It also makes the hand-off obvious: the moment a conversation leaves the brief, a person takes over.
What it is allowed to know
We give the bot a short knowledge base, usually one or two pages: services with plain-language descriptions, locations and hours, what happens on a first call, the qualifying questions and what a good answer looks like. Prices are included only if they are fixed and public. Anything else, the bot is instructed to say "I'll have someone confirm that for you" and tag the conversation.
Add one line to the prompt: "If the answer is not in your knowledge base, do not guess. Say a team member will confirm, and continue with booking." Guessing is where bots invent discounts and opening hours.
Hand-off rules
Hand-off is not a failure state; it's part of the design. In GoHighLevel we configure the bot to stop and alert a human when any of these happen:
- The customer asks for a person, in any wording.
- Price, refund or contract terms come up.
- The message contains a complaint or strong negative sentiment.
- The topic is medical, legal or financial advice.
- Three exchanges pass without progress toward a booking.
On hand-off the bot sends one honest line ("Let me get Emily to pick this up, she'll reply shortly"), a task is created, the conversation is starred, and the assigned rep gets a notification with the full transcript. During business hours the target is a human reply inside fifteen minutes.
Making it sound like you
Tone comes from examples, not adjectives. Telling a model to be "friendly and professional" produces the same beige voice every other business has. Instead we write ten short example exchanges in the client's real voice, including how they greet, how they confirm a booking and how they decline a bad fit. Those examples go into the prompt and the bot copies them.
Hi! Thanks for messaging BrightSmile. Are you looking for a check-up, whitening, or something that's bothering you right now?Bot, first reply
Got it, a check-up. Dr. Collins has Tuesday 10:30 or Thursday 2:00 this week. Which works better?Bot, after one qualifying answer
Two more rules: the bot never uses the customer's name more than once per message, and it never sends more than three sentences at a time. Both make it read like a person typing.
Testing before launch
Before a bot meets a real lead, we run a scripted test set of around forty conversations: the happy path, the price objection, the angry customer, the person who only speaks in single words, the one who asks a medical question, the one who tries to get it to say something silly. Every transcript is read. The prompt is adjusted, and the set runs again. It usually takes three rounds.
What to watch after
For the first two weeks someone reads every transcript daily. After that, a weekly sample. The numbers we track: percentage of conversations that reach a booking, percentage handed off, and time to first human reply after hand-off. A healthy bot books 30 to 50 percent of qualified conversations and hands off around one in five. If hand-offs are near zero, the bot is probably overreaching; if they're over half, the brief is too narrow or the knowledge base too thin.
Key takeaways
- One job per bot: qualify and book. Not sell, not negotiate, not handle complaints.
- Feed it a short, approved knowledge base. If a fact is not in there, the bot says a human will confirm.
- Hand off on price objections, complaints, anything medical or legal, and any time the customer asks for a person.
- Write ten example exchanges in your voice and use them as the style guide.
- Read every transcript for the first two weeks. Tune the prompt, not the customer.