GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Major Version
Recent Updates
Previous Versions
Deprecations
Request a Feature
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
Integrations
Actions
Actions Overview
Azure OpenAI
Overview
Templates
BambooHR
Overview
Templates
Freshdesk
Overview
Templates
Freshservice
Overview
Templates
HubSpot
Overview
Templates
JIRA
Overview
Templates
Microsoft Graph
Overview
Templates
Open AI
Overview
Templates
Salesforce
Overview
Templates
ServiceNow
Overview
Templates
Stripe
Overview
Templates
Twilio
Overview
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
Salesforce
ServiceNow
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
NLP Insights
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Plan & Usage
Overview
Usage Plans
Support Plans
Invoices
Authorization
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
Widget SDK Tutorial
Web SDK Tutorial
ADMINISTRATION
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Data Tables and Views
Assistant Management
Enrollment
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Control
Using Single-Sign On (SSO)
Two-Factor Authentication (2FA)
Security Settings
Cloud Connector
Analytics
Billing
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Intelligence
  5. Interruptions Management

Interruptions Management

Human conversations are characterized by twists and turns, and no two directions are ever the same. Natural conversations often tend to go beyond linear intent resolution paths defined in virtual assistants. Ideally, a user allows the VA to take an intent to its logical conclusion before initiating another, but that is not always the case.

Consider the following conversation for example:

It includes an entity value for the assistant to proceed with the current intent, while also presenting a new user requirement or intent.

VAs must account for this by allowing users to pause a task, start and complete another task, and seamlessly return to the original task without losing important contextual data and conversation continuity.

Kore.ai provides you with granular control over hold and resume functionality at the VA, task, and node levels, and allows you to control context switching rules and behaviors. You can handle such interruptions in intent flows by providing a whole range of options to define the task-switching experience.

The Manage Interruptions options allow you to select if and how a user can switch to another task, as well as the exit strategies. It can be set up at the VA, task, and node levels to ensure the configurations are layered to suit your various business requirements. You can also add conditional exceptions between tasks with the ability to pass contextual data between them.

The following sections describe:

  • The configuration hierarchy at the VA, task, and node levels.
  • The various configurations you can use to Manage Interruptions.

Interruptions Hierarchy

Apart from defining the generic interruptions options at the VA level, you can customize these options at the dialog task or dialog node level. When you set up the Hold and Resume options in more than one levels, the order of precedence of the settings works as follows:

  1. Node level settings,
  2. Dialog task level settings,
  3. VA level settings.

Node Level Settings

You can customize the interruptions settings at the node level. If you customize the settings for a node, this configuration takes the highest precedence.

To customize the interruptions settings for a node:

  1. Open the dialog task and then the node to change settings.
  2. Click the instance tab and select Advanced Controls.
  3. Under the Interruptions Behavior section, select Customize for this node and make the necessary configurations. These configurations are the same as discussed above for the VA level Interruptions Settings.

Dialog Level Settings

The dialog level Interruptions customizations have higher priority over VA level settings but rank lower than the node level customizations or any exceptions.

To customize the Interruptions settings for a dialog:

  1. Open the Dialog task you want to customize.
  2. On the top-right of the dialog builder, click the more options icon and then click Manage Interruptions.

  3. Under the Interruptions Behavior section, select Customize for this task and make the necessary configurations. These settings are the same as discussed above for the Bot Level Interruptions.

Note: If you do not customize Interruptions settings at the node or task level, the VA level settings apply.

Bot Level Settings

The VA Level interruptions settings can be overridden at the task level as discussed above.

You can access the interruption settings for your VA from under Build > Intelligence > Manage Interruptions page.

The Platform provides options for Interruptions Behavior under the following three categories:

  • Allow interruptions: Provides options for you to choose for holding a task and options to resume it later.
  • Do not allow interruptions: Stops new tasks from interrupting the current task.
  • Allow the end user to select the behavior: Seeks end-user confirmation to switch to a new task and provides several resume options for you to pick from.
Note: When the user provides input after a session has ended, i.e. after at least 15 minutes of inactivity, and if the input is within the previous session context, it is treated as an interruption scenario. If instead, the user comes back with a new utterance, then the old context is discarded and a new conversation is started.

 

Allow Interruptions

Once you allow for task interruption, you need to specify the VA’s  behavior in such scenarios as what should happen to the current task, where should the conversation go once the interruption task has been completed, etc.

Following are the options under Allow interruptions.

OPTION

DESCRIPTION

Hold the current task and resume back once the new task is completed

This option lets the assistant switch to a new intent as soon as it is detected irrespective of the current intent flow. When you select this option, the Resume Options section appears providing further choices to define how to resume the on-hold task once the new intent task is completed.  Refer to the Resume Options section below for details.

Discard the current task and switch to new

When you select this option, the VA discards the current task and switches to a new task soon after it encounters another intent. The VA sends a message to notify the user before switching to the new task and the current task would be discarded. You can customize the message from the Manage Response setting.

Switch to a new task without any notification to the user and discard the current task

When you select this option, the VA discards the current task and switches to a new task soon after it encounters another intent. The VA does not notify the user about the switch and does not resume the current task later.

Continue with the current task and add a new task to the follow-up task list

When you select this option, the VA continues on the current task even if it encounters a new intent. It, however, adds the new intent to the Follow-up intents array. Refer to the Follow-up Intents documentation for more information.

Do not allow interruptions

When you select this option, the assistant-level interruptions are turned off. However, you may override this behavior for selected tasks, linked dialogs (exceptions), or node levels. Refer to the Interruptions Hierarchy section above for more information.

Allow the end user to select the behavior

When you select this option, the VA presents the end-user with a confirmation message asking if the user wants to switch to a new task. The VA switches to the new task only if the end-user chooses to do so. You can customize the confirmation message sent to the user by clicking the Manage Response link next to the option.

You need to define a Resume option that the VA should take if the user decides to switch the task. Refer to the Resume Options section below for details.

Resume Options

Once you allow the task to be put on hold and proceed with the interruption task, you must configure the Resume option i.e. how the on-hold task should be handled once the interrupting task is completed.

OPTION

DESCRIPTION

Get confirmation with the user before resuming an on-hold task

After executing the new task, the VA gives Yes or No options to the user to return to the last on-hold task. You can write a custom message for the user by clicking the Manage Response link next to the option.

Example:

User: Hi
VA: Hello!
User: Can you book me a flight for tomorrow?
VA: From which city are you flying?
User: Los Angeles
VA: Where to?
User: By the way, what’s the weather forecast for tomorrow?
VA: Please enter the name of the city for the forecast.
User: Los Angeles
VA: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
VA: Should I continue with the task 'Book Flight'?
User: Yes
VA: Enter the name of the destination airport

Notify the user with a message that the on-hold task is being resumed

Notifies the user with a message and resumes the last task that’s kept on hold without user confirmation.

You can customize the notification message by clicking the Manage Response link next to the option.

Example:

User: Hi
VA: Hello!
User: Can you book me a flight for tomorrow?
VA: From which city are you flying?
User: Los Angeles
VA: Where to?
User: By the way, what’s the weather forecast for tomorrow?
VA: Please enter the name of the city for the forecast.
User: Los Angeles
VA: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
VA: Resuming interrupted task Book Flight
VA: Enter the name the of the destination airport

Resume the on hold task without any specific message to the user

Directly resumes the last task that’s kept on hold soon after the current task is executed.

Example:

User: Hi
VA: Hello!
User: Can you book me a flight for tomorrow?
VA: From which city are you flying?
User: Los Angeles
VA: Where to?
User: By the way, what’s the weather forecast for tomorrow?
VA: Please enter the name of the city for the forecast.
User: Los Angeles
VA: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
VA: Enter the name of the destination airport

Always resume the on hold task without any specific message to the user if the task is ended in a single response

Sometimes, the switched-over tasks end with a single response. For example, in the weather forecast example above, if the user had directly entered By the way, what’s the weather forecast for LA tomorrow? the VA would have merely responded with the forecast, with no further steps.

In such cases, if you select this option, the assistant switches back to the task on hold without any confirmation or notification, regardless of the option you’ve chosen.

Note: The switching happens directly, without any notification to the end-user.

 

On Hold Quantity

You can select the number of tasks that you want to keep on hold from the On Hold Quantity field. The assistant keeps a maximum of this number of tasks on hold and ignores the tasks once this value is reached.

For example, if you specify the On Hold Quantity as 1 and if a third intent comes into play, the VA will not allow the new task to be initiated regardless of interruptions options.

Note: Tasks always resume in reverse chronological order. So, if you kept task 2 on hold after task 1, task 2 resumes before task 1.

Manage Behavior for FAQs

You can choose whether FAQs should honor the interruptions settings or if FAQs should be always responded to.

The flag Interruption Behavior for FAQs will allow you to:

  • Always identify and respond to FAQs when interruptions are enabled. This is the default setting.
  • Always identify FAQs when interruptions are enabled and proceed as per the Hold and Resume settings.

Manage Behavior for Ambiguous Intents

You can handle ambiguous intents during a conversation flow by setting the flag Behavior for Ambiguous Interruptions.

These settings allow you to:

  • Present the ambiguous intents to the end-user and proceed as per the Hold and Resume Settings. In case the user selects a task and the interruptions setting is:
    • Continue the current task and add a new task to the follow-up task list, then the current task will be kept on hold and the new task will be initiated.
    • Allow the end-user to select the behavior, then the new task will be initiated without asking the user since the selection has been already made.
    • All other hold options will be applied as usual.
  • Do not present ambiguous intents to the end-users and continue on the current task. This is the default setting.

Manage Behavior for Small Talk

You can handle small talk during a conversation flow by setting the flag Interruption Behavior for Small Talk

These settings allow you to:

  • Respond to Small Talk and resume the on-hold task – this is the default setting.
  • Execute the Small Talk using Hold & Resume settings.

Manage Behavior for User Authorization

When a user gives any input at a prompt message for authorization that is not relevant, the following flow is followed:

  • If Small Talk intent is identified, then the Small Talk’s response is displayed, and the authorization is re-prompted.
  • The Platform checks for the presence of any intents (tasks or FAQs) in the user utterance, irrespective of the configurations set for Manage Interruptions:
    • If the intent is identified, confirmation to discard the current task and trigger the new task is sought.
    • If multiple intents are identified, an ambiguity dialog along with the option to ignore the utterance and continue with the current task is presented.
  • If no intent is identified, then the user is re-prompted with the authorization link.
Menu