Conversation flows are basically the same as flow charts, and they represent the control flow of a human/bot interaction. In more technical terms, they are graph-based dialogue policies.
Every conversation flow is made of nodes and edges. Nodes represent the events that happen in a dialogue and edges control the flow of events. There are two basic types of nodes:
Assistant Nodes - Represent what the assistant will do (assistant actions).
User Nodes - Represent what the user can do (user actions).
Assistant and user nodes can both be divided into sub types that represent the different types of actions assistants and users can do.
Assitant Node Types
Utterance - The assistant says (utters) something.
Form - The assistant presents an input form to the user to collect data.
Email - The assistant presents a form to let the user send a message via email.
User Node Types
Text Option - Presents a button containing text for the user to click.
Image Option - Presents an image overlaid with a caption and text for the user to click.
Let's see an example
Here's a very simple example of a conversation flow.
Every conversation flow begins with an utterance node (the assistant starts by saying something). In this case, the assistant will start posing a question: "Red Pill or Blue Pill?"
Now let's see how this conversation plays out if the user clicks the "Red Pill" text option.