Houdrik
B2B-бізнес послуг, що зростає

Від операцій в таблиці до конвеєра лідів на n8n + LLM

Ми замінили таблицю і втомленого оператора шаром автоматизації на n8n, кроком аналізу через LLM і багатоканальними сповіщеннями. Час реакції на ліди різко знизився, нічого не губиться.

Cover · case-n8n-ai-automation

Проблема

У клієнта був робочий бізнес і зламаний прийом заявок. Ліди приходили через форму на сайті, три поштові аліаси і повідомлення в двох соціальних каналах. Хтось переносив їх до таблиці руками — інколи того ж дня, інколи в понеділок зранку. Запити клієнтів сортували з тієї ж скриньки і та сама людина.

Ця людина була вузьким місцем. Коли вона була у відпустці, час реакції розтягувався з годин до днів. Два ліди за останній квартал помітили лише тоді, коли потенційний клієнт написав ще раз із запитанням, чи хтось узагалі це читає. CRM була окремим світом — її наповнювали заднім числом, раз на тиждень, із таблиці.

Шару аналізу не було. Новий запит про ціни на пакет із 50 місць виглядав так само, як прохання оновити адресу для рахунку. Оператор вирішував, що термінове, за темою листа і власною пам'яттю про відправника. Команда збудувала справжній бізнес поверх робочого процесу, який не масштабується далі однієї людини.

Що зробили

Ми обрали n8n як шар оркестрації, бо клієнт хотів сам читати робочі процеси після нашого відходу. Візуальний граф n8n чесний щодо того, чим він є — спрямованою послідовністю HTTP-викликів, перетворень і розгалужень — і не ховає під собою закритий рантайм. Компроміс називаємо вголос: n8n повільніший для написання, ніж голий код для одного інженера, і швидший для підтримки для не-інженера-власника. Клієнт — це другий випадок.

Сторона прийому — це збір потоків в одну точку. Вхідні webhook-и від форми на сайті, поштовий опитувальник для трьох аліасів і офіційні канали двох соціальних платформ — усе приземляється в одну точку входу n8n. Ми нормалізуємо вантаж до єдиної схеми — source, channel, raw_body, contact, received_at — і записуємо до бази даних ще до будь-яких інших дій. Якщо крок моделі або CRM далі дасть збій, нічого не втрачено: відтворюємо зі сховища.

Крок аналізу — один виклик до LLM зі схемою структурованого виводу. Промпт короткий і навмисно консервативний: класифікує намір, витягує контактні поля, оцінює терміновість за трирівневою шкалою, позначає все, що схоже на спам або відгук на вакансію. Перш ніж пускати в роботу, ми виміряли модель на двохстах історичних повідомленнях і налаштовували промпт, доки класифікації не збіглися з рішеннями оператора в важливих випадках. Складні випадки, у яких модель помиляється, спрямовуються до черги людського перегляду, а не йдуть як впевнено неправильна відповідь.

Диспетчер сповіщень працює за правилами поверх класифікації. Ліди продажів із високою терміновістю піднімають власника облікового запису у тому чаті, яким він і так користується. Запити підтримки повідомляють спільну скриньку підтримки і командний канал. Усе, що класифіковано як спам або поза темою, записується в журнал і відкидається. Правила лежать у невеликому JSON-файлі, який клієнт може редагувати; ми не сховали їх у таблицю бази, бо читати їх важливіше, ніж писати.

Останній крок надсилає структурованого ліда до CRM через її API, а оригінальне повідомлення додає як примітку для контексту. CRM від цього моменту — джерело істини. n8n тримає копію кожного запуску протягом тридцяти днів для розбору помилок, потім очищає.

Ми додали невелику панель — одна сторінка, рендериться на сервері, без жодного фреймворку — яка показує останні двадцять чотири години прийому, розподіл за класифікацією і будь-які елементи в черзі людського перегляду. Оператор відкриває її раз зранку замість того, щоб увесь день оновлювати таблицю.

Результат

  • Час реакції на ліди скоротився з медіани в кілька годин до менш ніж п'ятнадцяти хвилин у робочий час.
  • Приблизно повний робочий день на тиждень ручної операційної роботи зник у оператора.
  • Жодного втраченого ліда з моменту випуску — кожне вхідне повідомлення опиняється у сховищі за секунди.
  • CRM тепер має чистий, структурований запис для кожного контакту, який створюється автоматично.
  • Спам і шум поза темою повністю зникли з дня оператора.
  • Термінові ліди тепер досягають власника облікового запису в чаті, яким він і так користується, у реальному часі — на пристрої, який він і так тримає в руках.

Передавання

Клієнт володіє інстансом n8n, базою даних, промптом, правилами маршрутизації і панеллю. Ми розгорнули все на інфраструктурі, за яку він уже платить. У критичному шляху немає жодного компонента, що його хостить Houdrik.

Ми написали коротку інструкцію реагування на три режими відмови, які справді бачили під час розробки: API моделі працює повільно, API CRM обмежує частоту під пакетним навантаженням, і робочий процес n8n відредагували до зламаного стану. Для кожного є конкретна процедура відновлення, яку може виконати не-інженер. Ми не писали runbook для гіпотетичних відмов; ми задокументували те, що зламалося, і те, як ми це полагодили.

Передавання зайняло половину спринту. Двоє людей із боку клієнта тепер самі редагують правила маршрутизації і промпт. Ми доступні для випадкових запитань, але система працює шість тижнів без нашого втручання.

Маєте додаток, який має жити?

Виведіть його з прототипу в продакшн.

Відповідаємо протягом одного робочого дня. MVP, написаний на відчуттях, чернетка від AI, недороблений проєкт або робочий продукт, що починає тріщати — усе приймається.

Запустити проєкт