Інструкція
Markdown статті

Use Case 2: Розгалуження за вибором клієнта

Рівень: базовий · Модулі: Scenario Builder · Ноди: MessageKeyboard, Router (опційно)

Перед стартом: прочитайте Edge-driven flow і Розгалуження: Router / switch.

Необхідні права та доступ

Що потрібно Де в меню Навіщо
Scenario Builder Меню → Scenario Builder Меню, edges, Router

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

Бізнес-контекст

Бот показує меню: «Продаж», «Підтримка», «Інше» — і веде клієнта в різні гілки сценарію. Це основа більшості client-ботів: один вхід, кілька бізнес-напрямків.

Очікуваний результат

  • Кнопки меню ведуть у різні гілки сценарію.
  • Значення вибору зберігається у змінній user_choice (для Runs і подальших кроків).
  • Якщо клієнт написав текст замість кнопки — зрозуміла підказка (default).
  • Розуміння різниці: edges з кнопок vs Router за змінною після збереження вибору.

Архітектура flow

Start → MessageKeyboard (3 кнопки)
   ├─ edge «sales»    → MessageKeyboard (гілка Продаж)
   ├─ edge «support»  → MessageKeyboard (гілка Підтримка)
   ├─ edge «other»    → MessageKeyboard (гілка Інше)
   └─ edge default / вільний текст → «Оберіть пункт меню»

Важливо: для меню за кнопками — окремий edge на кожну кнопку MessageKeyboard. Альтернатива — нода Router (first_match + default) після збереження вибору в user_choice.

Покрокова реалізація

Крок 1. MessageKeyboard — меню

Нода: Повідомлення з кнопками.

Параметр Значення Навіщо
Текст «Оберіть тему звернення:» Меню
Тип клавіатури inline Кнопки під повідомленням
Кнопка 1 Текст: «Продаж» · payload / value: sales Стабільне значення
Кнопка 2 «Підтримка» · support
Кнопка 3 «Інше» · other
Output Variable user_choice Записує вибір — перевіряйте в Runs

Edges:

Edge Куди Навіщо
sales MessageKeyboard «Ви обрали Продаж…» Окрема гілка за edge кнопки
support «Підтримка…»
other «Інше…»
Default «Натисніть одну з кнопок меню.» Не залишати клієнта без відповіді

Крок 2. Три гілки-відповіді

Нода: MessageKeyboard (×3).

Гілка Текст (приклад)
sales «Відділ продажу. Напишіть, що вас цікавить.»
support «Підтримка. Опишіть проблему.»
other «Загальні питання. Чим можемо допомогти?»

Крок 3. Перевірка в Runs

  1. Кожна кнопка → своя гілка.
  2. У trace: user_choice = sales | support | other.
  3. Випадковий текст → default.

Крок 4 (опційно). Router — одна нода за user_choice

Замість трьох окремих edges після меню можна зібрати Router (action_router):

Налаштування Значення
Режим first_match
Правило 1 {{user_choice}} equals sales → гілка Продаж
Правило 2 equals support → Підтримка
Правило 3 equals other → Інше
Default branch «Оберіть пункт меню»

Альтернатива: Action switch з тими самими умовами — зручно для JSON-сценаріїв.

Legacy action if_else у старих ботах робить те саме; на навчанні використовуйте Router або switch.

Критерії приймання (self-check Runs)

Типові помилки

Симптом Причина Що зробити
Усі кнопки ведуть в одну гілку Один edge на всі кнопки Окремий edge на кожен payload
user_choice порожній Не задано Output Variable Увімкнути Output Variable на MessageKeyboard
Бот «замовкає» після тексту Немає default edge Підключити default → підказка
Невірна гілка в Router Порівняння з іншим значенням Звірити payload кнопок і правила Router
Завжди default у Router Немає default branch Увімкнути default branch у Router

Пов'язана документація

Працюєте з власним ШІ-агентом?Встановіть відкритий skill, щоб ваш ШІ-агент працював з актуальною офіційною документацією ConnectiveOne.Отримати skillПотрібна підтримка?Не знайшли відповідь або потрібна допомога команди ConnectiveOne? Створіть запит у Client Portal.Створити запит