Yes, the Kore.ai Bot Builder tool includes the Dialog Builder, a visual interface that lets you shape a complex, business-logic driven dialog into a conversation flow using features like request chaining, intent and sub intent recognition, multiple node types, component reusability, and pause and resume.
Example: The Platform allows for business-specific rules, such as distinguishing between first and second level support, to be written into a conversation through the Dialog Builder, with the ability to execute the conversation based on your specified process.
Kore.ai refers to the tasks you build in this way as “dialog tasks.” A dialog task is a graphical representation of the conversation between a user and the bot. A developer designs the conversation as a network of “nodes” or dialog branches that are connected using specified “conditions.” The dialog starts with a root intent which the developer then branches into an unlimited number of nodes of varying node types, including:
- An intent node, which is used by the developer to indicate that an intent is to be identified by the Platform based on the user’s utterance. Every dialog will have one root intent and can have multiple sub-intents.
- An entity node, which is used by the developer to indicate that an entity is to be identified by the Platform based on the user’s utterance. Note: Kore.ai’s Bots Platform supports 15+ entity types. The developer can also define the prompt message to be sent to the user, which can also be customized by channel.
- A service node, which gets leveraged by the developer to use the request chain and define a call to a set of APIs.
- A message node, which the developer uses to deliver a message back to the user. The message can be formatted based on the channel of delivery.
- A confirmation node, which the developer uses to deliver a confirmation before API execution.
Using the Dialog Builder, the developer links nodes together and controls the flow or direction of the conversation by defining the conditions in each node. A condition is an expression that equates to a boolean value that results in a transition from one node to another. Developers have the flexibility to define simple “if-else” conditions or to write a rule-based expression of a condition. A fallback condition must be defined for every node.
A node can also be marked to be the last node, resulting in the completion of the dialog task.
Other features that make our dialog tasks richer for users, and the Dialog Builder more intuitive and scalable for developers include:
- Global definition of intents and entities: Intents and entities can be defined at a global level so they can be leveraged by developers across dialog tasks.
- Component reusability: Developers can easily select a starting point from previously developed chatbot components, or modify reused components like authentication profiles and nodes to be used in various dialogs.
- Support for intents and sub-intents: The Kore.ai Dialog Builder is equipped with intent and sub-intent recognition capabilities. While every dialog task starts with a root intent, developers can build complex flows with other associated intents (or sub-intent nodes), allowing the bot to “take a turn” mid conversation and still return to execute an original request.
- Pause and resume functionality: During the dialog flow execution, if a user sends a message that does not relate to the current dialog flow, the Platform will handle this as a separate intent, putting the current intent on hold while the new intent will be executed. Once complete, the user is returned to the current dialog and the original context is carried over.
We also recently added the following capabilities to our Dialog Builder:
- Dialog task versioning
- The ability to capture multiple values for a single entity
- Support for attachments as an entity type
- HTML2Image capability for report messages