Feature
WhatsApp bots that qualify, book and hand off to your team
Naffes CRM gives you a visual flow editor for WhatsApp bots: button-driven questions that render as native WhatsApp buttons, AI answers for anything the script does not cover, in-chat appointment booking and a clean handoff to a person. Everything the bot collects is written to the CRM record and moves the deal.
What a CRM-native WhatsApp bot is for
Inbound leads often arrive after hours, sometimes straight from an ad that opens a WhatsApp chat. The first reply matters most, and your team is not online at midnight. A stand-alone chatbot can answer, but its answers stay in another tool, so the rep asks the same questions again the next morning.
A Naffes bot runs inside the CRM. Take a clinic running a campaign for dental consultations. A patient taps the ad and writes a greeting. The bot replies, asks which treatment they are interested in with tappable buttons, collects name and preferred date in a short form step and creates the lead; its AI turn then books a consultation with the coordinator who owns the thread. When the coordinator opens the conversation, the answers are already on the contact, the deal is already at the consultation stage, and the contact page shows which ad brought the patient in.
How you build a bot in Naffes
Open the bot settings
Go to Settings > Automation > AI Bot and click New bot. A workspace can run several bots.
Pick a starting point
Start from one of four bilingual templates (appointment booking, general sales qualification, medical-tourism qualification, real-estate lead qualification) or from an empty flow.
Shape the flow
Fill in the template's variables, then open the conversation flow to add and reorder steps in the visual editor. There is also an Edit as JSON mode for people who prefer to work on the raw flow.
Give the bot a persona
In the AI settings, write the persona (the instructions that set the bot's role, tone and boundaries), the greeting and the model, plus working hours and an away message.
Switch it on
The bot starts answering inbound WhatsApp messages and keeps going until a person takes over or the flow reaches a handoff step.
Every step holds an Arabic and an English text. You can fix the flow's language, or let it follow the customer: Arabic script gets Arabic replies, Latin script gets English. Numbers typed on an Arabic keyboard are understood in price and quantity answers.
Working hours are optional. Without them the bot answers around the clock. With them, a message that arrives outside the hours gets the away message, and the flow resumes with the customer's next message inside the hours.
The building blocks of a flow
| Step | What it does |
|---|---|
| Message | Sends a fixed text |
| Ask (text) | Asks a question and saves the typed answer to a field |
| Ask (buttons) | Offers options the customer taps |
| Form (several questions) | Collects a sequence of answers in one go |
| Send file/image | Sends a price list, brochure or floor plan |
| Branch | Routes the flow on conditions such as equals, contains, greater than or is empty, with an otherwise path |
| Set field | Writes a value to a record field |
| Capture lead | Creates the lead in the CRM |
| Move stage | Moves the deal to a named pipeline stage |
| API call | Calls an external system, for example to check availability |
| Scheduled wait | Pauses for a set time before the next step |
| AI reply | Hands the turn to the AI |
| Hand off | Ends the flow and passes the thread to a person |
| End | Ends the flow |
For each question you decide what happens when an answer does not match: repeat the question, or pass the message to the AI.
AI answers with guardrails
When a customer writes something the script has no branch for, the AI replies in the bot's persona, with its greeting and the model you chose. You can also leave the flow empty and run on the persona alone, but buttons for the questions that decide qualification plus AI for general questions gives you cleaner data.
- Asking for a human hands the thread over at once.
- Nonsense messages go to your team instead of drawing more automated replies.
- Loop detection: repeated identical messages, or too many bot messages without a customer reply, stop the bot and hand over.
- Voice notes are transcribed, so the bot reads spoken answers like typed ones.
- Hidden numbers: customers who hide their number behind a WhatsApp username can still be answered, and a switch in the editor makes the bot ask for a phone number.
Scripted steps such as questions, buttons and branches run without AI. If AI is not configured for the workspace, a message the script cannot handle goes straight to your team instead of waiting for an answer that never comes.
Booking and handing off
The bot can book an appointment mid-conversation. The result is a real meeting in Naffes with the thread's owner as host; if that rep has a booking page, the customer gets its link and picks the slot instead. The meeting gets an in-app video room when the workspace has video set up, and the booking moves the deal to the consultation stage.
To step in, an agent clicks Take over; the bot stops answering that thread until the agent clicks Return to bot, and AI reply suggestions are available while the agent types. The handoff moment is also something you can build on:
- The Bot handling view in the inbox separates what the bot is running from what waits on your team.
- A bot-handed-to-a-human trigger in workflows can alert a channel or create a task.
- The Team alerts package installs ready workflows that notify the team on every handoff. The Medical tourism package adds pipelines, lead sources, lost reasons, custom fields, a qualification bot, workflows and web forms.
- With the Pro help desk, a handoff can open a ticket automatically; this setting is off by default.
Measuring the bot
Each step in the flow editor carries a count of the conversations that reached it (the last 30 days by default), which shows exactly where customers stop answering. If half the conversations stop at the budget question, move it later. The manager dashboard adds the bot-to-human handoff rate next to first human response time, which tells you whether the bot is taking load off the team or only delaying it.
Limits and what to expect
- Bots answer WhatsApp only. SMS appears as an option in the editor, but SMS threads never get a bot reply, and Instagram and Messenger bots are still labelled coming soon.
- You need an approved WhatsApp sender on your workspace's own Twilio account.
- Booking during the chat is done by the bot's AI, so it needs AI configured. It also needs an owner: an unassigned thread books nothing until someone claims it. Overlapping meetings are allowed and only noted on the meeting.
- Menus with more than 10 options appear as numbered text.
- Re-engaging leads who stop replying after a bot message is not on by default. It is switched on per workspace on the server, so ask support if you need it.
Questions
Questions 4
Can one bot serve Arabic and English speakers?
Yes. Each step stores both texts, and the flow can follow the script the customer writes in. All four ready templates come in both languages.
Do I need a developer?
No. Flows are built from ready steps in a visual editor, usually starting from a template. JSON editing and the API call step are there if you want to connect the bot to another system, but neither is required.
What if the customer wants a person?
The bot hands the thread over as soon as the customer asks for a human and stops replying there. The thread shows up for your team in the inbox, and a workflow can alert whoever is on duty.
Does the bot work on Instagram or SMS?
Not today. Bots answer WhatsApp threads only; Instagram and Messenger are shown as coming soon, and SMS threads receive no automated replies.