Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots
Kore.ai's Approach
Kore.ai Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Kore.ai Platform
How to Access Bot Builder
Working with Kore.ai Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Bot Builder
Creating a Bot
Design
Develop
Storyboard
Dialog Task
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Time Zones
Supported Colors
Supported Company Names
Message Nodes
Confirmation Nodes
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Connections & Transitions
Managing Dialogs
Prompt Editor
Alert Tasks
Alert Tasks
Ignore Words and Field Memory
Digital Views
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Small Talk
Action & Information Task
Action Tasks
Information Tasks
Establishing Flows
Natural Language
Overview
Machine Learning
ML Model
Fundamental Meaning
NLP Settings and Guidelines
Knowledge Graph Training
Traits
Ranking and Resolver
NLP Detection
Bot Intelligence
Overview
Context Management
Session and Context Variables
Context Object
Dialog Management
Sub-Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Publishing your Bot
Analyzing your Bot
Overview
Dashboard
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
koreUtil Libraries
Universal Bots
Defining
Creating
Customizing
Enabling Languages
Smart Bots
Defining
Sample Bots
Github
Asana
Travel Planning
Flight Search
Event Based Bot Actions
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Bot Management
Using Bot Variables
API Guide
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Bot Administration
Bots Admin Console
Dashboard
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Enrollment
Inviting Users
Bulk Invites
Importing Users
Synchronizing Users from AD
Security & Compliance
Using Single Sign-On
Security Settings
Cloud Connector
Analytics
Billing
How Tos
Creating a Simple Bot
Creating a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configuring Digital Views
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
  1. Home
  2. Docs
  3. Bots
  4. Advanced Topics
  5. Universal Bot
  6. Defining a Universal Bot

Defining a Universal Bot

Universal Bots facilitate a scalable, modular approach to Bot building by helping you link several Bots into one. The Universal Bot executes the tasks and functions of the linked Bots by routing relevant utterances to the corresponding Bot.

Once you publish a Universal Bot, changes made in the linked Bots automatically reflect in the Universal Bot. As a creator or developer of a Bot, you can add any Bots (published and configured) to a universal Bot and access their underlying tasks and functions. When you publish a universal bot, the end users can only access the tasks that are published in the linked bots.

Note: A universal Bot doesn’t own the linked bots, but it interprets the user utterances and maps them to the correct linked bots. The changes that you make to a linked bot task from inside the universal bot, such as training the task, are saved directly to the linked bot. Also, you cannot create any task for the universal bots except for customizing a default dialog task that gets created automatically with every universal bot.

Before starting with creating a Universal Bot, let us understand how Univeral Bots work and how they differ from the Standard Bots.

Bot Responses

Universal bot responses vary with the number of bots and tasks that match the user intent along with their relevance (exact matches or suggestions). The Natural Language Processing (NLP) engine processes the utterances sent to the linked bots, detects the user intents, and ranks them based on relevance. As a developer, you can test and train the bot responses as explained in Test the Universal Bot.

Following the table shows how universal bot responses operate in various possible NLP outcomes:

NLP Outcome Bot Response
Only one exact match found from any of the linked bots Executes the task with the exact match
Exact matches found in more than one linked bot Shows the names of the bots to the user and prompts them to select one
Exact matches found with two or more tasks of a single linked bot Shows all the matching tasks to the user and prompts them to select one
Suggestions found in more than one linked bot Shows the names of the matching bots to the user and prompts them to select one
Suggestions found with two or more tasks of a single linked bot Shows all the suggestions to the user and prompts them to select one
Only one suggestion found Shows the suggestion to the user asking if they would like to select it
No exact match or suggestion found Executes the universal bot’s default dialog in the specified language.

Standard Bots vs. Universal Bots

Universal Bots connect multiple Standard Bots into a single bot. They support most Standard Bot features with a few exceptions.

Enabled Features and Configurations

This section assumes that you understand the fundamentals of standard bots. Details relevant to the Universal Bots alone are listed here. We recommend you to refer to the relevant standard bot documentation for help with the basics.
The Feature column entries in the following table provide URLs to the standard bot documentation.
The Learn more links in the Description column refer to the universal bot documentation.

Feature Description
Natural Language
Testing Since the universal bot links together standard bots, the Natural Language Processing (NLP) settings are optimized to accurately recognize the relevant bot and intent. You can test and train the universal bot like a standard bot with small differences. When you train the task it happens at the linked bot level. Learn more.
Standard Responses The universal bot will hold a limited set of standard responses that are relevant to bot level functions like greetings. Go to Natural Language -> Default Conversation, to access the Standard Responses section to edit the relevant standard responses.
Batch Testing Universal bots only support testing Custom-defined utterances and not Developer-defined utterances and Succesful user utterances.
The Custom-defined utterances test suites remain similar to the standard bots’ except that the JSON Dataset file that you upload should contain a bot name along with the intent and input for every test case. Also, the downloaded batch test report shows the results with corresponding bot names.
Default Dialog Universal bots come with a default dialog task that gets triggered for unidentified intents. You can customize this task or import a new one. Learn more.
Help

When a user types Help during a chat, a standard bot responds with the list of tasks that it can perform, allowing the user to select a task name to execute.

When it comes to Universal bots, if a user types Help, the bot responds with the names of linked bots. The user cannot select or execute a task from the list.

Channel Configuration
All Universal bots do not obtain the channel configurations of the linked bots and need an independent channel configuration. You can set up new channels for the universal bot independent of the linked bot channels. The published tasks in the linked bots execute from the universal bot channels. Learn more.
Settings
General Settings Universal and standard bots share the same general settings.
Language Management Universal bots do not obtain the enabled languages of the linked bots. You must enable default and additional languages explicitly for the universal bot. But when user utterances are made in an enabled language, the universal bot routes it to only those linked bot tasks that support the language. For example, if German is enabled for the universal bot and a user utters in German, the NLP engine looks for all the linked bot tasks that support German and sends the utterance to those tasks. Learn more.
Developer Collaboration Works similar to standard bots. Once you share a Universal Bot with other developers, they can link and unlink bots.
Change Logs

Universal bot change logs record all the changes applicable to the standard bots, plus the following:

  1. Linking of a bot
  2. Un-linking of the bot
  3. Change to default dialog
  4. Publishing of default dialog

Import & Export bot

(supported from ver7.1)

Like standard bots, you can export and import the published and unpublished universal bots. Since universal bots deal with linked bots the following need to be taken care of:

  • Export of a universal bot – only the reference to the linked bot (reference id) will be included not the entire linked bot definition;
  • Import of the universal bot – in the environment where the bot is being imported to, the platform checks for the bots with reference id matching the linked bot. If found they are automatically linked to the imported universal bot. Also you should have permissions for the linke bot, else it will not be linked. Ensure that you import the linked bots before importing the universal bot.
Delete bot Like standard bots, you can delete the unpublished universal bots.
API Extensions
SDK toolkit Enabled with the following events – on message, on hook, on event, on alert
Agent Transfer Agent Transfer can be configured for a Universal Bot. The Agent Node needs to be added in default dialog and addition of any subsequent nodes after the agent node is not allowed.
WebHook Node Multiple webhook nodes can be placed in the default dialog. When a webhook node is reached during the conversation, the platform invokes the BotKit similar to that of a Standard Bot.
SDK as Channel Enabled
Analyze
Chat History All the Universal Bot chats get recorded. Any initiated training will affect the individual linked bot.
Publish
All You can select one or more linked bots and publish the Universal Bot like any Standard Bot. Learn more.

Event Management

Let us see the behavior of Universal Bots for the following BotKit events in Linked Bots:

  • On Message
  • Agent
  • Webhook
  • Event
  • Alert Events

When a child bot is in context i.e., a task from a child bot is in progress, then the events related to the child bots will be triggered based on the configurations set up by the developer:

  • If an event is enabled in child bot, then the event will be forwarded to child bot BotKit
  • If an event is not enabled in child bot and
    • if that event is enabled in Universal bot, then the event will be sent to Universal bot BotKit
    • if that event is not enabled in Universal bot as well, then the event will not be forwarded to any BotKit.

Following table summarises the above scenarios and behavior:

Event Name Child Bot Status Universal Bot Status Expected Behavior
On Message Enabled Event sent to child bot BotKit
Disabled Enabled Event sent to Universal BotKit
Disabled Disabled Invalid scenario. The event does not trigger in this case
All other events Enabled Event sent to child bot BotKit
Disabled Enabled Event sent to Universal BotKit
Disabled Disabled Same as the current behavior. E.g. dialog reaches Webhook node but ‘on Hook’ event is not enabled

Unsupported Features

Universal Bots do not support the following features:

  • Natural Language
    • Training
    • Intelligence
  • Variable Management
Menu