No-code scenarios
In addition to writing Avatar scenarios with JavaScript, you can create scenarios by building up logical blocks in a GUI editor, without entering any code. This is called a No-code scenario editor.
Contents
Setting up
To start working with the no-code editor, you need to create an avatar.
Please note, that the no-code editor is also available for your existing avatars. However, you can use either the JS scenario editor or the no-code editor. If you use the no-code editor for an avatar with a JS scenario, your current scenario code will be overwritten!
After you create a new avatar, to use the no-code editor, navigate to the No-code editor section:

This section opens a no-code scenario editor. Use the suggested components to build up your logic.
Please note that the JS scenario editor is still available for you but you can use either the JS scenario editor or the no-code editor. Using the no-code editor overwrites the JS scenario, and writing a JS scenario erases the no-code blocks.
Creating a no-code scenario
Creating a no-code scenario is very easy and intuitive. The editor is represented by a canvas:

Each state has a separate canvas. The canvas is filled with editor cards.
The canvas consists of 3 sections:
Bot actions on enter
Bot actions on utterance
Bot actions on system events
Bot actions on enter
This section determines how a bot should react when it enters a state.

Click on the Add action button to add an action card. All card types are described below in this article. It is a good practice, to start bot interaction with a Bot phrase card.
To add the next card, click the + button near the card. For example, you can choose the Listen to user card to wait for a customer's utterance and recognize their intent.
Bot actions on utterance
This section determines the main logic of customer interaction.

When a customer speaks or types a phrase, Avatar recognizes the intent and/or an entity, then finds the necessary actions and performs them.
When you click on the Add reaction button, it automattically adds the User action card, which always goes first in the current section and determine Avatar's action sequence. This card can distinguish what intent should lead to what actions.
In the User action card, you specify the possible intent/entity and add the appropriate actions. You can click the Add new intent button below, to add several User action cards with different intents/entities that could be recognized, and build separate logic patterns for all possible events in this state.
Bot actions on system events

This section determines what Avatar should do in case of any unexpected events, for example, if a customes keeps silent for a long time and the bot should react. Here you can tell what the bot should do if the dialogue went out of the script.
When you click on the Add event button, it adds a System event card, where you can choose the event that happened and appropriate bot action, for example, Bot phrase.
Types of editor cards
All Avatar actions in the no-code editor are represented by cards. All cards have descriptions when you open them.
Here are the available cards.
Bot phrase
This card makes an Avatar say a specific phrase. You can add several phrases, so your Avatar would choose a phrase randomly from them.
If this card is added in the Bot reactions on utterance section, you can additionally choose the Intent response type, so the Avatar choses one of the answers that are specified in the intent.
In all phrases, you can add values of global variables with the following syntax: ${var_name}
. When you start typing ${...
, the menu automatically suggests the available variables.
Listen to user
This card makes an Avatar listen to the customer and recognize intents and/or entities.
Please note, that you cannot add any new cards in the sequence after this card. When a new intent/entity is recognized, the Avatar acts according to the recognized pattern.
Change state
This card makes the Avatar logic switch to another state. This means, that after that, the logic is taken from another no-code canvas editor, which is chosen within the card.
End dialogue
This card makes an Avatar end the current conversation.
Make HTTP request
This card performs an API request. It supports GET/POST/PUT/DELETE methods, you can pass headers and body, choose the content type and process the response. Then you can build other logic, depending on the response.
While processing the request's response, you can save some data to the response into variables, and then use them in the rest of the scenario, bot utterances and other logic.
Execute code
This card executes a JavaScript code that you specify into the Code field. This may be necessary, if you need to execute a more difficult logic than the current version of the no-code editor allows you.
Condition
This card checks a specific condition and adjusts the next Avatar actions accordingly. The condition can be checking a specific variable or intent/entity, whether it exists or not, or whether its value equals to something or not.
User action
This card is always the first card in the Bot reactions on utterance section, and it determines what exact action should your Avatar perform.
In this card's settings, you can choose the intents that should lead to the next action sequence. You can choose several intents, in this case, any of the intents start the sequence.
In addition, you can specify what entities are recognized in the customer's utterance. For each specified entity, you can choose if it exists, does not exist, or exists and matches conditions. You can choose several entities and switch between AND/OR conditions for them.
You can specify several User action cards is this section, each leads to its own action sequences.
System event
This card represents system events, for example, when a customer does not say or type anything within a specified timeout, perform a specific actions.
It also allows developers to perform some action like executing an API request before the exit from the conversation.
Form state
In addition to a normal State, which covers conversation with a customer, recognizing intents and entities, and performing other actions, there is a Form state, which covers collecting information from a customer into a form.
To create a form state, click the + button in the upper left corner as if you create a normal state, and choose Form state from the dropdown menu.
When you open a form state canvas, you see a window with the form parameters. You can specify the necessary parameters and their options: type, required or not, what phrases to use to ask the customer about this parameter. All the received parameters are stored as global variables and can be used in the rest of the scenario, or in the Avatar's utterances, as it is explained above.
In the System event card for the form state, there are two new events available: On complete and On failed. Use them to process Avatar's behavior.
Default reactions
The default reactions section is a place to process some specific intents globally.
For example, if your Avatar recognizes the agent
intent in any state, it should react the specific way, like connecting the customer to a real agent and do some additional logic.
When you open the default reactions section, you do not have the Bot actions on enter or Bot reactions on system events on your canvas. You only need to setup Bot reactions on utterance as it is explained above, for example, when your Avatar recognizes a certain intent, it performs the programmed logic.
When your Avatar recognizes this intent in any state, it performs the default reaction.