# Блоки та типи

## Як працювати з блоками

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

A **блок** представляє дію або подію, яку бот має обробити або виконати.

{% hint style="danger" %}
**Зверніть увагу!**

**Обмеження блоків:**\
Загальне обмеження на одну блок-схему становить не більше ніж **500 блоків** таких типів:

* **блоці Start**
* **Тригерний блок**
  {% endhint %}

Між блоками є з’єднання, де можна визначити умову та/або точний час переходу до наступного блоку.

{% hint style="info" %}
**Умовні блоки** призначені для запуску бота за певних умов.\
**Безумовні блоки** працюють лише тоді, коли до них переходять через стрілки або колбеки (це ми розглянемо пізніше).
{% endhint %}

{% hint style="warning" %}
**Зверніть увагу!**

**Блоки та з’єднання мають пріоритет виконання!**\
Блоки, для яких задано умову, завжди виконуються першими.

**Пріоритет виконання блоків і стрілок:**\
Поле **"Start"** блок завжди виконується першим:

* Спочатку **"Start"** виконується блок із заданою умовою в полі умови.
* Потім, якщо він існує, **"Start"** виконується блок без умови.

Далі виконується З’єднання від блоку, де наразі перебуває клієнт (якщо клієнт уже є у воронці).\
Потім:

* інший  **"Start"** блокує
* Поле **"Trigger"** блок

Якщо збіг не знайдено і **асистент ШІ** увімкнено, асистент відповість (якщо умова запуску це дозволяє).
{% endhint %}

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

**Усі блоки мають уніфіковану структуру:**\
Кожен блок містить список розділів, які ви можете вмикати або вимикати за потреби.

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

Поле **Повідомлення** розділ дозволяє вказати текст повідомлення.\
У тексті можна використовувати змінні, застосовуючи такий формат: `#{variable_name}`.

## **Спливаюче меню**

Кожен блок має спливаюче меню, яке дозволяє виконувати певні дії над блоком, зокрема:

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

* **Копіювання блоку:**

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

* **Видалення блоку:**

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

* **Копіювання блоку зі зв’язуванням**&#x20;

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

* **Переміщення на інший аркуш:**

<div data-with-frame="true"><figure><img src="/files/e8ecf4be2ae69c3c4ecccc15dc5c9695cecac2f8" 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/c0221da32427568cf5521f5893c76a974b2968e8" alt=""><figcaption></figcaption></figure></div>

## **блоці Start**

**Початкова умова:** яскраво-зелений блок із найвищим пріоритетом.\
Уся послідовність бота також може починатися з цього блоку. Основна відмінність від **Початок діалогу** блоку полягає в тому, що умови в цих блоках перевіряються першими. Якщо клієнт введе ключове слово або фразу з цього блоку під час розмови, його буде негайно перенаправлено до нього.

Приклад налаштування реакції бота на вітання клієнта:

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

Клієнт отримає повідомлення **"Привіт!"** у відповідь.

## Блок лідів

Блок лідів — це блок без умови, пофарбований у червоний колір.

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

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

## Тригер

**Тригерний блок** є темно-сірим блоком.\
Функціонально він подібний до блоку Start блоку, з єдиною відмінністю, що клієнт не переходить у цей блок.

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

{% hint style="info" %}
Пріоритет цього блоку порівняно з іншими умовними блоками є найнижчим — тобто він спрацює останнім.
{% endhint %}

## Запасний варіант

**Блок запасного варіанту** є сірим блоком. У нього немає умов, як у **Тригер T** блоку, і в нього не можна перейти.

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

{% hint style="warning" %}
Ви можете використовувати блоки запасного варіанту для створення з’єднання за часом або, наприклад, для перевірки даних, введених клієнтами! Оскільки користувач не може перейти в ці блоки, він також не може вийти з основного потоку.

Блоки запасного варіанту також можна використовувати для запуску серій розсилок.
{% 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/uk/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.
