@lbellanova
You may have gone through end of conversation. End of conversation is triggered when there is a logical end of dialog flow and the bot is idle (Note - waiting for an entity is not being idle). So, on answering a FAQ, on completion of a task, the ‘end of conversation’ event is triggered. For small-talk, ‘end of conversation’ is not triggered. You cannot stop it. But what you can still do is check for the following context objects in a script node to make a decision for routing the bot flow. Say - for end of conversation resulting from canceling of a dialog, you can show some message, for end of conversation resulting from an FAQ you can show a different message, or call a different sub-dialog, etc.
context.invocationSource
. It is set as
"invocationSource": {
"type": "endConversationEvent"
}
There can be more values like -
"invocationSource": {
"type": "transitionBased"
}
Also refer to some objects like context.endOfTask.endOfTaskReason
, context.endOfTask.intentType
. Below are a couple of examples but the documentation link above will give you more reasons with which you can handle the bot flow according to your needs.
"endOfTask": {
"endOfTaskReason": "Fulfilled",
"intentType": "FAQ",
"primaryQuestion": "What is the definition of severities",
"matchedQuestion": "severity of tickets",
"pathTraversed": [
"operation",
"ticket",
"definition",
"severity"
]
}
Or
"endOfTask": {
"endOfTaskReason": "Fulfilled",
"intentType": "dialog",
"taskName": "feedback",
"lastNode": "message8"
}
You can check for more values and more useful context objects under debug log window
When an intent is not recognized, default dialog (if you have configured it) is triggered and not end of the conversation. If you have somehow configured the same dialog task, you may get confused.
I hope this helps.