# Bloques y tipos

## Cómo trabajar con bloques

{% hint style="info" %}
MaviBot te permite crear un chatbot diseñando su estructura como un diagrama de flujo que consiste en bloques y flechas.
{% endhint %}

Un **bloque** representa una acción o evento que el bot necesita procesar o realizar.

{% hint style="danger" %}
**¡Ten en cuenta!**

**Limitaciones de bloques:**\
El límite total por diagrama de flujo no es superior a **500 bloques** de los siguientes tipos:

* **bloque de Inicio**
* **Bloque disparador**
  {% endhint %}

Hay conexiones entre bloques, donde puedes definir una condición y/o el momento exacto para la transición al siguiente bloque.

{% hint style="info" %}
**Bloques condicionales** sirven para activar el bot bajo condiciones específicas.\
**Bloques incondicionales** funcionan solo cuando se alcanzan mediante flechas o callbacks (que cubriremos más adelante).
{% endhint %}

{% hint style="warning" %}
**¡Ten en cuenta!**

**¡Los bloques y la conexión tienen una prioridad de ejecución!**\
Los bloques que tienen una condición establecida siempre se ejecutarán primero.

**Prioridad de ejecución de bloques y flechas:**\
El **"Inicio"** el bloque siempre se ejecuta primero:

* Primero, el **"Inicio"** bloque con una condición establecida en el campo de condición se ejecuta.
* Luego, si existe, el **"Inicio"** bloque sin condición se ejecuta.

A continuación, se ejecuta la conexión desde el bloque donde se encuentra actualmente el cliente (si el cliente ya está en el embudo).\
Luego:

* otro  **"Inicio"** bloquea
* El **"Disparador"** bloque

Si no se encuentra una respuesta coincidente y el **asistente de IA** está habilitado, el asistente responderá (si la condición de lanzamiento lo permite).
{% endhint %}

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

**Todos los bloques comparten una estructura unificada:**\
Cada bloque contiene una lista de secciones que puedes habilitar o deshabilitar según sea necesario.

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

El **Mensaje** la sección te permite especificar el texto del mensaje.\
Puedes usar variables en el texto aplicando el siguiente formato: `#{variable_name}`.

## **Menú emergente**

Cada bloque tiene un menú emergente que te permite realizar acciones específicas sobre el bloque, incluyendo:

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

* **Copiar bloque:**

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

* **Eliminar bloque:**

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

* **Copiar el bloque con enlace**&#x20;

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

* **Mover a otra hoja:**

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

{% hint style="success" %}
**Prioridad de bloques/transiciones en orden descendente:**\
· Inicio\
· Conexiones\
· Disparador
{% endhint %}

Echemos un vistazo más de cerca a cada tipo de bloque: cómo crearlos y para qué se usan.\
Para crear el primer bloque, simplemente haz doble clic con el botón izquierdo del ratón en el área de trabajo del editor (por defecto, se creará un bloque de Inicio), o selecciona el tipo de bloque en el menú.

Echemos un vistazo más de cerca a cada uno de ellos.

## **Bloque de chat**

{% hint style="info" %}
Si el bloque no debe contener ningún texto, introduce `#{none}` en el campo de respuesta (esto es lo predeterminado).
{% endhint %}

**Estado del diálogo:** un bloque blanco sin condición.\
Solo puedes entrar en este bloque mediante una flecha. Está destinado a respuestas intermedias, ramificación y envío de varios mensajes uno tras otro en intervalos de tiempo específicos.

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

## **bloque de Inicio**

**Condición inicial:** un bloque verde brillante con la prioridad más alta.\
Toda la secuencia del bot también puede comenzar desde este bloque. La principal diferencia con el **Inicio del diálogo** bloque es que las condiciones en estos bloques se verifican primero. Si el cliente introduce una palabra clave o frase de este bloque durante la conversación, será redirigido inmediatamente a él.

Ejemplo de configuración de la reacción del bot a un saludo del cliente:

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

El cliente recibirá el mensaje **"¡Hola!"** como respuesta.

## Bloque de leads

El bloque de leads es un bloque sin condición, de color rojo.

El propósito principal de este tipo de bloque es crear una solicitud (lead). Al transicionar a este bloque, todos los datos recopilados hasta ese momento (valores de las variables) sobre el usuario se envían al sistema CRM, correo electrónico, WhatsApp personal o Telegram (o cualquier otro contacto especificado en la configuración del proyecto) como una solicitud lista para usar. Después de la transferencia, los valores de las variables del trato se eliminan del generador.

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

## Disparador

**Bloque disparador** es un bloque gris oscuro.\
Funcionalmente, es similar al bloque Inicio bloque, con la única diferencia de que el cliente no transita a este bloque.

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

{% hint style="info" %}
La prioridad de este bloque, en comparación con otros bloques condicionales, es la más baja, lo que significa que se activará al final.
{% endhint %}

## Fallback

**Bloque Fallback** es un bloque gris. No tiene condiciones como el **Trigger t** bloque, y no se puede transitar hacia él.

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

{% hint style="warning" %}
Puedes usar bloques Fallback para crear una conexión programada o, por ejemplo, para validar datos introducidos por los clientes. Como el usuario no puede transitar hacia estos bloques, tampoco puede salir del flujo principal.

Los bloques Fallback también pueden usarse para activar secuencias de difusión.
{% 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/es/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.
