Flow Nodes Overview¶
Flow Nodes can be used to add interactivity to a Flow. When combined in a certain way, they can help create dynamic interactive conversations. There are many types of Nodes, ranging from Basic to Advanced.

Head over to the Extensions section for information on adding more types of Nodes.
Node Categories |
---|
Basic Nodes |
Message Nodes |
Logic Nodes |
Profile Nodes |
Service Nodes |
NLU Nodes |
Basic Nodes¶
Basic Nodes are commonly used in basic conversational Flows. Included are typical Nodes like the Say Node, the Question Node as well as certain Flow actions like Stop and Return.
Message Nodes¶
Message Nodes generate certain output that is returned to the user. They are generally multichannel capable, which means that they work across a broad-range of Endpoints.
Say¶
This is the most basic output Node that can be used to send a message to the user on his current channel.
Question¶
The Question Node can be used to ask the user a question. When triggered, the Entry Point will shift to this Node so that the conversation can continue when the user answers - and a new Input object is generated. By default, the Entry Point will stick to this Node until a valid answer has found.
Optional Question¶
The Optional Question Node works similar to the Question Node, except for the fact that the Entry Point is optional by default.
Send SMTP Email¶
The Send Email Node can be used to send an email message directly from within the Flow. IT requires a Connection in order to work.
Datepicker¶
The Datepicker can be used to render a date selection widget in certain channels. It has an extensive list of configurable options.
Logic Nodes¶
Logic Nodes can be used to execute a certain logic in the flow. They include classical conditions, as well as specific Flow behavior like waiting for a user input.
If¶
The If Node is one of the most common Logic Nodes. It can be used to evaluate a statement and depending on the outcome, the Then or Else cases are triggered. Conditions can be created using CognigyScript or using the built-in Token System.
Lookup¶
The Lookup Node acts as a switch between different options. A certain type of input (for example, Intents) is evaluated and based on the value, a certain branch is executed.
Coming from Cognigy version 3.x?
The Lookup Node was previously known as the Switch Node.
Go To¶
The Go To Node can be used to jump between Flows or between Nodes. If the Go To Node is used to switch to another Flow, the Entry Point will switch to that Flow altogether (until switched back).
Execute Flow¶
The Execute Flow Node can be used to execute another Flow, meaning that it will run that Flow and return to the initial Flow afterwards. This means that the Entry Point will not switch to the new Flow. This operation can be compared to a function call.
Think¶
The Think Node can be used to deliberately inject a text into the Start Node of the Flow. This is useful in case it is necessary to start the Flow again, with a specific payload. The payload could, for example, correspond to a certain Intent.
Once¶
Everything below a Once Node will be executed only once per session. This is useful in case the bot needs to greet the user or in case a database request needs to happen only once per session.
Interval¶
The Interval Node can be used to only allow certain Nodes to be executed if a given time (interval) has passed. It is configurable with a number of milliseconds.
Stop and Return¶
The Stop and Return node stops Flow execution and return to the Entry Point at the start node.
Wait for Input¶
The Wait for Input Node waits for user input and continues Flow execution.
Sleep¶
The Sleep Node pauses execution for a number of milliseconds. This Node used to be known as the Pause Node.
Set State¶
With the Set State Node, the Flow's State can be changed.
Reset State¶
With the Reset State Node, the Flow's State can be reset.
Profile Nodes¶
Profile Nodes are used to update Contact Profile information. Common operations are:
Activate Profile¶
This Node can be used to activate a Contact Profile in case it has been deactivated. The Node is not configurable.
Deactivate Profile¶
Can be used to deactivate the Contact Profile.
Update Profile¶
This Node is commonly used, as it helps update Contact Profile information. It is configurable with a drop-down of all the Contact Profile Schema attributes.
Merge Profile¶
This Node can be used to merge the current session to an existing Contact Profile. The Node can be configured with an identifier that can be used as a user id.
Blind Mode¶
The Blind Mode disables all (or selected) logging. The Node can be used whenever the Virtual Agent handles sensitive data, that should be excluded from the logs.
- Mask Login: Outputs XXXX in the output logs of the Agent.
- Mask Analytics: Outputs XXXX in the analytics (including Contact Profile conversations).
- Disable Conversations: Disabled output analytics altogether.
Delete Profile¶
Deletes the currently active Contact Profile.
Complete Goal¶
Can be used to add a custom Goal to the Contact Profile. Custom Goals are KPIs that can be dynamically configured and that show up in the output analytics as well as the Contact Profile overview.
Service Nodes¶
Service Nodes can be used to trigger external services, like databases and email servers. Cognigy.AI ships with a number of built-in services. Additional services can be added through Extensions.
HTTP Request¶
The HTTP Request Node is a very convenient Node that can execute HTTP requests to other interfaces (APIs). It can be configured with typical REST operations (GET, POST, PATCH, PUT, DELETE) and has configurable JSON or Text payloads.
Each request method has some field which it shares with the other methods. These are the fields:
- URL
- Headers
- Authorization Type
- Context Store
- Async
- Caching
- Cache Expiry
URL¶
The URL to the targeted resource in the format: https://api-endpoint.com/resource
.
Headers¶
Here you can add the headers you need to successfully perform the HTTP request.
Authorization Type¶
- No Auth
- Basic Auth
- OAuth2
- API Key - "Authorization: ApiKey"
- API Key - "X-API-Key"
In case you select an authorization type other than No Auth you'll get additional fields which depend on the selected authorization type.
Execution and Caching¶
This sections lets you configure the HTTP request to be asynchronous and optionally enable request caching.
MongoDB Nodes¶
Cognigy.AI has a built-in MongoDB connector that can be used directly within the Flow. The Node exposes a number of requests:
Microsoft SQL Nodes¶
Cognigy.AI has a built-in Microsoft SQL connector that can be used directly within the Flow. The Node exposes a number of requests:
-
Run SQL Query Executes an SQL Query.
-
Run Transaction Runs a transaction.
-
Run StoredProcedure Triggers a StoredProcedure.
NLU Nodes¶
NLU Nodes are a collection of Nodes that are related to the platform's NLU. It features a range of different Nodes.
Copy Slots to Context¶
This Node can be used to copy slots that were detected and published in the Input object, to the conversation Context.
Add Lexicon Keyphrase¶
This Node can be used to dynamically create a Lexicons Keyphrase entry, either based on hardcoded or dynamic data.
Execute Cognigy NLU¶
Can be used to explicitly execute Cognigy NLU at a certain point in the flow. NLU execution happens automatically at the start of the Flow and with each new user input.
Regex Slot Filler¶
This Node can be used to create a Slot based on a Regex Pattern. When the pattern is detected, a slot will be published to the Input object.
Code Node¶
Code Node enables a Flow creator to execute custom JavaScript or TypeScript code within the Flow. The editor has full IntelliSense and exposes all Cognigy objects and actions. For better performance, the TypeScript code will be transpiled when the node is saved. If the transpilation fails the code will be saved and an error icon will appear in the top right corner of the Code Node, indicating that there is a potential issue with the code.
Voice Gateway Nodes¶
Cognigy Voice Gateway Nodes expose functionality provided by Cognigy Voice Gateway directly in the Flow Editor.
Other Nodes¶
Nodes that did not fit into any category above.