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

Use Case 7b: Оцінка після діалогу (CSAT / NPS)

Рівень: базовий · Модулі: Scenario Builder, Custom Data · Actions: custom_modules__set, опційно statistic__set

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

Що потрібно Де в меню Навіщо
Scenario Builder Меню → Scenario Builder CSAT-секція, connect з chat_closed_alias
Custom Data Меню → Custom Data Модель feedback_scores, поле INTEGER

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

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

Після завершення діалогу з оператором (або самообслуговування) бот просить оцінити якість обслуговування і зберігає результат. Типова вимога: оцінка лише кнопками, вільний текст не потрапляє в INTEGER-поле.

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

  • Entry у секцію CSAT через alias після закриття діалогу (chat_closed / exit_*).
  • Клієнт обирає оцінку кнопками 1 / 3 / 5 (або ваш набір).
  • Оцінка зберігається в Custom Data (поле типу INTEGER).
  • Вільний текст замість кнопки не потрапляє в INTEGER-поле (edge error або validation).
  • Опційно: statistic__set для платформенної статистики.

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

[Connect blocks] chat_closed_alias → exit_csat
   → send-message-keyboard (1 / 3 / 5)
        ├─ кнопки → custom_modules__set (rate: INTEGER)
        ├─ source-handle → Router / validation (НЕ напряму в __set)
        └─ error на __set → «Оберіть оцінку кнопкою»
   → (опційно) statistic__set
   → «Дякуємо за оцінку»

Зв'язок з іншими налаштуваннями

Alias закриття діалогу (chat_closed_alias / exit_*) задається в connect-блоці і має збігатися в усіх гілках connect у сценарії. Закриття діалогу ініціює вхід у CSAT-секцію — це поведінка операторського контуру + сценарію разом.

Рекомендується мати connect з Use Case 3 перед налаштуванням CSAT.

Connect to operator node

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

Крок 0. Custom Data — модель оцінок

Custom Data → Нова модель feedback_scores:

Поле Тип Alias
Оцінка INTEGER rate
Канал text channel
Коментар text comment (опційно)

Тип INTEGER для rate — обов'язково; free-text у це поле викличе помилку запису.


Крок 1. Connect-блоки — єдиний exit alias

У кожному operator_panel__connect_to_operator_with_msg (і інших connect, якщо є):

node_params Значення Навіщо
chat_closed_alias exit_csat Після закриття діалогу — вхід у CSAT-секцію

Audit (self-check): пройдіть усі connect-блоки в сценарії — alias однаковий; немає дубльованого alias entrypoint у CSAT-секції.


Крок 2. Entry alias — секція CSAT

  1. Секція з точкою входу exit_csat.
  2. send-message-keyboard: «Оцініть обслуговування» + кнопки 1, 3, 5.
Параметр Навіщо
validation.type none лише якщо source-handle від'єднано або захищений
Edges на кожну кнопку custom_modules__set з feedback_scores:rate = значення кнопки

Критично: edge source-handle (fallback для вільного тексту) — не вести напряму в custom_modules__set. Варіанти:

  • Від'єднати source-handle.
  • Або → Router / повторне питання / validation.

Крок 3. Action — custom_modules__set

node_params Значення
module_name feedback_scores
set_to feedback
constants feedback_scores:rate з кнопки, feedback_scores:channel = {{channel}}

Edges: success → подяка · error → «Не вдалося зберегти оцінку» + перевірити тип поля.


Крок 4 (опційно). statistic__set

Якщо інстанс використовує платформенну статистику CSAT — додайте action після успішного запису в CD згідно з довідником actions.


Крок 5. Канали без keyboard

Перевірте supportedMessengers на ноді keyboard: для email / каналів без кнопок — окрема гілка (текстова оцінка з validation або пропуск CSAT).

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

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

Симптом Причина Що зробити
Помилка типу INTEGER Free-text у rate Захистити source-handle, validation
CSAT не запускається Різні chat_closed_alias Audit усіх connect-блоків
Дубль entry Два exit_csat у секціях Залишити один entrypoint
Запис OK, статистика порожня Немає statistic__set Додати опційно за docs

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

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