# Блоки и типы

## Как работать с блоками

{% hint style="info" %}
MaviBot позволяет создавать чат-бота, проектируя его структуру в виде блок-схемы, состоящей из блоков и стрелок.
{% endhint %}

A **блок** представляет действие или событие, которое бот должен обработать или выполнить.

{% hint style="danger" %}
**Обратите внимание!**

**Ограничения блоков:**\
Общий лимит на одну блок-схему составляет не более **500 блоков** следующих типов:

* **блока «Старт»**
* **Блок-триггер**
  {% endhint %}

Между блоками существуют связи, где можно задать условие и/или точное время перехода к следующему блоку.

{% hint style="info" %}
**Условные блоки** служат для запуска бота при определённых условиях.\
**Безусловные блоки** работают только при переходе в них по стрелкам или колбэкам (которые мы рассмотрим позже).
{% endhint %}

{% hint style="warning" %}
**Обратите внимание!**

**У блоков и связей есть приоритет выполнения!**\
Блоки, для которых задано условие, всегда выполняются первыми.

**Приоритет выполнения блоков и стрелок:**\
Текст **«Start»** блок всегда выполняется первым:

* Сначала **«Start»** выполняется блок с заданным условием в поле условия.
* Затем, если он есть, **«Start»** выполняется блок без условия.

Далее выполняется связь из блока, где в данный момент находится клиент (если клиент уже находится в воронке).\
Затем:

* другой  **«Start»** блокирует
* Текст **«Trigger»** блок

Если подходящий ответ не найден и **ИИ-ассистент** включён, ассистент ответит (если условие запуска это позволяет).
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/31212210476e5dac200ae20292eda6284b7d4408" alt="" width="267"><figcaption></figcaption></figure></div>

**Все блоки имеют единую структуру:**\
Каждый блок содержит список секций, которые можно включать или отключать по необходимости.

<div data-with-frame="true"><figure><img src="/files/2896a16a6f7a40d92c02e97de394af1b5a8e7f90" alt=""><figcaption></figcaption></figure></div>

Текст **Секция сообщения** позволяет задать текст сообщения.\
В тексте можно использовать переменные, применяя следующий формат: `#{variable_name}`.

## **Всплывающее меню**

У каждого блока есть всплывающее меню, которое позволяет выполнять определённые действия с блоком, включая:

<div data-with-frame="true"><figure><img src="/files/1a75237867d32756bac76a667eaccae61f0d5888" alt="" width="563"><figcaption></figcaption></figure></div>

* **Копирование блока:**

<div data-with-frame="true"><figure><img src="/files/4651175750d7dc5ff169b763dddb7f906746ca39" alt="" width="563"><figcaption></figcaption></figure></div>

* **Удаление блока:**

<div data-with-frame="true"><figure><img src="/files/635af38c96946a788dfa801ce55c96a6a12cdc0c" alt="" width="563"><figcaption></figcaption></figure></div>

* **Копирование блока со связью**&#x20;

<div data-with-frame="true"><figure><img src="/files/c6a13be039d26d5831e33b3a28b2a80111900d2b" alt="" width="563"><figcaption></figcaption></figure></div>

* **Перемещение на другой лист:**

<div data-with-frame="true"><figure><img src="/files/63aea82b332cb471ab15405937db986fe388bdcf" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Приоритет блоков/переходов по убыванию:**\
· Старт\
· Связи\
· Триггер
{% endhint %}

Давайте подробнее рассмотрим каждый тип блока: как их создавать и для чего они используются.\
Чтобы создать первый блок, просто дважды щёлкните левой кнопкой мыши по рабочей области редактора (по умолчанию будет создан блок Start) или выберите тип блока в меню.

Давайте подробнее рассмотрим каждый из них.

## **Чат-блок**

{% hint style="info" %}
Если блок не должен содержать никакого текста, введите `#{none}` в поле ответа (это значение по умолчанию).
{% endhint %}

**Состояние диалога:** белый блок без условия.\
Попасть в этот блок можно только по стрелке. Он предназначен для промежуточных ответов, ветвления и отправки нескольких сообщений одно за другим через заданные промежутки времени.

<div data-with-frame="true"><figure><img src="/files/7ebd0de01318c97d4f04f647e0c00bf7c8410d1f" alt=""><figcaption></figcaption></figure></div>

## **блока «Старт»**

**Начальное условие:** ярко-зелёный блок с наивысшим приоритетом.\
Вся последовательность бота может начинаться и с этого блока. Главное отличие от **Начала диалога** состоит в том, что условия в этих блоках проверяются в первую очередь. Если клиент во время разговора введёт ключевое слово или фразу из этого блока, он будет немедленно перенаправлен в него.

Пример настройки реакции бота на приветствие клиента:

<div data-with-frame="true"><figure><img src="/files/34058050119a20f292f3ccb9e3b558271568a540" alt=""><figcaption></figcaption></figure></div>

Клиент получит сообщение **"Привет!"** в ответ.

## Блок лидов

Блок лидов — это блок без условия, окрашенный в красный цвет.

Основное назначение этого типа блока — создание заявки (лида). При переходе в этот блок все данные, собранные к этому моменту (значения переменных) о пользователе, отправляются в CRM-систему, на email, в личный WhatsApp или Telegram (или любой другой контакт, указанный в настройках проекта) в виде готовой заявки. После передачи значения переменных сделки удаляются из конструктора.

<div data-with-frame="true"><figure><img src="/files/5fc09eb2f27463a2d5447d41cf2061d8462ab989" alt=""><figcaption></figcaption></figure></div>

## Trigger

**Блок-триггер** это тёмно-серый блок.\
Функционально он похож на блок Start блок, с той лишь разницей, что клиент не переходит в этот блок.

<div data-with-frame="true"><figure><img src="/files/4ccad2565343ea2bee8357eddfaf27a0948e54cc" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Приоритет этого блока по сравнению с другими условными блоками самый низкий — то есть он сработает последним.
{% endhint %}

## Fallback

**Блок Fallback** это серый блок. У него нет условий, как у **Trigger t** блока, и в него нельзя перейти.

<div data-with-frame="true"><figure><img src="/files/5eed3086b65d18d83845a83e5e707f5cbf22b5f2" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Блоки Fallback можно использовать для создания связки по времени или, например, для проверки данных, введённых клиентами! Поскольку пользователь не может перейти в эти блоки, он также не может выйти из основного потока.

Блоки Fallback также можно использовать для запуска массовых рассылок.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/chatbot/builder/setting/types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
