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

circle-info

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

Логування подій бота відбувається в конструкторі сценаріїв 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 з попереднього кроку).

circle-info

Заповнення поля 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: Вмикає або вимикає виведення логів для аналізу процесу логування.

circle-info

Оцінка 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