Chatbot scenario logging
Chatbot scenario logging is not a default feature and is configured individually upon the client’s request.
Bot events are logged within the BotFlow scenario builder. To implement this, a special subflow node — Log Bot/IVR Event — is used. Each event is recorded at the moment it occurs as a separate entry in the database (table [).
To enable logging, add this node to the flow (after the action you want to log) and fill in its Properties.

Configuring the Log Bot/IVR Event Node
Log Bot/IVR Event NodeAccording to the node’s property interface (Edit subflow instance), to ensure correct logging, configure the following properties (Properties):
Name — the name of the node in the flow (e.g., Log Back, Log To Submenu).
Event — the event that occurred (for loggable events, see point 1. Event).
Source — the source and section from which the event was recorded (for loggable sources, see point 2. Source).
Task — the action performed as a result of the event (for loggable actions, see point 3. Task).
Name — the name of the event that occurred. This can be the name of the selected button (if using the Answer Switch node, it is logged automatically) or another custom event name specified during logging.
Parent Name — the name of the previous step. For source: chatbot_menu, each event except the first (menu entry) contains the name of the step the client came from (name from the previous step).
This field is filled automatically after the Answer Switch node.
Status — service execution status. Logged only for events with task:self_serve (see point 4.1. status).
Exit Reason — the reason the user exited the bot. Logged only for events with task:transfer or task:resolve (see point 4.2. exit_reason).
Custom Data 1-5 — fields for passing additional custom data (if needed).
logger — enables or disables log output for analyzing the logging process.

CSAT ratings and system timeouts are logged automatically (no additional configuration is required).
Description of loggable Properties values:
1. Event
Events that are subject to logging:
button_click
The client selects one of the predefined options in the language selection menu, self-service menu, or CSAT rating menu.
text_input
The user enters a text message in the chatbot in response to an open question (without buttons).
system_event
An event initiated by the system (e.g., client, agent, or bot inactivity timeout).
api_request
A web service call within the chatbot scenario to retrieve client data or perform an operation.
announce
Sending a message to the client.
2. Source
Sources that are subject to logging:
chatbot_language
Chatbot: language selection stage
chatbot_menu
Chatbot: menu navigation stage
chatbot_csat
Chatbot: CSAT stage
agent
Event at the stage of locating the dialogue on the agent
3. Task
Tasks to be logged:
subflow
Navigating to a menu or submenu
transfer
Transferring the dialogue from bot/IVR to agent/team
resolve
Dialogue completion
self_serve
Self-service launch
4. Action Details (task)
4.1. Status
Service execution status. Logged only for events with task:self_serve.
Statuses to be logged:
initiated
Self-service scenario started
completed
Self-service completed successfully
failed
Self-service completed unsuccessfully
4.2. exit_reason
Reason for user exit from the bot. Logged only for events with task:transfer or task:resolve.
Reasons to be logged:
transfer_button
Menu item selected with transfer action
end_button
Menu item selected with dialogue completion action
client_timeout
Dialogue completion due to customer inactivity
agent_bot_timeout
Dialogue completion due to agent/bot inactivity
not_working_time
Dialogue completion due to non-working hours
csat
Dialogue completion after CSAT completion
Any custom exit reason specified during logging
Examples of possible event logging scenarios
Scenario: Language selection, menu navigation, transfer to agent, and CSAT completion
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Deposits.
The user sees the Deposits submenu and selects Back.
The user is shown the Main Menu again and selects Credits.
The user sees the Credits submenu and selects Main Menu.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Open.
The user sees the Cards → Open submenu and selects Debit. The system performs a transfer to the agent.
After the dialogue is completed by the agent, the user is presented with the CSAT survey and selects Excellent 😄.
Example of logging:
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
Scenario: Dialogue completion – “Finish” button
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Open.
The user sees the Cards → Open submenu and selects Finish. The system completes the dialogue.
Example of logging:
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
Scenario: Dialogue completion – Completion due to customer inactivity timeout
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Open.
The user sees the Cards → Open submenu. The user does not take any action during the waiting period. The system automatically completes the dialogue.
Example of logging:
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_timeo
Scenario: Dialogue completion – Completion due to agent inactivity timeout
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Open.
The user sees the Cards → Open submenu and selects Debit. The system performs a transfer to the agent.
During the conversation, the agent does not respond within the set time. The system automatically completes the dialogue.
Example of logging:
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_timeou
Scenario: Dialogue completion – Contact during non-working hours
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Open.
The user sees the Cards → Open submenu and selects Debit. The system checks the working schedule and determines that it is outside working hours. The system completes the dialogue.
Example of logging:
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
Scenario: Self-service with text input field, web service call, and information announcement
Flow description:
The user is presented with the language selection menu and chooses Ukrainian.
The user is shown the Main Menu and selects Cards.
The user sees the Cards submenu and selects Card Balance. The system initiates a self-service scenario (
task=selfServe,status=initiated).The user sees the message “Enter your card number” and inputs the value manually.
The system calls an external web service to retrieve the balance information.
After receiving the response, the user is shown an announcement with the card balance, and it is logged that the service was completed successfully.
The user is asked “Do you have any other questions?” and selects No. The system completes the dialogue.
Example of logging:
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