Last September one of our retail clients lost €340K of pipeline in two days. Their top sales manager — let's call her M — quit on a Friday afternoon, took her personal mobile and her WhatsApp Business with her, and on Monday the new sales lead opened the CRM to find 47 "active deals" with no recent activity, no message thread history, and no idea who was supposed to follow up.
Calls to the leads themselves: "Yes, we have been talking with M for two months — she said the contract is being prepared." M had been having those conversations on her personal phone. The CRM had a name and a stale stage. The deals had to be re-qualified from scratch and most went cold within 3 weeks.
This is the most expensive recurring bug in B2B sales, and it is 100% preventable with infrastructure. Here are the 5 patterns we now build into every client CRM.
Pattern #1: communications go through company channels, not personal
Rule: salespeople do not give out personal numbers. Period. Every customer call goes through a company SIP or DID number routed via Twilio / Telnyx / Voximplant. Every WhatsApp conversation goes through WhatsApp Business API on a company-owned number. Every email goes through company SMTP, not Gmail personal.
How to enforce it
- —Issue every salesperson a company SIM or eSIM with a forwarding rule — calls log to CRM automatically
- —WhatsApp Business API per-territory or per-segment, not per-person — message threads survive employee changes
- —Block personal email signatures with personal mobile numbers — DLP rule in Google Workspace / Microsoft 365
- —Salesforce, Bitrix24, and HubSpot all have built-in click-to-call from CRM — make it mandatory, not optional
Pattern #2: every interaction is auto-logged
No salesperson manually writes "called the customer, they want to think." That note exists in zero CRMs. The discipline does not survive contact with quotas. Instead, log it for them.
For phone: every company SIP call is recorded (with consent message), transcribed by Whisper or Deepgram, and the AI summary is appended to the deal's timeline within 30 seconds of hangup. For WhatsApp / email: webhooks on every message append the body verbatim. The salesperson does NOT type notes — the AI types them.
ts// Cloud Function — runs on every twilio voice webhook export const logCallToDeal = functions.https.onRequest(async (req, res) => { const { transcript, dealId, direction, duration } = req.body; const summary = await claude.summarize(transcript, { extract: ['next_step', 'objections', 'buyer_signals', 'asked_for_pricing'] }); await crm.deal(dealId).addActivity({ type: 'call', direction, duration, transcript, summary: summary.text, signals: summary.buyer_signals, nextStep: summary.next_step, loggedBy: 'auto' }); });
Pattern #3: customer-facing contact data lives on the company, not the contact card
Look at your CRM right now. Click any active deal. Whose name is in the "owner" field? Probably one salesperson. That field is the bug.
Better model: every deal has a primary, a backup, and an account team. The customer's file shows the COMPANY as the seller, not an individual. When the primary leaves, ownership reassigns automatically based on territory / segment rules. The customer never gets "your account manager has left, please re-introduce yourself" — they get an email signed by the team with the backup CCed.
Pattern #4: idle deals get auto-pinged before they go cold
A deal with no inbound or outbound activity for 7 days is dying. A deal with no activity for 21 days is dead and your salesperson hasn't told you. We instrument every CRM to:
- —Day 7 of silence: Slack ping to deal owner with the deal name and last activity date
- —Day 14: ping to owner's manager + AI-suggested re-engagement message
- —Day 21: deal status auto-flips to "at risk" and gets a Monday review item
- —Day 30: deal moves to "needs reassignment" and the AI agent sends a soft "are we still talking?" email
Critically: the day-30 email goes from a company address, not the original salesperson's. So when M leaves on Friday, the system keeps pinging M's 47 deals starting Monday and you do not lose three weeks discovering them.
Pattern #5: the offboarding runbook is a CRM workflow, not a Notion doc
Most companies have an HR-side offboarding doc: revoke Google access, return laptop, change Slack workspace permissions. That is not enough. The CRM needs its own offboarding workflow that runs the moment HR marks the user as departing:
| Step | Trigger | Owner |
|---|---|---|
| Reassign all active deals to manager or auto-rule | Day 0 (notice given) | CRM workflow |
| Force a 1:1 handover meeting per deal worth >€10K | Day 1 | Sales manager |
| Lock outbound email + WhatsApp to customers from this user | Last day | Auth admin |
| Send "your point of contact is now X" email to customers | Last day +1 | CRM workflow |
| Audit personal WhatsApp / phone for active threads (consent + signed) | Last day | HR + legal |
| Revoke CRM read access (write was already revoked) | Last day +14 | Auth admin |
How we run the audit on a new client
When a client asks us to look at their CRM hygiene, we send a 5-question audit:
- —What % of customer calls in the last 30 days are recorded in your CRM?
- —What % of WhatsApp / email threads with active deals are mirrored into the CRM?
- —How many active deals (last activity ≤30 days) have no second person on the account team?
- —What is the median number of days a deal sits with no activity before it is flagged?
- —When was your last sales-team departure, and how many of their deals went cold within 60 days?
If you cannot answer all five within 30 minutes, your CRM is leaking. The fixes are not glamorous — pattern #1 is the highest-ROI thing you can do this quarter, and it does not require any AI.
Where AI actually adds leverage here
The patterns above work without AI. AI just makes them cheaper. Specifically: auto-summary of calls (otherwise you need a junior to listen and write notes), buyer-signal detection in transcripts (otherwise pipeline reviews are subjective), and the day-30 re-engagement email (otherwise you need a copywriter for every deal). Roughly speaking AI removes 60% of the human-time cost of running these workflows.