- Decide the record before you build the chat: one contact, one deal, one conversation link.
- Match on phone number in a fixed format, and never create a second contact for the same person.
- Plan for failure. A lead that never reaches the CRM is worse than no agent.
Search for how to qualify leads on WhatsApp and every page shows you a friendly chat. Almost none show you what the sales team sees afterwards. That is where projects fall over. The chat looks great, and then reps open the CRM to find forty duplicate contacts and a note that says “interested”.
This is the checklist we use. It applies to HubSpot, Zoho, Pipedrive, Salesforce or a spreadsheet with a webhook.
Start with the record, not the conversation
Write down what a salesperson needs in order to act in under a minute. Then work backwards. A useful record has these fields at minimum:
| Field | Example | Why it matters |
|---|---|---|
| Phone number | +971 50 123 4567 | The match key. Store in one format only |
| Name | As given by the customer | Greeting and follow up |
| Need | Annual IT support for 25 staff | Routes to the right owner |
| Budget range | AED 10,000 to 20,000 | Feeds the lead level |
| Timing | Within 30 days | Feeds the lead level |
| Lead level | Hot | Decides who is alerted and how fast |
| Reason for level | Budget in range and date set | Lets a human audit the agent |
| Consent | Opted in, date, source | Needed to message again |
| Conversation link | URL to the full chat | Context for the handoff |
Fix duplicates before they exist
The usual cause is phone formatting. One system stores the number with a plus sign, another without, a third with spaces. Pick the international format with the country code, store only that, and make the CRM lookup use it. When a number matches, update the contact. Do not create a new one. When the same person has an open deal, add a note to that deal instead of opening another.
Decide who owns the lead
- An existing customer goes to their account owner.
- A new hot lead goes to whoever is on shift, by a clear rule such as round robin.
- A lead outside working hours is assigned the next morning, and the agent tells the customer that honestly.
- Anything the agent cannot classify goes to a shared queue with a person responsible for clearing it.
Handoff is a process, not a message
Agent scores the lead.
Contact, deal and note created or updated.
Owner notified with the summary.
If nobody replies in the set time, escalate.
The timer is the part people forget. Choose a number, say fifteen minutes in working hours, and decide what happens when it runs out. Without it, a hot lead sits in an inbox.
Plan for the failures
- The CRM is down or rate limited. The agent should queue the record and retry, and alert a human if it still fails after a set time.
- The customer gives conflicting details. Store both, flag it, do not overwrite silently.
- The customer asks a person to take over mid chat. Write what has been captured so far, even if incomplete.
- The customer withdraws consent. Mark the contact and stop all outbound messages.
Test it before it touches real leads
Run thirty real past enquiries through a staging copy of your CRM. Open each record the way a rep would. If you cannot tell in one minute what to do next, the record is wrong. Fix the fields, not the chat.
For how we scope this on a real project, see the WhatsApp AI agent service, and for what a good qualification flow looks like, read our sales qualification checklist.
