Flows are made of nodes and connections. There are several different types of nodes with different properties.
These nodes are not displayed to the user and the user does not interact with them. They instead control how the assistant moves through the flow.
The start node indicates where the flow begins.
Every flow has exactly one start node which is created automatically and cannot be edited or deleted.
An end node indicates that a particular path in a flow has come to an end. Once the assistant reaches an end node, it will prompt the user for feedback and then display the end node's summary text as a final message to the user. This completes the conversation, though users can choose to restart from the beginning if they need help with something else.
To avoid any surprises or undefined behavior, every path through your flow must eventually terminate in an end node. Avoid leaving dangling connectors.
Restart nodes clear the working/faulty state of all visited symptoms, the accepted/rejected state of all visited solutions, and any answers provided for conditions. They then send the conversation back to the current flow's start node.
This allows users to work on multiple requests in the same conversation. If they have more than one problem or question, they can get their first solution or answer and then start fresh with the second. The session history is not cleared, so nothing will be missing from the transcript. If the user passes through this node accidentally, they can hit the "Previous" button in the assistant to return to the previous node and restore their previous symptoms, solutions, and conditions.
Note that form data is not cleared by a restart node. If you need certain form data fields to be cleared, you can do so with a write data node.
A reset conversation node is similar to a restart node, but does not return to the flow's start and allows you to instead connect or jump to a different part of the flow.
The restart node sends the conversation back to the current flow's start node even if the conversation has passed through a flow link from a different flow. To return to the start of a different flow, use a [reset conversation node and then a flow link to the desired flow.
Flow links move the conversation to another flow, starting at that flow's start node.
This allows you to create flows that serve as product or use-case selectors and then route the user to the appropriate flow for their request.
Form data and the conversation transcript are maintained. In analytics, the conversation will be associated with the last flow visited.
A jump is a shortcut that allows the assistant to go directly from one part of the flow to another. For example, if a flow has multiple largely-separate sections for FAQs and troubleshooting, any nodes that connect between the sections can connect via jumps.
When following a jump, the assistant's behavior is the same as if it were following a normal connection between the two nodes, but using jumps can keep the canvas much cleaner and more readable. Jumps are labeled so you can get a good sense of where each path is going without needing to clutter the canvas with a lot of criss-crossing connection lines.
Additionally, you can right-click a jump to be taken to its target, so you can easily get to the relevant part of the flow wherever it is on the canvas.
Finally, multiple jumps can all go to the same target, so portions of a flow can easily be reused without drawing a large number of connections to the same point.
When you create a jump, you must specify whether to use an existing target or create a new one. If you use an existing target, you will only create a new jump start that leads to that same target. If you create a new one, you will create a matching jump start and target. You can then create new jump starts that reuse that new target.
While you can create arbitrary jumps and targets, there are also a few special jump targets that are built-in.
New flows are created with a single "Success" jump target that cannot be edited or removed. This target is jumped to when a user indicates that a solution or live support node solved their problem.
You can also manually create "Success" jumps from any node or answer that should be considered as resolving the user's issue, such as a message node answering a FAQ question.
New flows are created with a single "Out of solutions" jump target that cannot be edited or removed. This target is jumped to when the user has rejected all solutions or indicated that live support has not solved their problem and the flow does not have any more solutions to present.
You can also manually create "Out of solutions" jumps to from any node or answer that should be considered as the assistant running out of solutions.
One of the options available to the user in the assistant menu is "Escalate." If the user picks this option and there is an "Escalate from menu" jump target on the canvas, the assistant will jump to it.
Flows are not automatically created with "Escalate from menu" targets but one can be added to the canvas.
Notes have no effect on flow behavior and are simply for adding text-based notes to the canvas to help keep the flow readable. For more information, see Understand canvas notes.
A symptom node represents an observable problem a user might encounter with a product.
Symptoms are presented to the user as questions with two answers. One answer reflects the "working" state, indicating that this problem is not present, and one reflects the "faulty" state, indicating that this problem is present.
Note that symptoms are named as positive statements that reflect the faulty state rather than as questions - for example, you may have a symptom that asks the user "Is there light from the lamp?" but the name of the symptom is "There is no light from the lamp." This is because in some circumstances, users are prompted to select from a list of symptoms; in these cases the positive statement is more clear.
A solution node represents instructions for a potential fix to a user's problem.
Solutions are presented to the user as instructions followed by a prompt for the user to indicate whether the solution solved the problem.
A choice list node allows users to choose between several nodes at once. Choice lists can include symptoms (allowing the user to see all of them at once instead of needing to answer symptom questions one after another), questions, messages, and other choice lists (allowing you to create nested menus).
Any backtrack can be right-clicked and turned into a choice list, though this can cause errors if the choice list connects to nodes other than symptoms, questions, messages, or other choice lists. Choice lists can also be right-clicked and converted back to backtracks, which will break connections to nodes that cannot be backtracked.
Question nodes are for asking the user a question with multiple possible answers. These nodes are created with two default responses, "Yes" and "No", but any number of responses can be configured with any desired text.
Questions are useful for giving the user multiple alternatives and are the primary way a flow steers the user toward the information they need. For example, your flow might start with a question node asking what the user needs, with one of the responses being "I have a technical question". That response could then lead to another question node asking what the user's question is about, with your FAQ questions as responses. Each of those responses could lead to another question node with that FAQ category's questions as its responses.
Message nodes are for conveying information to the user and requesting acknowledgment. These nodes are created with one default response, "Continue", but any number of responses can be configured with any desired text.
Message nodes are useful for providing information to the user, such as in answer to a user's question. For example, if your flow includes a FAQ, the answers can be presented as message nodes. Alternately, they can be used to step the user through a defined process. For example, you could instruct the user how to perform a factory reset on their device by using a series of message nodes.
Live support nodes allow users to connect with your support agents. When the assistant enters a live support node, the user's conversation enters the agent dashboard queue where it can be picked up by an agent who can then assist the user via live chat.
Search nodes allow users to enter free text to search the flow for the information they need. The user can describe their problem in their own words and the assistant will display the best available matches from all searchable nodes in the entire flow. Clicking on a match will take the user directly to that node.
Commonly-used nodes can also be presented as shortcuts on the search node before the user has even entered any text.
Write data nodes are not displayed to the user, but allow the assistant to store or overwrite data associated with the conversation.
For example, you may need users to provide their email for certain workflows but then need to prevent it from being stored in the conversation transcript. After using the email, you can overwrite it with a write data node so that only a generic value will be stored in the transcript.
Read data nodes allow you to branch a flow based on data associated with the conversation.
For example, you may wish to route users to different live support agent groups based on their region. If their region has been specified in a form, a read data node can then check this data and then connect to the appropriate live support node.
Actions nodes allow you to perform one or more configurable actions such as sending an email, creating or updating a ticket in a connected help desk, or calling an external API. Many of these actions allow you to store the results as form data.
Reset conversation nodes clear the working/faulty state of all visited symptoms, the accepted/rejected state of all visited solutions, and any answers provided for conditions.
This allows users to work on multiple requests in the same conversation. If they have more than one problem or question, they can get their first solution or answer and then start fresh with the second. The session history is not cleared, so nothing will be missing from the transcript. If the user passes through this node accidentally, they can hit the "Previous" button in the assistant to return to the previous node and restore their previous symptoms, solutions, and conditions.
A restart node is similar to a reset conversation node, but also jumps directly to the flow's start node. If you don't need to jump to a different part of the flow, it may be more clear to use a restart node instead.
Note that form data is not cleared by a reset conversation node. If you need certain form data fields to be cleared, you can do so with a write data node.
Feedback nodes ask the user to rate their experience with the assistant and provide any suggestions they may have. This allows you to gather satisfaction metrics and find ways to improve the assistant's performance.
Users can skip providing feedback, but some may also simply close the assistant when they see a request for feedback. Therefore we strongly suggest that you only use feedback nodes immediately before flow end nodes and do not place any other nodes in between.
Additionally, to avoid biasing your metrics we strongly suggest having a feedback node before every flow end regardless of the path the user took to reach it.
Time slot condition nodes allow you to branch a flow based on the current time.
For example, you may only offer live support during business hours. You could have a time slot condition node connect to a live support node during business hours and to a contact form during other times.
External script functionality is currently experimental. To work with external script nodes, please reach out to your Mavenoid representative.
External script nodes allow you to write [form data based on the output of an external script.
See more details by selecting 'Understand & work with nodes'