How do Nodes and Transitions Work?
Nodes let you visualize the entire conversation flow as a map on a canvas. Transitions add conditional logic to control how the conversation moves between nodes. Together, sequences, nodes, and transitions enable AI Agents to automate tasks while preserving a seamless user experience.Node Types
You can add the following nodes to Agent Flows (dialog tasks), based on your requirements:Primary Nodes
| Node | Description |
|---|---|
| Agent Node | Leverages LLMs and generative AI with Tool calling to build AI-powered, sophisticated, and versatile AI Agents capable of handling complex tasks and providing dynamic, data-driven interactions. |
| Prompt Node | Lets app developers leverage the full potential of LLM and Generative AI models to quickly build their own prompts, select a specific AI model, tweak its settings, and preview the response. |
| Search AI Node | Incorporates search functionality within a dialog task by leveraging Search AI to perform searches on ingested content, enabling the AI Agent to return relevant and contextual responses. |
| Service Node | Allows you to call an API. You can also use cURL to build the API request. |
| Script Node | Used to write custom JavaScript code in the dialog task. |
| WebHook Node | Used for server-side validation, executing business logic, or making backend server API calls. Requires the SDK Tool Kit to be installed. |
Other Nodes
| Node | Description |
|---|---|
| Intent Node | Identifies the user intent based on the user utterance. Every dialog has one root intent with any number of sub-intents. |
| Dialog Node | Allows you to start a new dialog task within an existing one if the user intent changes. |
| Dynamic Intent Node | Dynamically triggers any of the flows in the AI Agent by defining the intent’s display name using variables. The target intent can be either a Dialog Task or a FAQ. |
| Entity Node | Detects entities within the user utterance, or asks the user for input when an entity is required. Supports 15+ entity types, with channel-specific prompt messages. |
| Form Node | Integrates Digital Forms with Dialog Tasks by presenting a UI Form, making entity collection more efficient by displaying a form rather than asking for one entity at a time. |
| Confirmation Node | Displays a query message to the user and waits for a response. Conditions are defined to continue processing the dialog task flow based on the user input. |
| Message Node | Displays a message from the app to a user. It is advisable to end a dialog with a Message Node to give a sense of closure to the user. |
| Logic Node | Allows developers to use context variables and define complex transition conditions within Bot Action nodes and Dialog Tasks overall. |
| Process Node | Connects a Dialog Task to a Process App built within the Kore.ai XO Platform. |
| Agent Transfer Node | Transfers communication from the app to a live agent. This is usually the last node for a dialog task. |
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. 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
Environment Variables
Environment Variables are global, reusable components which can be used in multiple places to define the app configuration. Every Environment Variable is a key-value pair. The Variable Keys can be used at various places in the app 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 app across environments having different endpoint URLs. The app 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.
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 app configuration as variables.
- Authorization Token.
- Channel-related tokens and URLs.