Skip to main content

Dialogs

Dialogs are a feature of AI agents. Their purpose is to define fixed workflows that the AI agent can follow in a conversation. A dialog is composed of several different blocks, which are connected to each other. Each of these block have different functionalities and have different roles.

Each dialog consists of trigger and action nodes.

Create a dialog​

The console calls this area Workflows. A workflow in the MCP server is an intent plus the dialog that the intent triggers.

  1. Open the AI agent and go to Workflows.
  2. Select Create dialog. If the menu opens, select Create empty dialog, or select Generate from description to let the Workflow Generator draft it.
  3. Add a trigger and the actions.

Triggers​

Every dialog starts with a single trigger. Moveo supports the following triggers:

TypeDescription
IntentTriggered on text messages, when the AI agent recognizes an intent
EventTriggered internally from a different dialog node
FallbackTriggered when Moveo cannot match any of the dialog nodes given the recognized intent

Add a trigger​

To add a trigger to an empty dialog, follow these steps:

  1. Drag Intent or Event from Toolkit to the empty box on the canvas.
  2. In the side panel, enter the Node name.
  3. For an intent trigger, select the intent in the side panel.

Uses of triggers​

Moveo has two different functionalities for triggers:

  • They can be used as the parent trigger (r_0r\_0, nodes[0]) in a dialog.
  • They can be used as child triggers to provide a different response. See what happens for an intent trigger and a fallback trigger.

Enhance with AI​

Toggle "Enhance with AI" in the trigger node’s sidebar to enrich responses with relevant contextual information.

The side panel of the Track order intent trigger with Enhance with AI turned on.The side panel of the Track order intent trigger with Enhance with AI turned on.

Actions​

Each time the user sends a message, the AI agent activates one or more triggers. It can then respond in a variety of forms.

Actions include plain text, links, menus, and options. Add one or more actions below a trigger by dragging and dropping them.

Types of actions​

Moveo supports the following responses, operations, and extensions:

Responses​

ResponseDescription
TextReply with a text
ImageSend an image
CarouselReply with a carousel
WebviewDisplay a webview
VideoSend a video
FileSend a file
SurveyDisplay a survey
URLSend a URL

Operations​

OperationDescription
QuestionAsk a question to the user
Jump toTrigger a specific node
ConditionCreate a logic tree
HandoverTransfer the conversation to an agent
Switch channelOffer to continue on another channel
TagLabel the conversation with a tag
PausePause the conversation
Set variablesSet a variable equal to a value
Reset variablesReset specific or all context variables
ResolveClose the conversation

Extensions​

ExtensionDescription
WebhookCall a predefined webhook
Google SheetStore data in a Google Sheet
EmailSend an email

Add an action​

To add an action below a trigger, follow these steps:

  1. Drag an action, for example Text, from Toolkit to the box under the trigger.
  2. In the side panel, set the action. For a text action, enter the Reply.

Folders​

A folder is a group of dialogs. Its purpose is to create a clean and organized AI agent, so that you can coordinate better and be more efficient. It's like organizing clothes in a closet's shelves, instead of putting them all in one cupboard. To (re)name a folder, you can double-click its name and enter the new one.

Moving around dialogs​

Drag and drop a dialog from any folder to another. Drag a dialog to the area at the bottom of the list to create a new folder, or select any dialog and then select Create dialog to create a dialog in the same folder.

Export and import a dialog​

  1. Select the dialog you want to export.
  2. Select the contextual menu in the top right corner.
  3. Select Export or Import.
The menu of the Track an order dialog with the Export and Import options.The menu of the Track an order dialog with the Export and Import options.
note

The exported dialog is a JSON file.

Limits​

Each new dialog turn in Moveo is designed to efficiently handle up to 80 trigger nodes and completes within a maximum timeframe of 17 seconds. This setup ensures optimal performance and user experience during interactions. In practice, these limits are rarely reached unless an unintended infinite loop is introduced through the dialog's event structure.

Loop detection​

A loop usually comes from Jump to actions that create a cycle between dialogs. For example, a dialog named "Affirmative" jumps to "Contact details", which jumps to "Goodbye", which jumps back to "Affirmative".

Moveo stops a turn when it reaches one of the limits. Most loops are accidental, so test the AI agent after you add a jump. When a turn stops in a loop, the Turns tab of the test modal shows Infinite loop detected under Errors & warnings. The steps show each jump, so you can find the action that closes the loop. If the loop is part of your design, you can ignore this warning.

The Turns tab of the test modal with Infinite loop detected under Errors & warnings, and the jumps between three dialogs in the steps.The Turns tab of the test modal with Infinite loop detected under Errors & warnings, and the jumps between three dialogs in the steps.

Troubleshooting​

When naming an intent trigger, keep in mind that you are not allowed to use more than 45 characters.

Whenever you use a condition, you must add at least one rule and attach a response (action). Otherwise, you cannot save your changes.

The field inside an intent trigger cannot be empty. If it is empty, you cannot save the changes. Consider converting the intent trigger to an event trigger if you encounter this issue.

To attach a new file in a dialog, ensure that the file is accessed through a URL. If you want to use a photo or video, make sure the file is accessed through a URL. For carousels, the title's maximum length is 32 characters and the subtitle's is 160 characters. Some channels show a shorter subtitle. For the limit of each channel, see Carousel response. Each card supports a maximum of 3 buttons, with up to 6 cards total. The Carousel's title, Button's Label, and Postback are mandatory fields.

Always remember that when you save your changes, they are not visible to the end user. To make them visible, you must Publish them.