Skip to main content
GullySystem
A practical guide

Why WhatsApp replies never reach the CRM record

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

Replies miss the CRM record for five usual reasons. Staff answer from a second number. Chats are read only on a handset. No lead is created on the first message. The webhook fails silently. Phone formats create duplicate customers. Each needs its own write-back rule.

Staff answer from a number the CRM never sees

Enquiries arrive on the official business number, then a salesperson says text me on my own number, and from that moment the whole conversation leaves the system. The CRM shows a lead who went quiet.

Check by asking three salespeople how many live deals they discuss from a personal phone, and expect an answer higher than the owner guessed. Then count the customer numbers in personal call logs that have no CRM activity, and compare that gap against the leads your team marked lost last quarter.

The fix is half habit, half tool. Give agents a way to reply inside the shared inbox that feels as quick as their own phone, and make the CRM show only what was logged there.

Replies are read on the handset and nowhere else

The ordinary Business app stores chats on the handset, so nothing reaches a CRM unless someone copies each thread across by hand. Few do. Nobody does on a busy day.

Connecting the number to the WhatsApp Business API changes this: each inbound and outbound message reaches your server as a webhook event, which the CRM attaches to a contact. The trade-off is that the same number can no longer be opened in the ordinary Business app, so staff must work from a shared inbox.

Decide whether staff may still use the handset, because a mixed set-up leaves gaps that are hard to spot until a customer complains about an unanswered message. Outside the 24-hour customer service window only an approved template message may go out, so log which template was sent, to whom and at what time.

  • Chats on the Business app never leave the phone
  • API messages arrive as events that can be stored
  • Media files need a separate download step
  • Read receipts and delivery status can be logged too

No lead or contact is created on the first message

Many integrations only append to an existing contact, so a stranger’s first message is dropped or parked in an unassigned list that nobody opens. The lead simply never exists.

Write the rule down. If no contact matches the number, create a lead with source WhatsApp, store the first message as an activity, and assign an owner so the record cannot float.

Test with a number that has never contacted you, and check whether a lead appears within a minute of the first message arriving.

Webhook failures and duplicate phone formats

WhatsApp pushes events to a webhook address. If your server is down, returns an error or answers too slowly, delivery is retried for a while and then abandoned, with no alert on any screen. Read the webhook logs and look for non-200 responses, then for gaps in timestamps between messages that customers say they sent from their handset.

Duplicates arrive when one customer is stored as +44 7700 900123, 07700 900123 and 447700900123, so the chat attaches to one version and the invoice to another. Normalise numbers before matching.

Run a one-off clean-up of existing contacts, then enforce the format on every web form, spreadsheet import and chatbot flow that can create a new contact record. Skip this and duplicates return.

  • Alert when the webhook returns an error
  • Retry queue for events that fail
  • Single international number format on entry
  • Merge rule for contacts sharing a number

Describe the write-back each case needs

List what must be saved for each message: contact, direction, text, attachment link, time, agent and the campaign or lead source that brought the customer in. Decide whether the CRM keeps the full text or only a summary with a link back to the inbox where the whole thread lives.

Map each failure to one owner. The sales head owns second-number habits, the CRM admin owns lead creation and merging, and a developer owns the webhook alerts and the retry queue.

Next week, pick ten recent customers, trace each last conversation into the CRM and note every message that is missing, whether a text or a voice note. Each gap maps to one of five breaks.

CRM gap tracing sheet

Ten rows fill this sheet. Columns record the phone number as stored, the channel used for the last reply, the contact name in the CRM and the date of that reply. Further columns show whether a lead or activity exists, what the webhook log says, whether a second record shares the number and which message was lost. The last column gives a break number from one to five, then names the fixer responsible for closing it within the week.

Open a blank worksheet to print

Questions owners ask

Can the CRM read chats from the ordinary WhatsApp Business app?

Not reliably. The app keeps chats on the device. To log messages automatically you need the Business API through a provider, which posts each inbound and outbound message to your system as an event your CRM can store.

Should the CRM store the full conversation?

Store at least the text, time, direction and agent. Attachments such as photos, voice notes and PDF quotes can stay in the inbox behind a link, which keeps the CRM light and searchable by customer.

How do I find duplicate customers caused by phone formats?

Export the contacts, strip spaces, brackets and leading zeros, add the country code, sort by the cleaned number and highlight any row sharing a value with its neighbour. Review each pair before merging.

Who should see the WhatsApp activity on a contact?

Anyone who already has access to that contact. Keep private notes in a separate field, so a salesperson can add context without exposing the whole thread to colleagues in finance or support.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements