Build dialog flows

In Mix.dialog, the component called Main handles the main dialog flow for your application. If your application is based on NLU intents, use intent components to handle the intent-specific dialog flows. For example, the virtual assistant for an airline might let you book a flight, check the current status of a flight, and so on. In such an application, designing the dialog flow for booking a flight separately from the dialog flow for checking a flight’s status makes your dialog design more readable. In addition to making your design more readable and easier to maintain, using separate components makes it possible for multiple designers to work concurrently on a dialog project.

In a dialog project, all resources—that is, intents, entities, grammars, variables, messages, and events—have a global scope, which means you can use them anywhere in your dialog design.

In Main, the Start node is where the application starts. In other components, the dialog flow proceeds from the Enter node until it returns back to Main.

When designing a multichannel application you can define channel-specific messages or channel-specific branches in the dialog flow.

As soon as you have a basic design, you can start using the try mode to preview and validate the dialog flow directly in Mix.dialog.

Node types

Overview of the different nodes and their purposes.

Set up the Start node or an Enter node

Initialize variables, set default event handling and error recovery behaviors.

Set up a question and answer node

Ask a question, listen for what the user say, and respond accordingly.

Set up a message node

Play or show a message, and perform actions that don’t require input from the user.

Set up a decision node

Assign values to variables, determine the next node in the dialog flow.

Set up a data access node

Exchange information with a backend system.

Set up a question router node

Specify the pieces of information required to fulfill an intent, determine the next node based on the information collected. Configure or disable intent switching, as needed.

Set up an intent mapper node

Override default intent mappings, if needed, and specify where to go upon return from a mapped component.

Set up an external actions node

End a conversation, transfer to another system or escalate to a live agent, exchange information with an external system via a client application.

Set up a component call node

Temporarily pass control to another component.

Test your dialog design

Use the try mode to simulate the user experience.