We wrześniu zeszłego roku jeden z naszych retailowych klientów stracił 340 000 € pipeline'u w dwa dni. Top sales-manager — nazwijmy ją M — odeszła w piątek po południu, zabrała prywatną komórkę i WhatsApp Business, a w poniedziałek nowy sales lead otworzył CRM i zobaczył 47 „aktywnych deal'i" bez świeżej aktywności, bez historii wątków wiadomości i bez pojęcia, kto miał robić follow-up.
Telefony do samych leadów: „Tak, rozmawialiśmy z M dwa miesiące — mówiła, że umowa się przygotowuje". M prowadziła te rozmowy z prywatnego telefonu. W CRM było tylko nazwisko i przestarzały stage. Deal'e trzeba było re-qualify od zera i większość ostygła w 3 tygodnie.
To najdroższy recurring bug w B2B-sales i jest w 100% przewidywalny przez infrastrukturę. Oto 5 wzorców, które teraz budujemy w każdym klienckim CRM.
Wzorzec #1: komunikacja przez kanały firmowe, nie prywatne
Zasada: sprzedawcy nie dają prywatnych numerów. Kropka. Każde połączenie z klientem idzie przez firmowy SIP lub DID routowany przez Twilio / Telnyx / Voximplant. Każda rozmowa WhatsApp idzie przez WhatsApp Business API na firmowym numerze. Każdy email idzie przez firmowy SMTP, nie prywatny Gmail.
Jak to wymusić
- —Każdemu sprzedawcy firmowy SIM lub eSIM z regułą forwarding — połączenia logują się do CRM automatycznie
- —WhatsApp Business API per-territory lub per-segment, nie per-osoba — wątki przeżywają zmiany pracowników
- —Blokada prywatnych podpisów email z prywatnymi numerami — DLP rule w Google Workspace / Microsoft 365
- —Salesforce, Bitrix24 i HubSpot mają wbudowany click-to-call z CRM — zrób go obowiązkowym, nie opcjonalnym
Wzorzec #2: każda interakcja auto-logowana
Żaden sprzedawca ręcznie nie pisze „zadzwoniłem do klienta, chce się zastanowić". Tej notatki nie ma w żadnym CRM. Dyscyplina nie przeżywa kontaktu z kwotami. Zamiast tego — loguj za niego.
Dla telefonu: każde firmowe połączenie SIP nagrywane (z consent message), transkrybowane przez Whisper lub Deepgram, AI summary doklejane do timeline'u deal'a w 30 sekund po rozłączeniu. Dla WhatsApp / email: webhooks na każdą wiadomość kopiują treść verbatim. Sprzedawca NIE pisze notatek — AI pisze.
ts// Cloud Function — odpalana na każdy 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' }); });
Wzorzec #3: dane kontaktowe klienta żyją na firmie, nie na karcie kontaktu
Otwórz teraz swój CRM. Kliknij dowolny aktywny deal. Czyje nazwisko jest w polu „owner"? Prawdopodobnie jednego sprzedawcy. To pole jest bug-iem.
Lepszy model: każdy deal ma primary, backup i account team. Plik klienta pokazuje FIRMĘ jako sprzedającego, nie jednostkę. Gdy primary odchodzi, ownership reasignuje się automatycznie według territory / segment rules. Klient nigdy nie dostaje „twój account manager odszedł, przedstaw się ponownie" — dostaje email podpisany przez team z backupem w CC.
Wzorzec #4: idle-deal'e auto-pingowane zanim ostygną
Deal bez aktywności inbound/outbound przez 7 dni — umiera. Deal bez aktywności przez 21 dni — martwy, a sprzedawca ci nie powiedział. Instrumentujemy każdy CRM:
- —Dzień 7 ciszy: Slack-ping do owner'a deal'a z nazwą i datą ostatniej aktywności
- —Dzień 14: ping do managera owner'a + AI-suggested re-engagement message
- —Dzień 21: status deal'a auto-flipuje na „at risk" i ląduje w monday review
- —Dzień 30: deal idzie do „needs reassignment" i AI-agent wysyła miękki „are we still talking?" email
Krytyczne: dzień-30 email idzie z firmowego adresu, nie z adresu oryginalnego sprzedawcy. Więc gdy M odchodzi w piątek, system dalej pinguje jej 47 deal'i od poniedziałku i nie tracisz trzech tygodni na ich odkrywanie.
Wzorzec #5: offboarding runbook to CRM-workflow, nie Notion-doc
Większość firm ma HR-side offboarding doc: odebrać Google access, oddać laptopa, zmienić Slack permissions. To nie wystarcza. CRM potrzebuje własnego offboarding workflow, który odpala się w momencie, gdy HR oznacza usera jako odchodzącego:
| Krok | Trigger | Owner |
|---|---|---|
| Reasign wszystkich active deal'i na managera lub auto-rule | Dzień 0 (notice given) | CRM workflow |
| Force 1:1 handover meeting na każdy deal >10K € | Dzień 1 | Sales manager |
| Lock outbound email + WhatsApp do klientów od tego usera | Last day | Auth admin |
| Email do klientów „twój point of contact to teraz X" | Last day +1 | CRM workflow |
| Audit prywatnego WhatsApp / telefonu na active threads (consent + signed) | Last day | HR + legal |
| Revoke CRM read-access (write był revoked wcześniej) | Last day +14 | Auth admin |
Jak prowadzimy audyt na nowym kliencie
Gdy klient prosi nas spojrzeć na higienę CRM, wysyłamy 5-pytaniowy audit:
- —Jaki % połączeń klienckich z ostatnich 30 dni jest zarejestrowany w CRM?
- —Jaki % WhatsApp / email wątków z aktywnymi deal'ami jest mirrored do CRM?
- —Ile aktywnych deal'i (last activity ≤30 dni) nie ma drugiej osoby w account team?
- —Jaka jest mediana dni, że deal leży bez aktywności zanim zostanie flagged?
- —Kiedy było ostatnie odejście z sales-team, i ile ich deal'i ostygło w 60 dni?
Jeśli nie umiesz odpowiedzieć na wszystkie pięć w 30 minut — twój CRM przecieka. Fixy nie są efektowne — wzorzec #1 to najwyższe-ROI co możesz zrobić w tym kwartale i nie wymaga żadnego AI.
Gdzie AI realnie dodaje leverage
Wzorce powyżej działają bez AI. AI po prostu robi je tańszymi. Konkretnie: auto-summary połączeń (inaczej potrzebujesz juniora słuchać i pisać notatki), buyer-signal detection w transkryptach (inaczej pipeline reviews subiektywne), i dzień-30 re-engagement email (inaczej potrzebujesz copywritera na każdy deal). Z grubsza — AI usuwa 60% human-time cost prowadzenia tych workflow'ów.