Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
Request a Feature
Conversation Designer
Dialog Tasks
Mock Scenes
Dialog Tasks
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node
GenAI Prompt
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
Knowledge Graph
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
Digital Forms
Digital Views
Session and Context Variables
Context Object
Intent Discovery
NLP Optimization
ML Engine
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
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
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
Health and Monitoring
NLP Health
Flow Health
Actions Overview
Azure OpenAI
Google Maps
Microsoft Graph
Open AI
Agent Transfer Overview
Custom (BotKit)
NiceInContact(User Hub)
Configure Tokyo and Lower versions
Configure Utah and Higher versions
External NLU Adapters
Dialogflow Engine
Test and Debug
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
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
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Manage Assistant
Team Collaboration
Plan & Usage
Usage Plans
Support Plans
Conversation Sessions
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data Table
Table Views
App Definitions
Data as Service
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
API Reference
API Introduction
API List
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
SDK Functions
SDK Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
Widget SDK Tutorial
Web SDK Tutorial
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Data Tables and Views
Assistant Management
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
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Small Talk

Small Talk

Small Talk refers to the casual conversations that a Virtual Assistant can have with end-users. The ability to engage end-users in casual conversations helps socialize your assistant and improves recall rates.

The Small Talk conversation is designed as a series of interaction volleys between the assistant and the user. VAs that can answer social inputs like How Are You? are more likely to create a positive impression and help build an invaluable connection with the user.

You can find Small Talk within your VA, under Build > Conversation Skills > Small Talk.


Positive interactions are key to businesses today, especially in the context of CRM automation. Even when people know that they are not being assisted by a human, they still appreciate the occasional joke, casual chat or other friendly cues that make human-to-human conversations more engaging. This is why a Virtual Assistant that can handle small talk improves the experience for your users or customers.

The Small Talk Engine within the XO Platform lets you configure the conversational elements that are specific to your business context, so that you can create a conversational VA that recognizes when people make small talk and responds accordingly, thus providing a friendly experience, rather than one that feels dry and technical. 


The Small Talk Engine provides the following features:

  • Custom Small Talk allows you to build a personality and train the VA to conduct casual conversations around your areas of interest.
  • Nested conversations to answer follow-ups during a conversation and make the VA more engaging.
  • Emoji identification: The XO Platform can identify the emojis in user utterances and respond accordingly, using Small Talk.
  • Small Talk works with intent detection. Interjections, such as hello at the start of an utterance will not be considered as small talk. For example, the user’s utterance Hello, I need to book a flight will be matched with the intent: book a flight, so the VA will address the user’s need, rather than use Small Talk.


Small Talk is a series of User Utterances and Bot Responses. The primary objective of Small Talk is to engage users in casual conversations and in general, functional topics or business transactions are not included in Small Talk.

The various user queries in Small Talk are categorized into groups and assigned hierarchical structure. The Greetings category is auto-generated by default for all new assistants. This group contains various questions related to greetings and pleasantries. You can define additional groups or categories and build interaction flows under each group.

  • Each group can have one or more top-level questions. A top-level question can have one or more child questions.
  • A child question can have one or more subsequent child questions up to three levels. Every question can have one or more alternate questions.
  • Every question can have one or more responses. When multiple responses are present, the Platform will pick one at random.


Following are the various terms associated with Small Talk:

  1. Groups – Based upon the purpose and content, Small Talk is categorized into groups.
  2. User Queries – For each group, you can add User Queries, Alternate Queries, and Child Queries. Queries are formed using patterns. Know more about patterns
  3. Bot Responses – Each User Query must be associated with a bot response. These can be in plain text format or JavaScript. You can specify channel-specific responses. You can also enter multiple responses, one of which will be picked randomly by the Platform at runtime.

Default Small Talk

Small Talk is a VA-level task that is configured automatically. When you create a new VA, the Small Talk is generated by default.


  • When you open the Small Talk Task in an existing VA, you will be informed of the migration of standard responses related to greetings to the Small Talk feature. You can choose not to Proceed and continue with the Standard Responses.
  • If you proceed with the migration, the Greetings will be permanently deleted from the Standard Responses section and cannot be retrieved.


The following are the messages under the Greetings group (these are the Standard Responses of Greeting and other categories that are migrated to Small Talk once you choose to Proceed)


Response when User says Hi

Shown when the user says hi, hello, hey, etc, or just enters the VA’s name.

Response to ‘how are you’?

The user asks “how are you?”

NL interprets the following ways in which the user can say that:

<how are you>, <how are u doing> <how are u how are u>

<how have u been doing> <how have`u`been> <how`do`u`do> <how`are`u`doing> <how`are`u>

whazzupp whatcha`upto watsup wassup howzit

comment`est`vous comment`ca`va ca`va

<what`up <what`is`up`today

<what`is`up <what`is`the`word> <what`is`the`latest`word> <what`is`new> <what`is`happening>

<what`is`going`on> <what’up <is`everything`OK <is`everything`alright <how`you`feeling

<how`you`doing <how`is`tricks <how`is`life <how`is`it`going <how`is`everything

<how`is`by`you <how`have`you`been`doing> <how`have`you`been> <how`goes> <how`goes`things

<how`goes`it <how`is`your`day <how`do`you`do> <how`are`you> <how`are`things>


Response to ‘who are you?’

Shown when the user says “who are you”

User says ‘great’, ‘awesome’, etc. when there is no task in context

Shown when the user says great, awesome, etc. (probably after finishing a task)

User says ‘that helped’, ‘that was useful’, etc.

Shown when the user says good, great, awesome, cool, “fair enough”, “that helped”, “it helps”, “that was useful”, “that was handy” etc. (probably after finishing a task)

User says ‘no’, ‘nope’, etc. when there is no task in context

This is small talk in the response to when the user utterance is – ‘No’, ’Nopes’ etc.

User says ‘I am done’, ‘That’s it for now’, etc. when there is no task in context

Shown when the user says “I am done”, “that’s it for now”, “that’s all”, done, etc. (probably after finishing a task)

User implies to end the conversation (eg. ‘good night’, ‘bye’, ‘ttyl’)

This condition occurs only for Dialog tasks for which the following Follow-up Tasks Setting is configured: “Yes, at the end of this dialog ask the user to select and perform a task from ‘Follow-up task’ list in the Dialog settings.” The VA shows this message when it presents the Follow-Up Intents array to the user at the end of the Dialog.

User says thanks

Shown when the user thanks the VA.

User says ‘OK’, ‘fine’, ‘yes’ etc. when there is no task in context

Shown when the user says OK, fine, got it, etc (probably after finishing a task)

Customize Small Talk

General Setup

To add Small Talk to your VA, follow the below steps:

  1. Open the VA  to which you want to add Small Talk;
  2. From the top menu, go to Build and access the sub-menu Conversational Skills -> Small Talk
  3. You need to start by adding a New Group.
  4. Next, you need to add User Queries and Bot Responses.

Add Groups

You can create a New Group manually by clicking New Group.

On the New Group dialog box, enter a name in the Group Name field, then click Proceed.

From the Small Talk editor that opens you can enter User Utterance – Bot Response pairs and Add to the list.

Group Settings

On hovering over any Small Talk group, you have the option to:

  • Delete the group.
  • Settings that will allow you to:
  • Manage Variable Namespaces by associating a variable namespace to use with this Small Talk group. This option is visible only when the variable namespace is enabled for the VA. For more information, refer to Managing Namespace.

Import Small Talk

If you have already had Small Talk for your company, you can import it using a JSON or TSV file  

  •  While in Small Talk, click the more (ellipses) icon and select the Import option.
  • At this point you can download  a sample file to get the formatting details, if you need them. Once your import file is prepared, select it and click Next
  • The import starts. 

CAUTION: Existing Small Talk will be replaced with the imported file.

Modify the Existing Greetings Group

You can click the existing Greetings group to modify it, if the default small talk does not fit your needs. From the Small Talk editor that opens you can now enter User Utterance – Bot Response pairs and Add to the list.

Work with Query – Response Pairs

Once you create/import a group, you can add/modify the query-response pairs.

  1. Enter the User Query in the User column and the corresponding Bot Response in the Bot column.
  2. Press Enter or Add to add the query-response pair to the list.

  3. Queries are designed using patterns. Know more about patterns.
  4. For each User Query, you can enter alternate questions that depict a different way the user might ask the same query.
  5. For each bot response, you can enter alternate responses. The Platform picks one response at random during runtime.
  6. Using the handlebar icon that appears in front of the question on hover, you can rearrange the order of the questions.
  7. Each User Query can have a child query. The child-questions can be asked only when the parent-question is asked and responded to. To add a Child Query, use the + icon that appears next to the question when you hover over it.
  8. You can delete query or response alternatives by hovering over them and clicking on the red x in the top right.
  9. You can also delete the entire Query-Response pair, along with its child pair by hovering over the parent and clicking the bin icon on the far right. You will be asked to confirm your choice.
  10. Responses are Channel-specific and Java Script formatted. By clicking the Settings (gear icon) that appears next to the response, when you hover over it you will reach the Manage Response window. Here is where you can configure the following:
    1. Add a default message to be displayed on all channels.
    2. For channel-specific responses:
      1. Click + Add Response.
      2. Click the New Prompt Message.
      3. Select the Channel.
      4. Enter the response in standard text or in Java Script using the Advanced Mode. If applicable Select a Template. (see here for more on message formatting).
      5. Click Save.

Small Talk Context

You can mark desired information in the user utterance pattern definition and it will be available in the context. A new section called Small Talk is introduced under NL Analysis which stores the contextual information from the ongoing small talk. You can use this information to personalize the Small Talk messages.

  • Marking a section in the user input pattern by including an underscore ‘_’ symbol you can indicate the required information. For example, I am from _~location Where are you from? will allow you to capture the location from the user utterance.
    This information is stored in the Small Talk context and can be accessed using: context.smallTalk.matchData._0 The following is the JSON structure:

    context.smallTalk.matchData._0 The following is the JSON structure:
      "pattern": "I am from _~location Where are you from?",
      "matchData": {
        "_0": "chicago"
      "previousMatchData": []
  • You can define and store multiple pattern tokens in the same user input and they can be accessed using the positional count variables – _0, _1, _2 so on, and so forth. Since they capture the positional content, they are not continuous in case the optional token is missing from the user utterance.
    For example, consider the pattern: how is the _[ climate temperature ]  { at _~location } ~time
    • Case1
      • user utterance: “how is the temperature in London today
      • context:
          "pattern": "how is the _[ climate temperature ]  { at _~location } ~time",
          "matchData": {
            "_0": "temperature"
            "_1": "London"
            "_2": "today"
          "previousMatchData": []}
      • Case2:
        • user utterance: “how is the climate today
        • context:
            "pattern": "how is the _[ climate temperature ]  { at _~location } ~time",
            "matchData": {
              "_0": "climate"
              "_2": "today"
            "previousMatchData": []

The context can be accessed from the child nodes under previousMatchedData array using: context.smallTalk.previousMatchData[i].matchData._0 with the variable i taking the index value of 0, 1, and 2 based on the parent level.

The JSON structure for the parent Small Talk context would be:

  "pattern": "That is nice",
  "matchData": {},
  "previousMatchData": [
      "pattern": "I am from _~location Where are you from?",
      "matchData": {
        "_0": "chicago"
      "pattern": "That is far.",
      "matchData": {}

The context persists until one of the below scenarios occurs:

  • End of the session.
  • A new primary Small Talk intent is detected.
  • Any other intent which is not Small Talk is triggered.


Once you have made changes to the Small Talk, it needs to be trained for the VA to pick up the Small Talk. Click  Train on the Small Talk editor screen to train the assistant.

Note: Importing Small Talk file triggers the training automatically.


Important Notes

  • Only three levels of child nodes are allowed in Small talk. The child questions are identified only if the corresponding parent level question was answered in the previous volley.
  • The questions are evaluated in the order in which they are added in a group. It is advisable to add generic small talk at the end and specific small talk at the beginning (For example, how is your day today? must be added first and then followed by how are you). You can re-order the primary questions after adding them.
  • Groups are also evaluated in the order in which they are added.
  • Duplicate top-level questions, across all categories, are not allowed.
  • Intents and Knowledge Collection will take precedence over Small Talk i.e. when Intents (or FAQs) and Small Talk are detected, preference is given to Intents (or FAQs).
  • Any Small Talk identified is displayed after Ranking & Resolver.
  • Small talk is language-specific. If your assistant is multilingual, then you can design Small Talk in each of the enabled languages.
  • Interruption Behavior for Small Talk is handled using the following options from Build > Intelligence > Manage Interruptions > Interruption Behavior for Small Talk:
    • Respond to Small Talk and resume the on-hold task – this is the default setting.
    • Execute the Small Talk using Hold & Resume settings.

Responsive Menu
Add more content here...
Responsive Menu
Add more content here...