Угоди в CRM відображаються у вигляді карток з інформацією про клієнта, назвою угоди, описом та сумою.

За потреби можна додати інші поля (див. рис. 8-12).

Кнопка "Створити угоду"

Вікно Створити угоду дозволяє швидко налаштувати та зберегти нову угоду.

Заповніть форму, щоб створити клієнта. Якщо клієнт існує, MaviBot запропонує вибрати його з бази даних.

  1. Якщо клієнта не знайдено, підключіть до проєкту WhatsApp або email-бота.
  2. Надішліть повідомлення клієнту через підключений канал — це автоматично створить його профіль.
  3. Виберіть етап воронки, на якому має бути розміщена угода.

Змінні угоди також можна додати в модальній формі:

Далі натисніть "Створити", щоб додати угоду до системи.

Кнопка "Швидко додати"

Ця кнопка також допомагає вручну додати нового клієнта до CRM.

Натисніть кнопку, щоб відкрити вікно, де можна ввести дані клієнта.

Рис. 26 Вікно швидкого створення угоди (Примітка: Всі дані є вигаданими; будь-який збіг є випадковим.)

Таким чином, угода буде створена на етапі "Зацікавлений".

Готово!

Тепер ви знаєте, як створювати угоди.

Як створити угоду з чат-бота

Приклад потоку чат-бота для створення угоди через функцію

Огляд процесу:

  1. Створіть блок "Старт"

  1. Створіть два блоки з кнопками.

  1. Перейдіть до налаштувань з'єднання, увімкніть опцію "Користувач вводить дані" та вкажіть назву сервісу, який вводитиме користувач.

  1. Потім додайте запитання "Як вас звати?" у білому блоці. Створіть новий блок нижче та увімкніть "Користувач вводить дані" у налаштуваннях його стрілки.

Налаштування "Користувач вводить дані" зі змінною name увімкнено в кожному з'єднанні, що веде до блоку "Введіть номер телефону".

  1. Тепер створіть два блоки — "Чат" та "Fallback" — з блоку "Введіть номер телефону".

  1. Виберіть тип "RegEx math" у налаштуваннях з'єднання.
  2. Увімкніть налаштування "Користувач вводить дані".
  3. Введіть назву змінної: phone.

Тепер у блоці Fallback напишіть повідомлення: "Це неправильно! Спробуйте ще раз."

Ця конфігурація працюватиме так: якщо ваш клієнт введе неправильний номер телефону, він отримає повідомлення з блоку Fallback. Повідомлення Fallback надсилатиметься доти, доки клієнт не введе правильний номер телефону.

  1. Потім запитайте клієнта про його бюджет і одразу створіть новий блок нижче.

  1. Увімкніть налаштування "Користувач вводить дані" у з'єднанні та введіть назву змінної: budget.

Активуйте прапорець "Користувач вводить дані" на з'єднанні та вкажіть змінну телефону client_name.

  1. Ви можете або змінити тип останнього блоку на "Ліди", або використати функцію create_order.

    Ось варіант з червоним блоком "Ліди".

Приклад.

Функція create_order(name, budget, description, client_name, phone, email, state_id) використовується для створення угоди з чат-бота в CRM.

Поточна активна угода у воронці разом зі змінними буде доступна лише у функціях управління угодами та CRM.

Для створення клієнта необхідно вказати змінну телефону або електронної пошти. Якщо вказано телефон і в проєкті немає клієнта з таким телефоном, буде створено нового.

Якщо вказано змінну електронної пошти без змінної телефону, і в проєкті немає клієнта з цією адресою, буде створено нового.

У потоці ми зібрали наступні дані поетапно:

  • Name - назва угоди (у прикладі: мені потрібен сайт та мені потрібен лендінг);
  • Budget — вартість угоди, яка була оголошена в блоках після того, як клієнт вибрав тип сайту;
  • Phone — номер телефону клієнта
  • Client_name — ім'я клієнта

Якщо потрібно створити угоду в конкретному стані транзакції, передайте параметр state_id.

Важливо!

Якщо ви не передаєте жодних параметрів, передайте none замість параметра (як на рис. 36, де замість параметра email вказано none).

Де знайти ідентифікатор стану (параметр state_id)

ID етапу:

Інші налаштування

Рядок пошуку — це пошук угоди за ім'ям клієнта.

Фільтр: дозволяє фільтрувати угоди за різними параметрами. Ви також можете зберегти створений фільтр, якщо часто ним користуєтеся.

Як запустити бота, коли угода переміщується на новий етап воронки

Щоб запустити бота при зміні етапу угоди у воронці CRM:

  1. Перейдіть до налаштувань проєкту.
  2. Відкрийте розділ "Зворотні виклики".

Натисніть на "Налаштування зворотного виклику при переході етапу CRM":

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

Потім збережіть налаштування.

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

Сповіщення виглядає так: crm_state_changed Назва воронки:Назва етапу

Змінна callback_query_id також з'явиться в картці клієнта, зберігаючи ідентифікатор угоди, для якої було надіслано сповіщення.

Щоб запустити вашого бота у відповідь на цю подію, введіть текст зворотного виклику в поле тригера з'єднання або блоку на основі тригера (наприклад, блоку "Старт" або "Тригер").

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

Якщо потрібно продовжити воронку після зміни стану, використовуйте блок "Старт". Клієнт буде перенаправлений до блоку "Старт" у відповідь на зворотний виклик, що дозволить продовжити воронку звідти.

Як перемістити угоду

Щоб перемістити угоду на будь-який етап воронки, просто перетягніть її лівою кнопкою миші на потрібний етап.

Коли угоду переміщено до "Невдало" або "Архівовано", з'являється модальне вікно із запитом вказати причину. Ця дія створює відповідну змінну угоди: failed_reason або archived_reason.

Вказана причина зберігається у відповідній змінній. Якщо угоду пізніше відновлено, додається змінна restored_from_failed або restored_from_archived зі значенням "true".

Як заборонити переміщення угоди на вказаний етап

Якщо потрібно обмежити етапи, на які можна вручну переміщати угоди, налаштуйте обмеження в налаштуваннях стану.

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

Використовуйте налаштування етапу, щоб обмежити переміщення угоди на конкретні етапи. Виберіть потрібні етапи в списку (допускається множинний вибір) та збережіть зміни.

Після збереження обмежені етапи будуть візуально виділені в MaviBot CRM. Вони виглядатимуть темнішими, і переміщення угод на них буде вимкнено. Якщо застосовано обмеження на переміщення етапів, ці етапи також будуть приховані в інтерфейсі чату клієнта.

Реакція на видалення угоди в CRM

Коли угоду видалено в CRM, бот отримує зворотний виклик з назвою crm_lead_removed для сповіщення клієнта.

Як перемикати угоди

Коли дії виконуються над угодами безпосередньо на сторінці CRM, запускаються наступні зворотні виклики:

  • change_responsible_order — змінено відповідального менеджера угоди.
  • crm_state_changed — угоду переміщено на інший етап воронки.
  • crm_system_state_changed — угоду переміщено до Втрачено, Виграно або Архівовано.
  • crm_lead_removed — угоду видалено.

Крім того, змінні клієнта включатимуть callback_order_id, який містить ID конкретної угоди, на яку вплинула дія в CRM.

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

Після переходу потоку до наступного блоку стандартна логіка MaviBot відновлюється — будь-який подальший доступ до змінних угоди повертатиме значення з останньої активної угоди клієнта.

Як переключити угоду на активний етап у боті

Функція switch_order(order_id) дозволяє зробити конкретну угоду активною для доступу до її змінних.

  • order_id — необов'язковий параметр для конкретного ID угоди. Якщо пропущено, активною стає остання угода клієнта.
  • Щоб активувати певну угоду, передайте її ID у функцію switch_order(order_id).
  • Якщо ви викликаєте цю функцію в блоці калькулятора та надаєте ID цільової угоди, ви зможете отримати доступ до змінних цієї угоди в усіх наступних блоках.

Якщо функція switch_order викликається з ID видаленої або неіснуючої угоди, перемикання не відбудеться. У цьому випадку функція поверне ID угоди, яка наразі активна для клієнта (або None, якщо у клієнта немає активної угоди).

Таким чином, ви можете перевірити, чи було перемикання успішним, порівнявши order_id, переданий у функцію, зі значенням, яке вона повертає:

switch_result = switch_order(order_id)

result = if(switch_result == order_id, value_if_true, value_if_false)

Якщо у функцію switch_order() не передано жодного аргументу, вона активує останню угоду клієнта. Це дозволяє повернути або скинути активну угоду — наприклад, після виконання операцій з іншою угодою або коли не потрібно зберігати угоду, тимчасово активовану зворотним викликом CRM.