Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Help & Learning Resources
Quick Start Guide
Accessing the Platform
Navigating the XO Platform
Building a Virtual Assistant
Using Workspaces
Release Notes
Current Version
Previous Versions
Request a Feature
Conversation Designer
Dialog Tasks
Mock Scenes
Dialog Tasks
Navigate Dialog Tasks
Build Dialog Tasks
Nodes & Connections
Node Types
Intent Node
Dialog Node
Entity Node
Entity Rules
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections Setup
Context Object
Sub-Intent Scoping
User Prompts
Voice Call Properties
Dialog Task Management
Event Handlers
Supported Entity Types
Supported Company Names
Supported Colors
Knowledge Graph
Knowledge Extraction
Build Knowledge Graph
Create Node Structure
Build the Graph
Add FAQs
Add FAQs from an Existing Source
Run a Task
Traits, Synonyms, and Stop Words
Manage Variable Namespaces
Update Knowledge Graph
Move Question and Answers Between Nodes
Edit and Delete Terms
Edit Questions and Responses
Knowledge Graph Analysis
Knowledge Graph Import and Export
Prepare Data for Import
From a CSV File
From a JSON File
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Digital Views
NLP Optimization
ML Engine
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
Default Standard Responses
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Health and Monitoring
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Custom Meta Tags
Create Custom Dashboard
NLP Insights
Conversations History
Conversation Flows
Analytics Dashboard Filters
Usage Metrics
Containment Metrics
Smart Bots
Universal Bots
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Manage Assistant
Plan & Usage
Usage Plans
Support Plans
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Masking PII Details
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data as Service
Data Table
Table Views
App Definitions
Sharing Data Tables or Views
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
Configure Agent Transfer
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
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Using the BotKit SDK
BotKit SDK Tutorial - Blue Prism
Widget SDK Tutorial
Web SDK Tutorial
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Assistant Management
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Control
Using Single-Sign On
Security Settings
Cloud Connector
  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 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 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. Only the left-hand side of the transition condition uses Environment Variables. The right-hand side of the transition conditions does not use Environment Variables
  • 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.