Задача
Компанія встановлює системи зворотного осмосу. Людині, яка вперше думає про фільтр, треба пояснити, навіщо він, чим відрізняються системи і чому обслуговування – окрема історія. Менеджер розповідав це щоразу заново, а гарячі клієнти губилися серед тих, хто просто цікавиться.
У компанії була записана аудіокнига про воду. Задача – зробити з неї воронку: бот веде людину частинами, помічає, коли вона готова купити, і передає менеджеру разом із контекстом. Усе, що відбувається з клієнтом, має бути видно в CRM.
- Клієнт: компанія, що встановлює системи очищення води. Назву не розкриваю, на картинках – макети із заглушками
- Обсяг: два етапи – спершу автоворонка, потім консультант, статуси і CRM
- Канал: Telegram, вхід за посиланням або з форми на сайті
- Роль: усе сама – план етапів із замовником, архітектура, код, таблиця, інтеграції, інструкція для команди
Як бот веде клієнта
Книгу рухає одна кнопка. Людина сама вирішує, коли слухати далі, а бот стежить, щоб вона не загубилася.

Уся адмінка – гугл таблиця
Окрему адмінку для бота я не робила. Тексти, ціни, база знань, анкети, паузи й менеджери живуть у гугл таблиці, яку команда і так уміє відкривати. Бот сам перечитує її за кілька хвилин, а історія версій таблиці працює як відкат.
Жирний, курсив і посилання з клітинки доїжджають у Telegram як є. Порожня клітинка вимикає повідомлення. Анкети – питання клієнту по черзі з кнопками й фото – команда складає сама в окремій вкладці.

Консультант, статуси і CRM
ШІ-консультант відповідає своїми словами, але тільки з вкладок «База знань» і «Ціни». Кожне число й обіцянку з відповіді сервер звіряє з рядками таблиці, а менеджер бачить копію з номерами рядків. Чого в базі нема – бот передає менеджеру. Консультант вмикається одним рядком у таблиці, тож команда сама вирішує, коли пускати його до клієнтів.
Намір клієнта читає ШІ, словник ключових слів лишився запасним варіантом. З цього складаються дев'ять статусів: Слухач, Пасивний, Зацікавлений, Гарячий, Фіналіст, Клієнт: Оплачено, Клієнт: На сервісі, Відмова, Нецільовий.
Статуси синхронізуються з RO App в обидва боки. Лід із чату чи форми сайту одразу потрапляє в CRM, а якщо менеджер змінив статус у CRM, бот це бачить. Оплата створює наряд, а через 170 днів після монтажу бот нагадує клієнту про сервіс. На відмову бот питає причину, і вона теж іде в CRM. Раз на тиждень ШІ-суддя перечитує діалоги тижня й надсилає керівнику проблемні з цитатою.

Цифри
| Метрика | Значення | Що це означає |
|---|---|---|
| Частин аудіокниги | 10 | Кожну відкриває кнопка, а якщо натиснути зарано, бот дошле частину сам |
| Статусів клієнта | 9 | Від «Слухача» до «Клієнт: На сервісі», синхронізація з CRM в обидва боки |
| Нагадування про сервіс | 170 днів | Після монтажу бот сам повертає клієнта на обслуговування |
| Звіт якості | щотижня | ШІ-суддя перечитує діалоги й надсилає керівнику проблемні з цитатою |
| Автотестів | 655 | Логіка воронки, статусів і словників покрита тестами |
| Фраз у корпусі перевірки | ~120 | Справжні фрази клієнтів, на яких перевірялися словники наміру |
| Раундів зовнішнього ревю | 2 | Другий прохід знайшов шість регресій, внесених першим |
| Етапів | 2 з 2 | Обидва прийнято замовником |
Джерела: код бота, автотести, історія розробки

Що було складно
Найважче виявилось там, де здавалося, що це «просто список слів». Двічі поспіль ламалися словники, які визначають намір клієнта, хоча складнішими здавалися таймери й паралельні запуски. Саме там автоматика щось вирішує про людину, і саме там помилку найважче помітити.
Гео-фільтр бачив міста там, де їх нема
Фільтр «чуже місто» мав відсіювати клієнтів, до яких компанія не доїде. А ловив «сніжинки на склянці» (всередині сидить «Ніжин»), «номер київстар» і «на рівне місце під мийкою».
Висновок: коли йдеться про географію чи відмову, хибне спрацювання дорожче за пропуск. Краще не помітити, ніж сказати живому клієнту, що він нецільовий.
Відмова, яку не можна скасувати
Автовідмова реагувала на «не хочу поки, послухаю далі», «не треба мені дзвонити, пишіть тут», «не потрібен монтаж, сам поставлю» і ставила «Відмову» назавжди. Окремої кнопки, щоб менеджер це виправив, не було: єдина команда заразом надсилала клієнтові наступну частину книги повз його клік.
Висновок: рішення автоматики про людину мають бути зворотними. Менеджеру потрібна окрема дія «зняти статус» без побічних ефектів.
Правки, які зламали протилежне
Після першого раунду виправлень з'явилися дзеркальні помилки: «хочу купити фільтр для води» і «беру на дачу» перестали бути гарячими, бо «вода» й «дача» стали блокаторами. А «не пишіть мені більше» і «не потрібно, у нас вже встановлено» перестали бути відмовою.
Висновок: ревю свіжими очима треба робити двічі – на код і на правки після першого ревю. Другий прохід знайшов шість регресій, внесених першим. Усе це спіймали до того, як помилку побачив бодай один клієнт.
Що отримав клієнт
- Менеджер підключається, коли клієнт уже готовий. Про воду розповідає і веде людину книгою бот, а менеджер отримує сповіщення з підсумком від ШІ і посиланням на чат
- Команда сама править бота. Тексти, ціни, базу знань, анкети й паузи – у гугл таблиці, без програміста
- Усе видно в CRM. Лід із чату чи форми сайту, статус, наряд при оплаті, нагадування про сервіс через 170 днів
- Консультант відповідає тільки з бази. Кожне число звіряється з рядком таблиці, решта йде менеджеру
- Раз на тиждень – звіт якості. Керівник бачить проблемні діалоги з цитатою і не перечитує все підряд
- Інструкція для команди – як надсилати клієнту посилання, міняти частини аудіо й додавати менеджерів
Що з цього взяти собі
- Рішення автоматики про людину мають бути зворотними. Якщо бот поставив статус, менеджер має зняти його одним рухом, без побічних ефектів
- У відмові й географії хибне спрацювання дорожче за пропуск. Краще пропустити, ніж відштовхнути живого клієнта
- Словник – тимчасова заглушка. Він доживає до ШІ-шару, тому писати його варто так, щоб ШІ став поруч і словник лишився запасним варіантом
- Ревю – двічі. Перший раз на код, другий – на правки після першого ревю
- Адмінкою може бути таблиця. Якщо команда вже живе в гугл таблицях, окрема панель лише додасть навчання
Схожого бота під ваш продукт оцінюю після брифа: строк і ціну називаю в той самий день.
Часті питання
Чи можна взяти свій контент замість аудіокниги?
Так. Частини менеджер завантажує прямо в чат бота, підписи й тексти до них лежать у таблиці. Логіка кнопок, нагадувань і статусів лишається та сама.
Що буде, якщо клієнт питає те, чого нема в базі?
Бот не вигадує відповідь. Він передає питання менеджеру з посиланням на чат, і менеджер відповідає сам. Якщо таке питання повторюється, команда дописує рядок у «Базу знань», і далі бот відповідає сам.
Чи підійде інша CRM?
Тут це RO App, з якою бот синхронізується в обидва боки. Якщо у вашої CRM є API, підключення будується за тим самим принципом: ліди, статуси й наряди лягають у її поля.
Хто править тексти після запуску?
Команда замовника, у гугл таблиці. Бот перечитує її сам за кілька хвилин, програміст для цього не потрібен.
Потрібен бот для продажів – напишіть три речення
Що продаєте, звідки приходять клієнти і в який момент їх має підхопити менеджер. Цього досить, щоб я сказала, як розкласти це на бота і скільки він коштуватиме. Відповідаю в той самий день.