For the complete documentation index, see llms.txt. This page is also available as Markdown.

Логування сценарію чат-бота

Логування сценарію чат-бота не є базовим функціоналом за замовчуванням і налаштовується індивідуально за запитом замовника.

Логування подій бота відбувається в конструкторі сценаріїв BotFlow. Для реалізації цієї задачі використовується спеціальна нода-підфлоу — Log Bot/IVR Event. Кожна подія фіксується в момент її виникнення як окремий запис у базі даних (таблиця [bot_ivr_events]).

Щоб здійснити логування, потрібно додати цю ноду в схему (після дії, яку треба залогувати) та заповнити її властивості (Properties).

Налаштування ноди Log Bot/IVR Event

Відповідно до інтерфейсу властивостей ноди (Edit subflow instance), для коректного логування необхідно налаштувати наступні властивості (Properties):

  • Name — назва ноди на схемі (наприклад, Log Back, Log To Submenu).

  • Event — подія, що відбулася (Події, що підлягають логуванню, див. п. 1. Event).

  • Source — джерело та розділ, звідки подія зафіксована (Джерела, що підлягають логуванню, див. п. 2. Source).

  • Task — дія, що була виконана в результаті спрацювання події (Дії, що підлягають логуванню, див. п. 3. Task).

  • Name — назва події, що відбулася. Може бути назва обраної кнопки (якщо використана нода Answer Switch фіксується автоматично) або інша кастомна назва події, що була вказана при логуванні.

  • Parent Name — назва попереднього кроку. Для source: chatbot_menu кожна подія, окрім першої (вхід у меню), містить назву кроку, звідки клієнт прийшов (name з попереднього кроку).

Заповнення поля Parent Name відбувається автоматично після ноди Answer Switch.

  • Status — статус виконання сервісу. Фіксується тільки для подій з task:self_serve (Статуси, що підлягають логуванню, див. п. 4.1. status).

  • Exit Reason — причина виходу користувача з бота. Фіксується тільки для подій з task:transfer або task:resolve (Причини, що підлягають логуванню, див. п. 4.2. exit_reason).

  • Custom Data 1-5: Поля для передачі додаткових кастомних даних (за потреби).

  • logger: Вмикає або вимикає виведення логів для аналізу процесу логування.

Оцінка CSAT та системні таймаути логуються автоматично (їх не потрібно налаштовувати додатково).

Опис можливих значень Properties, що підлягають логуванню

1. Event

Події, що підлягають логуванню:

event
Опис

button_click

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

text_input

Користувач вводить текстове повідомлення в чат-боті у відповідь на відкрите запитання (без кнопок)

system_event

Подія, ініційована системою (наприклад, таймаут неактивності клієнта, агента або бота)

api_request

Виклик веб-сервісу в рамках сценарію чат-боту для отримання даних клієнта або виконання операції

announce

Відправка повідомлення клієнту

2. Source

Джерела, що підлягають логуванню:

source
Опис

chatbot_language

Чат-бот: етап вибору мови

chatbot_menu

Чат-бот: етап проходження меню

chatbot_csat

Чат-бот: етап CSAT

agent

Подія на етапі знаходження діалога на агенті

3. Task

Задачі, що підлягають логуванню:

task
Опис

subflow

Перехід у меню або підменю

transfer

Переведення діалогу з боту/ivr на агента/команду

resolve

Завершення діалогу

self_serve

Запуск сервісу самообслуговування

4. Деталізація дій (task).

4.1. status

Статус виконання сервісу. Фіксується тільки для подій з task:self_serve.

Статуси, що підлягають логуванню:

status
Опис

initiated

Запущено сценарій сервісу самообслуговування

completed

Сервіс самообслуговування завершено успішно

failed

Сервіс самообслуговування завершено неуспішно

4.2. exit_reason

Причина виходу користувача з бота. Фіксується тільки для подій з task:transfer або task:resolve.

Причини, що підлягають логуванню:

exit_reason
Опис

transfer_button

Обраний пункт меню з дією трансфер

end_button

Обраний пункт меню з дією завершення діалогу

client_timeout

Завершення діалогу по неактивності клієнта

agent_bot_timeout

Завершення діалогу по неактивності агента/бота

not_working_time

Завершення діалогу через неробочий час

csat

Завершення діалогу після проходження csat

Будь-яка кастомна причина завершення, що була вказана при логуванні


Приклади можливих сценаріїв логування подій

  1. Сценарій: Вибір мови, навігація по меню, трансфер на агента та проходження CSAT

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Депозити.

  3. Користувачу відображається підфлоу меню Депозити, і він обирає пункт Назад.

  4. Користувачу знову відображається Головне меню, і він обирає пункт Кредити.

  5. Користувачу відображається підфлоу меню Кредити, і він обирає пункт Головне меню.

  6. Користувачу відображається Головне меню, і він обирає пункт Карти.

  7. Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.

  8. Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система виконує дію трансферу на агента.

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

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Депозити

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Назад

Депозити

subflow

NULL

NULL

4

button_click

chatbot_menu

Кредити

Назад

subflow

NULL

NULL

5

button_click

chatbot_menu

Головне меню

Кредити

subflow

NULL

NULL

6

button_click

chatbot_menu

Карти

Головне меню

subflow

NULL

NULL

7

button_click

chatbot_menu

Відкрити

Карти

subflow

NULL

NULL

8

button_click

chatbot_menu

Дебетову

Відкрити

transfer

NULL

transfer_button

9

button_click

chatbot_csat

Відмінно 😄

NULL

resolve

NULL

csat

  1. Сценарій: Завершення діалогу - кнопка “Завершити”

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Карти.

  3. Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.

  4. Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Завершити. Система завершує діалог

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Карти

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Відкрити

Карти

subflow

NULL

NULL

4

button_click

chatbot_menu

Завершити

Відкрити

resolve

NULL

end_button

  1. Сценарій: Завершення діалогу - Завершення по таймауту неактивності клієнта

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Карти.

  3. Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.

  4. Користувачу відображається підфлоу меню Карти – Відкрити. Користувач не здійснює жодних дій протягом часу очікування. Система завершує діалог автоматично

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Карти

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Відкрити

Карти

subflow

NULL

NULL

4

system_event

chatbot_menu

NULL

NULL

resolve

NULL

client_timeout

  1. Сценарій: Завершення діалогу - Завершення по таймауту неактивності агента

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Карти.

  3. Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.

  4. Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система виконує дію трансферу на агента.

  5. У процесі спілкування агент не відповідає протягом встановленого часу. Система автоматично завершує діалог

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Карти

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Відкрити

Карти

subflow

NULL

NULL

4

button_click

chatbot_menu

Дебетову

Відкрити

transfer

NULL

transfer_button

5

system_event

agent

NULL

NULL

resolve

NULL

agent_bot_timeout

  1. Сценарій: Завершення діалогу - Звернення в неробочий час

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Карти.

  3. Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.

  4. Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система перевіряє робочий графік і виявляє, що час поза робочими годинами. Система завершує діалог

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Карти

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Відкрити

Карти

subflow

NULL

NULL

4

button_click

chatbot_menu

Дебетову

Відкрити

resolve

NULL

not_working_time

  1. Сценарій: Сервіс самообслуговування з полем введення текстових даних, викликом веб-сервісу та анонсування інформації

Опис флоу:

  1. Для користувача відображається меню вибору мови, і він обирає пункт Українська.

  2. Користувачу відображається Головне меню, і він обирає пункт Карти.

  3. Користувачу відображається підфлоу меню Карти, і він обирає пункт Баланс карти. Система ініціює сценарій самообслуговування (task=selfServe, status=initiated).

  4. Користувачу відображається повідомлення “Введіть номер вашої картки”, і він вводить значення вручну.

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

  6. Після отримання відповіді користувачу відображається анонс із балансом картки та фіксується, що сервіс виконано успішно.

  7. Користувачу задається запитання “Чи має він ще запитання”, і він обирає пункт Ні. Система завершує діалог

Приклад логування:

event
source
name
parent_name
task
status
exit_reason

1

button_click

chatbot_language

Українська

NULL

subflow

NULL

NULL

2

button_click

chatbot_menu

Карти

NULL

subflow

NULL

NULL

3

button_click

chatbot_menu

Баланс карти

Карти

selfServe

initiated

NULL

4

text_input

chatbot_menu

ask_card_number

Баланс карти

subflow

NULL

NULL

5

api_request

chatbot_menu

ws_clientdata

ask_card_number

subflow

NULL

NULL

6

announce

chatbot_menu

announce_card_balance

ws_clientdata_call

selfServe

completed

NULL

7

button_click

chatbot_menu

Ні

announce_card_balance

resolve

NULL

other_question_no

Last updated