Skip to content
Back to the blog

WhatsApp CRM integration: design the handover, not just the connection

Plan a WhatsApp and CRM integration around contact matching, conversation ownership, delivery status, duplicate events and human handover.

Connected workflowsAbout 6 min read
A dark paper speech bubble and cream record sheets flank a sage slip between two handover marks
Editorial illustration

Decide what work should follow a message

For example, imagine a customer sends a WhatsApp message asking about an order. The message appears in a shared inbox, but a salesperson still searches for the customer, copies the request into the CRM and asks a colleague to follow up. The connection exists; the working process is only partly connected.

Start by choosing the event that should create work. Is every new conversation a lead, only an identified sales enquiry, or a support case tied to an existing order? Decide which system owns the contact, opportunity and case. A WhatsApp conversation may relate to several of these records without needing to create another contact each time.

Write the desired path from incoming message to completed follow-up. Include contact matching, assignment, response and closure. Then include a branch for an unknown sender and one for a customer who asks about a different issue midway through the conversation. Those branches are part of the scope.

Treat contact matching as a business rule

A phone number is useful for finding a candidate record, but it may not establish which account or order a person is authorized to discuss. Decide what verification the task needs before displaying private details or changing records. Keep the process proportionate to the action, and make ambiguous matches visible to the team.

Normalize phone formats consistently and preserve the identifiers supplied by the channel and CRM. Define what happens when there is no match or more than one possible match. Shared business numbers, duplicate CRM contacts and a customer changing numbers deserve an explicit path. A system that silently chooses a record can create errors that look like ordinary conversation history.

Also decide where corrections happen. If a team member merges two contacts in the CRM, the integration needs a defined way to follow that change. Otherwise, the next message may recreate the duplicate that someone just removed.

Compare the implementation against the workflow

Compare the implementation against the workflow
OptionOften suitable whenWhat to verify
Existing CRM connectorIts supported inbox, matching and assignment behavior fits the process.Available events, record mapping, account ownership and failure visibility.
Integration serviceSeveral tools need to exchange defined events.Retries, duplicate prevention, execution history and limits.
Custom integrationRouting, permissions or business actions require specific behavior.Ongoing maintenance, event handling, operator controls and handover.

Separate message delivery from completed business work

Meta’s WhatsApp documentation describes webhooks for incoming messages and outgoing message statuses. These events tell the integration what happened in the messaging channel. They do not, by themselves, show that a CRM case was assigned or that the customer’s issue was resolved.

Define statuses for your own workflow as well: received, awaiting identification, assigned, waiting for a person and resolved, for example. Choose only the states your team needs and name who can change them. Keep channel delivery information available without using it as a substitute for the business status.

Meta also documents that failed webhook delivery can be retried and can produce duplicate notifications. Ask how the integration recognizes an already processed event before creating a lead, case or follow-up action. The goal is for a repeated notification to preserve the intended result rather than repeat the business action.

A hypothetical handover: a sales question becomes a service issue

Imagine a customer asks about buying another product, then mentions that a previous order has not arrived. The initial sales enquiry should not disappear when service takes over. The CRM might retain the opportunity and create a linked support case, with a named owner and the relevant conversation context.

If an AI assistant participates, define its role separately. It might summarize the request or prepare a response from an approved source. It should not infer permission to change an order simply because the conversation is friendly. When a human takes over, make the ownership visible and prevent the assistant from continuing to send conflicting responses.

A useful handover includes the customer’s request, matched records, steps already taken and any uncertainty. The receiving employee should be able to continue without asking the customer to repeat information the business already has.

Keep working when one system is unavailable

Plan what happens if WhatsApp events arrive while the CRM is unavailable. The team needs a way to retain pending work, inspect failures and resume processing without creating duplicates. Ask the supplier to demonstrate a failed step and its recovery using a test account.

Distinguish retrying a failed operation from checking an uncertain outcome. If the CRM accepted a request but its response was lost, blindly trying again could create a second record. The integration should be able to determine whether the intended change already occurred before repeating it.

Before launch, verify account setup, permissions, message-template requirements and applicable messaging rules in the current Meta documentation for your intended use. Ask who owns the business account, number and integration credentials. These conditions can affect what the workflow may send; do not base the design on an unverified assumption about policies or pricing.

Use these cases in the acceptance review

Test the conversation and the resulting CRM records together. A message visible in an inbox is only one checkpoint.

  • A known customer sends a request and it reaches the intended record and owner.
  • An unknown or ambiguous sender follows the agreed identification path.
  • The same webhook arrives twice without duplicating the business action.
  • The CRM is unavailable and pending work can be resumed visibly.
  • A human takes over with context and the automated responder respects that handover.
  • An outbound message fails and its delivery status remains distinguishable from the case status.

Two scope questions worth answering early

Do we need a custom integration? First test whether an existing connector supports the complete workflow and its exceptions. Custom work is easier to justify when you can name the specific routing, data or control it must provide.

Does connecting WhatsApp require an AI agent? No. Contact matching rules, assignment and status updates may be handled with defined logic. Add AI only for a specific task that benefits from interpretation, and evaluate that task separately from the reliability of the connection.

Sources and further reading

Connect the conversation to the next useful action.

Tell us which CRM you use, how conversations are handled today and where follow-up gets lost. We can discuss the workflow and integration it needs.

Discuss your WhatsApp integration
Nexo