Частина робочого дня менеджера з продажу минає над текстом: записати домовленості, заповнити картку ліда, знайти опис товару, відповісти клієнту. Нижче один такий день в Odoo з модулями kw_ai_*. На кожному кроці видно, що бере на себе ШІ, що лишається людині і що адміністратор має налаштувати наперед. Відсотків економії часу тут немає навмисно: чесний замір можливий лише на вашому процесі. Стаття описує модулі для Odoo 18. Для Odoo 19 набір відрізняється: помічника, перекладу повідомлень і частини провайдерів там поки немає, а автозаповнення працює за іншими правилами.
Ранок: список лідів словами
Замість фільтрів достатньо натиснути іконку ШІ-пошуку у верхній панелі й вписати запит: «ліди зі стадії „Пропозиція“». ШІ будує фільтр, і Odoo відкриває звичайний список із правами цього користувача. Назви етапів мають збігатися з тими, що у вашій базі. Пошук працює після налаштування: адміністратор створює агента й вказує моделі, за якими можна шукати. Якщо агента налаштовано неточно, пошук мовчки нічого не покаже. Детальніше в статті про пошук природною мовою.
Дзвінок і картка ліда
Розмова завершилась, запис лежить у картці ліда. Наші модулі не підключаються до вашої АТС: запис має потрапити в Odoo окремо, як вкладення до картки, як файл у спеціальному полі або як посилання, яке Odoo зможе завантажити без входу. З кількох вкладень розшифровується останнє додане.
kw_ai_transcription передає файл обраному провайдеру розпізнавання мовлення й записує текст у поле картки, вказане в налаштуванні завдання. Краще брати поле типу «Текст», не «HTML»: там репліки зливаються в один абзац. Завдання запускає адміністратор кнопкою або планувальник. Докладніше про розшифровку дзвінків у статті про транскрипцію.
Далі працює користувач, якому надано доступ до ШІ-дій. У меню «Дія» картки є пункт «Generate with AI» (назву й шаблон адміністратор задає наперед). Шаблон бере розшифровку з поля картки й просить скласти підсумок домовленостей та наступний крок; для розшифровки й підсумку в картці заводять текстові поля. Чернетка з'являється у вікні. Користувач читає чернетку, за потреби дописує вказівку і лише тоді застосовує її до картки. Запит іде від імені того, хто його запустив.
Опис товару для пропозиції
Той самий пункт працює на товарах: чернетка опису складається за шаблоном із назви, категорії та атрибутів, а користувач читає її й застосовує. Докладніше в статті про описи товарів. Головне обмеження: ШІ пише з того, що є в картці. Якщо характеристик немає, текст може вийти загальним або з домислами, тож картку спершу заповнює людина. Для сотень порожніх карток є ще режим за розкладом, про його межі нижче.
Відповідь клієнтові
Клієнт пише в чатері картки, іноді іншою мовою. Кнопка перекладу під повідомленням перекладає його мовою інтерфейсу користувача. Через ШІ (kw_ai_message_translate) вона перекладає, лише коли адміністратор обрав модель перекладу; без неї діє стандартний переклад Odoo, якщо його налаштовано.
Відповідь складає той самий пункт «Generate with AI»: адміністратор створює для лідів другу дію, а користувач у полі додаткових вказівок пише, що потрібно: «Коротка відповідь клієнтові з підсумком домовленостей». Підсумок дзвінка шаблон бере з картки. Чернетку з вікна користувач читає, правит і надсилає сам. Прайс і умови ШІ бачить, лише коли їх передано в шаблон, підключено агенту як базу знань (як це влаштовано) або відкрито як дані Odoo; останнє в поточному релізі налаштовує розробник.
Де ШІ не тягне
- Розшифровка розбита за голосами, але підписи нейтральні: «Speaker 1», «Speaker 2» (у AssemblyAI літерні: «Speaker A», «Speaker B»). Хто з них менеджер, визначає людина. У частини провайдерів розбивки за голосами в тексті немає.
- Якість розпізнавання українською залежить від провайдера й від запису. Відсотків точності тут теж немає: чесно заміряти можна лише на ваших дзвінках. Мову розмови краще вказати в завданні явно, а прізвища й суми в розшифровці звіряти з аудіо.
- Планувальник розшифровки вмикають вручну, а після оновлення модуля вмикають знову, тож розшифровка з'являється не одразу.
- Автозаповнення за розкладом (
kw_ai_field) пише в картку без підтвердження, тож для щоденної роботи менеджера краще дія з підтвердженням. Воно працює від службового користувача, тож адміністратор окремо налаштовує його доступ до лідів і товарів. Вибірку записів задає розробник: вкладка відбору в формі правила падає з помилкою. Без вибірки правило бере всі записи з порожнім полем, зокрема ліди без розшифровки, і після цього поле вже не порожнє. - Помічник на Ctrl+K для відповіді клієнту не годиться: він отримує питання, назву екрана й розмітку відкритого екрана, але не вміст полів, які редагуються, тож підсумок дзвінка довелося б вставляти в питання самому. Ctrl+K для користувачів із правом на помічника відкриває його замість палітри команд Odoo.
- Дані йдуть провайдеру. Аудіо дзвінка отримує обраний провайдер розпізнавання, локального розпізнавання серед наявних модулів немає. Текст повідомлень при перекладі й дані картки при генерації теж передаються провайдеру ШІ. Провайдера обираєте ви, сервісів підтримується кілька; якщо сервер Ollama стоїть у вашій інфраструктурі, текстові запити її не залишають.
- Рішення лишаються за менеджером: знижка й статус угоди. Агенти за замовчуванням не мають інструментів запису й нічого не надсилають. Вмикати запис агенту, що готує відповіді клієнтам, не радимо: він зможе викликати дії Odoo, зокрема відправлення повідомлення.
Не всі кроки потрібні одразу. Розумний старт: один потік дзвінків, розшифровка, підсумок дією з підтвердженням і читання кожного підсумку людиною. Скільки це коштує в токенах, ми розібрали окремо. Хочете пройти цей день на своїй базі, напишіть нам. Склад модулів і набору дивіться на сторінці Ultimate AI Connector Suite.