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

Use Case 10: Тікет з бота + categorizer

Перед стартом: прочитайте Categorizer pattern. Виконуйте в навчальному боті після базового рівня (Use Case 1–9).

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

Модуль / налаштування Навіщо
Scenario Builder Збірка flow з categorizer і create-тікета
Fast Line Pro Categorizer-агент (тип «Чат-бот»)
Settings → Tickets Теми тікетів і subject_alias
Settings → Bots Канал для тесту (preview або Telegram)
Runs / Chat preview Self-check: ticket_id, edges success/error

Якщо розділу Settings → Tickets немає в меню — перевірте права облікового запису або зверніться до того, хто керує доступами у вашій організації / до підтримки ConnectiveOne.

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

Клієнт описує проблему вільним текстом у боті. Система має автоматично визначити тип звернення, зібрати обов'язкові поля та створити тікет у ConnectiveOne. Номер тікета має бути доступний у Runs для подальшої перевірки.

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

  • Форма збору: тема, опис, пріоритет
  • Categorizer → змінна категорії → subject_alias через Router / switch
  • action_tickets_create → edges success і error
  • Клієнт отримує підтвердження з номером тікета
  • ticket_id збережено у Runs/constants після success

Архітектура

MessageKeyboard («Подати скаргу») → WaitForInput (тема, опис, пріоритет)
   → action_fastline_pro (categorizer) → Router за категорією
   → action_tickets_create
      ├─ success → «Тікет створено: {{ticket_id}}»
      └─ error → «Не вдалося створити» + retry або завершення

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

Крок 0. Теми тікетів у Settings

Зв'язок з іншими налаштуваннями: subject_alias і custom fields тікета мають відповідати темам у Settings → Налаштування Тікетів. Детальніше: налаштувати тікети.

Створіть (або використайте) теми з alias для навчання:

Alias (приклад) Призначення
training_payment Проблеми з оплатою
training_delivery Проблеми з доставкою
training_damage Пошкоджений товар
training_order Неправильне замовлення

Запишіть alias — вони потрібні в Router на кроці 5.


Крок 1. Fast Line Pro — categorizer

  1. Fast Line Pro → створіть агента типу Чат-бот (наприклад, «Training Ticket Categorizer»).
  2. У prompt вставте текст з файлу categorizer-training.txt — секція Use Case 10 (тікети).
  3. Перевірте в Тестування агента: вхід «не прийшла оплата» → вихід payment.

Що робить categorizer: перетворює вільний опис на одну категорію (payment, delivery, damage, order, other).

Параметр Fast Line Pro Значення
Тип Чат-бот (не Agent)
Prompt categorizer-training.txt
Вихід у сценарії змінна ticket_category

Fast Line Pro action


Крок 2. MessageKeyboard — вхід у flow

Параметр Значення
Текст «Хочете подати звернення?»
Кнопка «Подати скаргу» · payload ticket_start
Тип клавіатури inline

Edges: кнопка → перша нода WaitForInput (тема).


Крок 3. WaitForInput — збір полів

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

Нода messageText outputVariable
1 «Коротко опишіть тему звернення» ticket_title
2 «Детальний опис проблеми» ticket_description
3 «Пріоритет: low / normal / high» ticket_priority

Validation: none на навчанні (або обмежте пріоритет списком, якщо потрібно).

Edges: останній WaitForInput → Action categorizer.


Крок 4. Action — action_fastline_pro (categorizer)

node_params Значення Навіщо
agent_name Training Ticket Categorizer Ім'я з Fast Line Pro
user_input {{ticket_description}} Текст для класифікації
save_response ticket_category Категорія для Router

Edges (обов'язково):

Edge Куди
Основний вихід Router (мапінг alias)
fallback MessageKeyboard: «Не вдалося визначити тип. Спробуйте переформулювати опис.»

Крок 5. Router — мапінг категорії на subject_alias

Нода: Router (action_router), режим first_match + default branch.

Правило subject_alias
ticket_category equals payment training_payment
equals delivery training_delivery
equals damage training_damage
equals order training_order
Default training_order (або окрема тема «інше»)

Після Router — Set subject_alias (якщо потрібно) або одразу action_tickets_create.

Альтернатива: Action switch з тими самими умовами.


Крок 6. Action — action_tickets_create

node_params Значення Навіщо
subject_alias {{subject_alias}} Тема тікета з Settings
ticket_description {{ticket_description}} Опис (v2 API, якщо доступно)
additional_fields title, пріоритет за docs теми Custom fields теми

На нових інстансах може бути action_tickets_create_v2 — перевірте Node Inspector; контракт аналогічний.

Edges (обов'язково):

Edge Куди Навіщо
success MessageKeyboard: «Тікет створено. Номер: {{ticket_id}}» Клієнт бачить результат
error MessageKeyboard: «Не вдалося створити тікет. Перевірте дані або спробуйте пізніше.» Без error edge — тиша

Довідник actions — tickets


Troubleshooting у сценарії

Симптом Що перевірити
Edge error після create subject_alias існує в Settings; custom fields теми; v1 vs v2 action
Немає ticket_id у Runs Edge success підключений; action зберігає id у constants
Categorizer повертає «зайве» Prompt — лише одне слово категорії; перевірте Fast Line Pro окремо
«Залипання» chat_room_id Параметри create: не перевикористовуйте старий room без логіки; порівняйте новий Run vs той самий діалог

Детальніше: Edge-driven flow · Коли не сценарій

Self-check (Runs)

Перед переходом до Use Case 11 переконайтеся:

Зафіксуйте результат у results-template.md.

Самостійне завдання

Додайте правило: якщо categorizer повернув payment, автоматично встановлюйте ticket_priority = high перед create (через Set або окрему гілку Router).

Довідкові посилання

Наступний крок: Use Case 11: Broadcast

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