Nodes
Get acquainted with nodes that construct your conversation flows in NLX
Last updated
Get acquainted with nodes that construct your conversation flows in NLX
Last updated
All conversation flows consist of nodes that define logic, messaging, API calls, and turns that must be followed in a particular sequence. There are a variety of , each with their own function (e.g., routing a user, providing a message, listening for user intent, etc.).
Easily add a node to drop on to your Canvas using the toolbar or shortcut menu:
Choose Add option in toolbar or right-click to use New node in Canvas shortcut menu
Select node type to apply to the Canvas
Nodes are linked together via their node edges. Every node has one or more edge for each possible path the flow may take.
Connect the first node of your flow to the Canvas' .
To connect nodes, click from a node's edge > Drag line to recipient node
Disconnect nodes by clicking the line linking them or dragging a node away from a stack and selecting the linked line
To tighten the space used on the Canvas, you may also stack nodes together:
To connect nodes through stacking, click and drag a node on top or bottom of another
An edge turns into an arrow, indicating the flow's direction
To delete a node, select it and press delete or right-click and choose Delete from the shortcut menu.
Selecting a node on your Canvas reveals a side panel to display information about the node and provide options for adding or refining its actions. Clicking outside of the node automatically closes the panel.
Your conversational AI relays messages to users when a node they've reached has Messages entered. Below are options to help enhance your use of this feature:
Select a node > Add messages to a node by clicking +Add message on a node's side panel
Repeat the above as often as needed on a single node
To delete a message, choose the three-dot menu beside the message and select Delete
NOTE: Adding more than one message to a node breaks up large messages into a series of smaller ones, making it easier for users to consume on text interfaces.
Several advanced actions can be applied to nodes on the Canvas. Simply expand the Add functionality section of a node's side panel and select from the following:
Start node is the home node of every flow. It's non-editable, provides information on how the flow is reached by users, and should be attached to the first node added to your Canvas.
Every flow or page created within a flow automatically populates a Start node as a beginning point. A node added to the Canvas can then be attached to Start through a line or by stacking.
Action nodes initiate an external task to occur.
An email or text sent to the user for a survey, confirmation, or set of instructions
Triggering the creation of a service ticket, work order, purchase, etc.
Scheduling an appointment or calendar meeting
Application handoff nodes allow you to route users to a different application and application communication channel that exist in the same workspace.
Move a user from an application handling HR questions to an application handling an IT request
Move a user from one communication channel to another that's only supported by another application
Route a percentage of users via a Split node if doing A/B testing with a new application
Indicate via message that a process is about to occur before continuing the flow
Offer a greeting or confirmation before/after a question or capture step
Clear a variable (from a slot or Data request source) in a retry cycle for a User choice node
End the call or conversation by leaving the node unattached
Data request nodes allow you to trigger information to be received during a conversation through static data or external API. They're particularly valuable when needing to relay information to a user through other nodes where the information is dynamic.
Checking available rooms to assist with a hotel reservation
Pulling a list of local restaurants to match a user's criteria
Fetching the user's profile to authenticate and customize the conversation
A payload of information sent to a database for storage or updating (e.g., user profiles, passwords, etc.).
A value captured or set in a flow that shouldn't be retained outside of the current flow
A value captured from the user must carry a different meaning in other flows in the same conversation session
Parsing date to extract its component parts (minutes, seconds, hours, days, etc.). See How-to tab for instructions
Escalate nodes immediately initiate the escalation transfer for the flow's communication channel.
Business procedure requires that a user change their registered email with an agent only
Your conversational AI is not yet enabled with the ability to perform a task requested by the user
Technical processes involving APIs/webhooks failing
Generative Journey nodes allow you to employ a large language model (LLM) to facilitate the process of collecting necessary parameters (slots) from a user to complete a task. This both allows for multiple slots to be collected by a single node in your workflow and provides greater flexibility for a user to give information in a less rigid, more natural way.
Resolve several slots required for completing an intent (collect PII details, preferences for scheduling a trip, information for filing a claim, etc.) in a single node of a flow
Allow for users to alter choices easily and support users asking for optional parameters (slots)
Provide context for conversational AI to reference for more personalized conversation as well as support a broader variety of user expressions when resolving slots
Generative text nodes allow you to employ a large language model (LLM) to handle the conversation workload, including formulating responses appropriate to the context of the conversation.
Carry open-ended conversations between users and your conversational AI
Handle unexpected user responses
Link from No match edges on previous nodes to manage unknown user responses
Knowledge base nodes allow you to invoke a response from a digital library of information. They're valuable in answering questions or relaying information to users on common topics that don't require several complex flows to address.
Provide common FAQ responses on policies, service offerings, and helpful links (if chat) to guide users
Provide instructions and how-tos on topics for staff or customers
Loop nodes help to either set an allowed number of retries for a user's response or an API call (such as with a Data request or Action), or they can help survey items in a data array (set to List schema).
Range mode
Prevent infinite looping by allowing one retry for a user to provide their PIN before escalating to an agent
List mode
Loop over a list of resorts and provide matches from a user's preference of 5-star establishments in Tokyo
Note nodes are for adding freeform text to the Canvas and do not impact the intent's conversation flow.
Provide instructions or explanations to a teammate about items on the flow
Document different node stacks or sections of a flow for organization or visual mapping
Enter descriptions or thoughts about areas or whole pages of a flow
Redirect nodes route users to to a different page of an intent flow or to a different intent.
An unregistered user that needs to complete a profile before proceeding with the main flow (redirect to a page of the same flow or another flow)
After asking a user what they need help with (User input node) and routing them based on a matched training phrase
Moving a user from a flow covering booking policies at a resort to a flow that books a resort reservation
Split nodes divide users in a path flow based on condition(s) or chance distribution.
Conducting A/B testing on new messaging or new process and diverting a portion of user traffic to test (set node to Chance)
Sort users based on different variables (e.g., rewards level, credit card type, authenticated, etc.)
User choice nodes prompt users to either make a selection or provide information for your conversational AI to follow-up with a relevant action, such as routing, refining, or externally passing along the info.
For User choice nodes, the NLX NLU will attempt the following (in order):
Match the user's utterance to a value from the assigned source (custom slot, built-in slot, or Data request array)
Match the user's utterance to training data belonging to other flows attached to the application
Ask a user for the start date of their reported service outage
Ask a user a Yes/No question
Ask a user to choose from their available credit cards on file
Ask a user to provide a short explanation of their complaint
User input is considered a listening and capture node for collecting a user's utterance to match to an flow's training data or collecting a keyword(s) that alters or routes the conversation using Split node logic.
Asking a user what they need help with and routing them to a flow that matches training data
Asking a user an open-ended question to detect keyword(s) and route them using a Split and Redirect nodes
A user calling to request a service during heavy call volumes is texted a link and guided through completing an online form
A user requiring careful guidance through an online booking process is texted a link and guided through each step to complete booking
Not all nodes have a Messages section. You may use a before or after in these instances.
If you do not see a Slot that exists in your workspace, remember to within your flow's Settings.
For Amazon Lex, check their supported .
For Google's Dialogflow CX, check their supported .
Assign tags to nodes for tracking and later evaluating their performance in your flow using . While reviewing Canvas analytics, you can view the number of unique visits to the node from conversations with users.
Choose from three available system tags or create custom tags through the resource menu.
Requires defining a before referencing in a node.
Configure timeouts for user input, user interruption (barge-in), and other behaviors. Check out the for supported syntax.
Increment: Automatically increases a specified numerical variable when the node containing the increment is visited. Useful with Split node logic and/or counting with a counter during retries; use in conjunction with the Set state mod if needing to establish the base value prior
Decrement: Automatically decreases a specified numerical variable when the node containing the decrement is visited. Useful with Split node logic and/or counting with a counter during retries; use in conjunction with the Set state mod if needing to establish the base value prior
Leverage streaming state modifications applied to your Data requests during a conversation with use of a and enabling the .
Use of this node requires in your workspace. This feature is currently available to enterprise tiers only.
Payload: Each payload field is auto-generated by the set up when the Action was created. Enter desired payload into each field(s), if applicable
Use a before the Action node to specify a number of retries allowed for failure events
Consider linking a to the Action's Success edge to acknowledge (via messaging) that the process was successful
Basic nodes are the easiest to include in any part of the flow. They can act as a messaging node, a processing node when given , or both.
Use of this node requires in your workspace.
Use of the In progress connector requires the NLX CloudFormation template be redeployed in AWS for set up prior to 2024.
Payload: Specify the payload to be retrieved; fields are when creating the data request
Always place a Data request node before another node that either relays, references, or uses based on the property or properties from your data request
Define nodes allow you to define and set ephemeral values for use in a single flow. In essence, they work similarly to but are instead localized to a single flow and not retained thereafter.
Use of this node requires an in your workspace Settings.
Want to see it in action? Explore a few conversations .
Check out our for implementing a Generative Journey in your conversations.
Integration: Assign the name for the LLM being used
For multi-shot prompting (providing the LLM with examples), check out
Required slots: Include required slots that the LLM must collect from a user to complete the task (e.g., check-in date, checkout date, number of guests, number of rooms, etc.) Only slots appear for selection
Model name: Enter the specific AI model ID you wish to employ for processing (MUST use an LLM model service from an integration already set up in your )
Auto-translate: The from the conversation session will be passed to the LLM and all responses back to the user will be provided in that language
Place a Generative Journey node on the Canvas > Using the node's side panel, assign previously set up in the workspace
Use of this node requires a in your workspace Settings.
Integration: The being used
Place a Generative text node on the Canvas > Using the node's side panel, assign previously set up in the workspace
Use of this node requires in your workspace.
IF filters (beta): If has been provided when setting up your Knowledge base, you may provide IF comparison statements ("IF x equals y") when referencing any properties from your metadata schema. This will be sent along in the retrieval request as a filter when your Knowledge base is called
Include citation (beta): Enable toggle to include in-line citations (if provided) with responses. Supported through of knowledge base content
Custom minimum confidence score: Enable toggle to adjust the minimum confidence score previously set at the application level; only impacts response and utterance matching done through knowledge base interaction. Supported through of knowledge base content
From: Select Data request and data property (if applicable) to be used as the array for scanning and retrieving. Your Data request's high-level type must be set to List
Use on either the Loop node or a node that precedes the Loop in a retry cycle to Clear the user selection. This prevents retaining information from the first pass and creating repeated No match incidents
There's no wrong way to use Note nodes, but you can explore more ways to
Page: If of an intent's flow exist, specify which page to take the conversation
Parent application: Transfers back to the original application if currently in a new application's flow from an scenario
Diverting the flow to new messaging or processes based on the channel type users are communicating through (e.g., Twilio Voice vs API). Use with the system variable
Eject out of the No match edge (if no logic or messaging is connected, the NLU will default to )
Requires: to the flow or setting up a
Match or value connectors: Link to the next node in a flow based on the user's selection. May set node's edges to mirror a Slot's values (max. 10) and direct each edge to different paths, or simplify with
Resolve: Choose from Slots that are or from Data requests that exist in the workspace
If assigning a Data request to your User choice node, first invoke it using a Data request node and ensure the Data request's overarching is set to List)
Elicitation (visible on only): Indicates a user provide their choice by spelling it letter by letter (e.g., A, B, C) or spelling by words (e.g., A as in apple, B as in boy)
Additional slots: must first be enabled on your application before using this feature. If the user's choice does not match any of the primary options, your application will resort to one or more attached to the flow and assigned on the user choice node. Choices matching options from additional slots will exit out of the No match edge but a Split node may be linked to check if they exist. See How-to tab for context
Reset choices to match/no match (visible when using a ): Reset node connectors to Match/No match values
Reset choices to values (visible when using a ): Reset node connectors to the individual slot values + No match
Choice label (visible when resolving from a source): allows you to specify the Data request property to display for user selection. The Data request's overarching must be set to List
If reusing a slot or data request's values in another User choice node in the conversation, be sure to place a Basic node beforehand that uses a to Clear the user's previous selection. Otherwise, the application will retain the user's choice and auto-traverse through the second User choice node believing it to be the same
If applicable, link the No match edge to a Basic node that , explains why a response may be invalid, and links back to the User choice node to allow a user a retry
Flow recognized: Link to a node, usually , that routes a user to a flow based on their detected intent (intent recognition is provided to your AI model via the set on each flow)
Be sure to assess the for all flows attached to an application. This ensures the steps in flows that direct users with User input nodes work as intended
Voice+ nodes are for initiating Voice+ mode during a conversation session with a user. pair voice prompts with visual assets from web or mobile applications.
A voice communication channel must be before accessing the Voice+ node in the Canvas.
To proceed from the Continuation and Escalation edges of your Voice+ node, be sure to enable the .
Always precede a Voice+ node with an that sends the SMS link
Use the system variable {system.userId}
for the Phone number field of your payload on the
Include a after the action to indicate a text was successfully sent to the user