WhatsApp closes deals 3 days faster than email. But operators who bolt it onto their CRM without discipline end up with half their pipeline in WhatsApp, invisible to forecasting, routing, and invoicing. This playbook maps the exact steps to sell on WhatsApp Business API—opt-in validation, templated messaging, live CRM sync, and invoice delivery—while keeping deal visibility intact. The fragmentation trap: why WhatsApp kills pipeline visibility A deal that lives in WhatsApp but not in your CRM isn't lost—it's just invisible. Your forecast doesn't see it. Your rep's manager doesn't see it. Your finance team invoices without context. By the time you notice the problem, the deal has aged 15 days past close, or a rep churned and took the contact with them. This happens because WhatsApp feels like chat, not sales. Reps treat it like Slack—quick, ephemeral, personal. The moment you send an invoice link over WhatsApp without routing that deal back into your CRM, you've decoupled sales from operations. The fix is not to ban WhatsApp. It's to enforce a three-point sync discipline: Opt-in compliance first. Every WhatsApp conversation must start with explicit consent and a business purpose. No guessing. Template enforcement. Templated messages (the only kind WhatsApp Business API allows at scale) force structure; structure forces sync. Real-time CRM routing. The moment a message arrives, it logs to the CRM. The moment a quote or invoice is sent, the deal moves. No manual data entry. A deal that lives in WhatsApp but not in your CRM isn't lost—it's invisible. And invisible deals don't forecast, don't route, and don't close on time. Step 1: Opt-in compliance and consent logging WhatsApp Business API requires explicit, documented consent before you send sales messages. This is not a guideline; it's a technical gate. If you don't have it, WhatsApp will throttle your account or disable it. Here's what compliance looks like in practice: Consent source documented. Capture where the opt-in came from: web form, in-person, phone call, QR code at event. Log the timestamp and the exact text the customer saw. Respondio's platform logs this automatically; if you're building custom, this is non-negotiable. Business purpose explicit. "I want to text you about your quote" is not specific enough. "We'll send you invoice updates and delivery status via WhatsApp" is. Write it down and log it in the CRM as a separate compliance field. Opt-out respected immediately. A customer replies STOP, you have 24 hours to remove them from all flows. Automate this. Log the removal timestamp. WhatsApp's API reports unsubscribes; sync those events to your CRM in real-time. Regional rules matter. Indonesia's OJK does not allow unsolicited financial product marketing. Malaysia's SIDREC rules require personal financial advice to be non-WhatsApp. Singapore's PDPC requires the consent record to be searchable by the customer. Know your region's rules before you launch. In Orin, consent logs live in a custom contact field tied to the CRM record . When WhatsApp messages arrive , the system checks that field before routing the conversation to the rep. If there's no logged consent, the message queues for manual review, not auto-reply. Step 2: Message templates and the route-to-CRM rule WhatsApp Business API requires pre-approved templates for marketing and sales messages. This is actually a feature, not a bug. Templates force consistency, and consistency makes automation reliable. Set up three template categories: Quote and proposal templates Template: "Hi {{customer_name}}, your quote #{{quote_id}} is ready. Total: {{amount}}. Review here: {{quote_link}}. Valid until {{expiry_date}}. Reply YES to proceed or ask questions." When your sales rep sends this template via WhatsApp, two things happen automatically: The message logs to the CRM with the quote ID, amount, and link. The deal in your CRM moves to the "Quote Sent" stage. No manual logging. No "I sent it via WhatsApp, forgot to update the CRM." The template enforces it. Invoice and payment templates Template: "Hi {{customer_name}}, invoice #{{invoice_id}} is due {{due_date}}. Amount: {{amount}}. Pay here: {{payment_link}}. Questions? Reply or call {{support_number}}." When this template is sent, the invoice immediately syncs to the customer's contact record and the deal. Payment link clicks are tracked. If they click, the deal moves to "Payment In Progress." If they don't, your ops team gets an alert by day 3. Delivery and status templates Template: "Hi {{customer_name}}, your order #{{order_id}} is {{status}}. Delivery: {{delivery_date}}. Track here: {{tracking_link}}." Use this only after deal close, for fulfillment visibility. This keeps support tickets out of your sales pipeline and keeps logistics visible to finance (who needs it for cash flow forecasting). The rule: every template send must trigger a CRM action. If your platform doesn't auto-sync templates to the CRM deal record, you're manually re-enter