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 Version
Recent Updates
Previous Versions
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
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
Introduction
Knowledge Graph
Introduction
Terminology
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
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
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
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
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
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
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
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
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
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Dialog Task
  6. Nodes Overview

Nodes Overview

In order to create Dialog Tasks, the Dialog Builder uses nodes and transitions to make the necessary connections between the components of your conversation. In this article, we will overview the available node types, transitions, as well as context object information.

How do Nodes and Transitions Work?

Nodes are a user-friendly approach to building conversations because they allow both conversation designers and VA developers to conceptualize and visualize the entire flow of a conversation. Placed on a canvas, nodes help create a kind of conversation map that facilitates understanding for both the humans and the VA being developed. 

Transitions add logic to the map created by the nodes. This way, the conversation can flow according to particular conditions, workflows, or processes.

Both nodes and transitions work together, in context, to facilitate the creation of Virtual Assistants that can automate a wide variety of tasks without taking away from the user or customer experience.

Node Types

You can add the following nodes to dialog tasks, based on your requirements:

User Intent Node

The user intent to be identified by the Platform is based on the user utterance. Every dialog has one root intent with any number of sub-intents. For more information, refer to Working with the User Intent Node.

Dialog Task Node

The Dialog Task Node allows you to start a new dialog task within an existing one, if the user intent changes. Read more about the Dialog Task Node.

Entity Node

Entity nodes detect the entities within the user utterance, or ask the user for input when an entity is required. The user entity in the utterance. The platform supports 15+ entity types. Developers can define the prompt message to be shown, and this message can be channel-specific. For example, an amount, a flight account number, time, or zip code. Entity nodes prompt the user for an input. For more information, refer to Working with the Entity Node.

Form Node

Form nodes allow you to integrate Digital Forms with Dialog Task by presenting a UI Form in the dialog task and making the form available for end-users on specific communication channels. This node is useful when you want to make entity collection more efficient by displaying a form rather than asking users for one entity at a time. Learn more about the Form node.

Confirmation Node

Displays a query message from the bot to the user, and then waits for a user response. Conditions are defined to continue processing the dialog task flow based on the user input. For more information, refer to Working with the Confirmation Node.

Message (or Bot Response) Node

Displays a message from the bot to a user, such as, Is there anything else I can help you with? For more information, refer to Working with the Message Node.

While any dialog starts at the Intent Node, it is advisable to end it with a Message Node to give a sense of closure to the user as well as to the bot internally.

Bot Action Node

The Bot Action Node can be used for any action that the Virtual Assistant is expected to perform without interaction with the user. Adding a Bot Action Node allows you to use five additional nodes, through which you can add a service, script, webhook, logic or process, using dedicated nodes.

Service Node

Allows you to call an API. You can also use cURL to build the API request. For more information, refer to Working with the Service Node.

Script Node

The Script Node is used to write custom Javascript JS code in the dialog task. For more information, refer to Working with the Script Node.

Logic Node

The Logic Node allows developers to use context variables and define complex transition conditions within Bot Action nodes and Dialog Tasks overall. For more details, please refer to  Working with the Logic Node.

WebHook Node

This node is used for server-side validation, executing business logic, or making backend server API calls. To use this node, you must have installed the SDK Tool Kit. For more information, refer to Working with the WebHook Node.

Process Node

Process nodes allow you to connect a Dialog Task to a Process App that you have built within the Kore.ai XO Platform. Learn more about Process Nodes.

Agent Transfer Node

This node type is used to transfer communication from the bot to a live agent. This is usually the last node for a dialog task. For more information, refer to Working with the Agent Transfer Node.

Component Transitions

A Dialog Task builds a task flow with different nodes connected by transitions. Dialog Task transitions depend on conditions that use business-defined evaluation criteria to take the next steps within the Dialog Task flow.

In the Kore.ai XO Platform, you define If-then-else conditions using a set of predefined operators. For each component, you must specify a fallback condition. How you represent a transition depends on the component type you are defining, and component type-specific transitions are described in the documentation topic for each component type.

You can use the following operators to write conditions:

  • Exists
  • Does not exist
  • Equals to
  • Greater than equals to
  • Less than equals to
  • Not equals to
  • Greater than
  • Less than
  • Contains

Learn more about setting up node connections.

Environment Variables

Environment Variables are global, reusable components which can be used in multiple places to define the bot configuration. Every Environment Variable is a key-value pair. The Variable Keys can be used at various places in the bot configuration. The platform will resolve/replace the Variable Keys with Variables Values during the conversation. Some of the typical use cases where a developer can use environment variables are:

  • To manage the bot across environments having different endpoint URLs. The bot can be exported and imported based on the environment, and the infrastructure team will need to modify only the variable configuration file.
  • To manage Conditions in the Dialog Node Transitions. Both the left-hand side and the right-hand side of the transition condition use Environment Variables.
    Note: You must enter dynamic variables without braces. For example, Environment variables as env.value, Content variables as content.value, and Context variable as context.entities.entityname. For more information, see the Adding IF-Else Conditions to Node Connections article.
  • To define and manage the bot response that is repeated within the bot configuration as variables.
  • Authorization Token
  • Channel-related tokens and URLs

Post the release of v8.1 of the platform, for on-prem installations, multiple value sets can be stored for these environment variables using Collections, refer here for more.

Nodes Overview

In order to create Dialog Tasks, the Dialog Builder uses nodes and transitions to make the necessary connections between the components of your conversation. In this article, we will overview the available node types, transitions, as well as context object information.

How do Nodes and Transitions Work?

Nodes are a user-friendly approach to building conversations because they allow both conversation designers and VA developers to conceptualize and visualize the entire flow of a conversation. Placed on a canvas, nodes help create a kind of conversation map that facilitates understanding for both the humans and the VA being developed. 

Transitions add logic to the map created by the nodes. This way, the conversation can flow according to particular conditions, workflows, or processes.

Both nodes and transitions work together, in context, to facilitate the creation of Virtual Assistants that can automate a wide variety of tasks without taking away from the user or customer experience.

Node Types

You can add the following nodes to dialog tasks, based on your requirements:

User Intent Node

The user intent to be identified by the Platform is based on the user utterance. Every dialog has one root intent with any number of sub-intents. For more information, refer to Working with the User Intent Node.

Dialog Task Node

The Dialog Task Node allows you to start a new dialog task within an existing one, if the user intent changes. Read more about the Dialog Task Node.

Entity Node

Entity nodes detect the entities within the user utterance, or ask the user for input when an entity is required. The user entity in the utterance. The platform supports 15+ entity types. Developers can define the prompt message to be shown, and this message can be channel-specific. For example, an amount, a flight account number, time, or zip code. Entity nodes prompt the user for an input. For more information, refer to Working with the Entity Node.

Form Node

Form nodes allow you to integrate Digital Forms with Dialog Task by presenting a UI Form in the dialog task and making the form available for end-users on specific communication channels. This node is useful when you want to make entity collection more efficient by displaying a form rather than asking users for one entity at a time. Learn more about the Form node.

Confirmation Node

Displays a query message from the bot to the user, and then waits for a user response. Conditions are defined to continue processing the dialog task flow based on the user input. For more information, refer to Working with the Confirmation Node.

Message (or Bot Response) Node

Displays a message from the bot to a user, such as, Is there anything else I can help you with? For more information, refer to Working with the Message Node.

While any dialog starts at the Intent Node, it is advisable to end it with a Message Node to give a sense of closure to the user as well as to the bot internally.

Bot Action Node

The Bot Action Node can be used for any action that the Virtual Assistant is expected to perform without interaction with the user. Adding a Bot Action Node allows you to use five additional nodes, through which you can add a service, script, webhook, logic or process, using dedicated nodes.

Service Node

Allows you to call an API. You can also use cURL to build the API request. For more information, refer to Working with the Service Node.

Script Node

The Script Node is used to write custom Javascript JS code in the dialog task. For more information, refer to Working with the Script Node.

Logic Node

The Logic Node allows developers to use context variables and define complex transition conditions within Bot Action nodes and Dialog Tasks overall. For more details, please refer to  Working with the Logic Node.

WebHook Node

This node is used for server-side validation, executing business logic, or making backend server API calls. To use this node, you must have installed the SDK Tool Kit. For more information, refer to Working with the WebHook Node.

Process Node

Process nodes allow you to connect a Dialog Task to a Process App that you have built within the Kore.ai XO Platform. Learn more about Process Nodes.

Agent Transfer Node

This node type is used to transfer communication from the bot to a live agent. This is usually the last node for a dialog task. For more information, refer to Working with the Agent Transfer Node.

Component Transitions

A Dialog Task builds a task flow with different nodes connected by transitions. Dialog Task transitions depend on conditions that use business-defined evaluation criteria to take the next steps within the Dialog Task flow.

In the Kore.ai XO Platform, you define If-then-else conditions using a set of predefined operators. For each component, you must specify a fallback condition. How you represent a transition depends on the component type you are defining, and component type-specific transitions are described in the documentation topic for each component type.

You can use the following operators to write conditions:

  • Exists
  • Does not exist
  • Equals to
  • Greater than equals to
  • Less than equals to
  • Not equals to
  • Greater than
  • Less than
  • Contains

Learn more about setting up node connections.

Environment Variables

Environment Variables are global, reusable components which can be used in multiple places to define the bot configuration. Every Environment Variable is a key-value pair. The Variable Keys can be used at various places in the bot configuration. The platform will resolve/replace the Variable Keys with Variables Values during the conversation. Some of the typical use cases where a developer can use environment variables are:

  • To manage the bot across environments having different endpoint URLs. The bot can be exported and imported based on the environment, and the infrastructure team will need to modify only the variable configuration file.
  • To manage Conditions in the Dialog Node Transitions. Both the left-hand side and the right-hand side of the transition condition use Environment Variables.
    Note: You must enter dynamic variables without braces. For example, Environment variables as env.value, Content variables as content.value, and Context variable as context.entities.entityname. For more information, see the Adding IF-Else Conditions to Node Connections article.
  • To define and manage the bot response that is repeated within the bot configuration as variables.
  • Authorization Token
  • Channel-related tokens and URLs

Post the release of v8.1 of the platform, for on-prem installations, multiple value sets can be stored for these environment variables using Collections, refer here for more.

Menu