# Mover un cliente tras inactividad

Durante una conversación con un cliente, puede surgir un problema en el que este no complete la acción objetivo o se quede atascado en el último bloque del embudo, y el chatbot no responda a sus acciones. Para evitarlo, puedes configurar una transferencia automática del cliente a otro bloque sin crear rutas de movimiento duplicadas.

## ¿Cómo mover automáticamente a un cliente a través del embudo?

Como ejemplo de movimiento automático de un cliente a través del embudo, usaremos un flujo sencillo de chatbot que pregunta al usuario si asistirá a un evento:

<figure><img src="/files/f574a186f4bcf1deb7cb27990c9e2d24e63e1efe" alt="" width="223"><figcaption><p>Fig. 1</p></figcaption></figure>

En el ejemplo (Fig. 1), puedes ver que el cliente avanza más en el embudo solo si hace clic en el botón “¡Sí!” enviado por el penúltimo bloque. (En otros casos, el disparador para continuar por el embudo puede ser prácticamente cualquier cosa, dependiendo de las condiciones de tu flujo de chatbot.)

En este ejemplo (Fig. 1), la clienta Nastya decidió no hacer clic en el botón del chatbot, por lo que la conversación quedó atascada en el penúltimo bloque del embudo:

<figure><img src="/files/ad5110210f382ce121a770ba252eb1d752897f25" alt="" width="494"><figcaption><p>Fig. 2</p></figcaption></figure>

Para resolver este problema, debes seguir un par de pasos simples en tu diagrama de flujo: para continuar la conversación con el cliente o moverlo a través del embudo después de un cierto tiempo (por ejemplo, después de *n* minutos), dibuja una flecha adicional desde el penúltimo bloque y establece el retraso de tiempo después del cual el cliente avanzará automáticamente al siguiente bloque del embudo.

<figure><img src="/files/230913af49b9a269408e5d3081b509fe21188037" alt=""><figcaption><p>Crea una segunda flecha que lleve al bloque</p></figcaption></figure>

Ahora, configura un temporizador con el intervalo de tiempo deseado en los ajustes de la flecha, para que el cliente se mueva automáticamente al siguiente bloque:

<figure><img src="/files/5b6977d4d01c8c4cf367f65e648a61c50ac3fa5d" alt="" width="563"><figcaption><p>Fig. 3</p></figcaption></figure>

Asegúrate de activar el **“Cancelar si el bloque se abandona”** interruptor (Fig. 3) para evitar que el mensaje se envíe de nuevo cuando venza el temporizador si el cliente ya ha pasado al siguiente bloque (por ejemplo, haciendo clic en un botón).

<figure><img src="/files/ea4cf025072c320375df0edbf1931d096fcd7152" alt="" width="563"><figcaption><p>Ejemplo de transición automática</p></figcaption></figure>

El ejemplo anterior muestra que el bot mueve automáticamente al cliente a través del embudo y envía el mensaje final, incluso si no hizo clic en el botón. <br>

Ahora, con ayuda de la segunda flecha con el temporizador configurado, el cliente será movido más adelante en el embudo después de cierto período de tiempo.

## ¿Cómo mover a un cliente desde el último bloque a otro bloque?

En el diagrama de flujo (Fig. 4), puedes ver que el penúltimo bloque determina en qué bloque entrará tu cliente, dependiendo del botón que pulse en el bloque con dos ramas:

<figure><img src="/files/73f4f2ded55630f11082dfd5a17451ba84cb455b" alt="" width="563"><figcaption><p>Fig. 4. Diagrama de flujo sencillo de chatbot</p></figcaption></figure>

Si el cliente hace clic en uno de los dos botones, se quedará en el último bloque y no podrá, por ejemplo, volver al bloque anterior y elegir otra opción cuando sea necesario. El chatbot simplemente no responderá al pulsar otro botón porque el usuario ya ha pasado al último bloque, que no permite seguir moviéndose por el embudo (ver el ejemplo a continuación).

<figure><img src="/files/e66eb9ee3614de207813a7fb5be8647f570d42d9" alt="" width="518"><figcaption><p>El cliente ha pasado al último bloque, y el bot no responde a pulsaciones repetidas del botón.</p></figcaption></figure>

En este caso, puedes resolver el problema de dos maneras:

1. Usando la pestaña **“Not State”** bloque — esta función mantiene al cliente en el bloque con las opciones de botones sin moverlo a los siguientes bloques.
2. Usando **botones de callback** — esta función mueve al cliente a los siguientes bloques, pero aún le permite cambiar su elección si no está satisfecho con el resultado.

### El bloque “Not State”

El bloque “Not State” es un bloque gris. A diferencia del bloque “Dialog State”, no tiene condiciones y los clientes no pueden ser movidos a él directamente.

En nuestro flujo, el bloque “Not State” es perfecto porque el usuario no saldrá del penúltimo bloque y podrá pulsar un botón diferente si no está contento con su primera elección.

Para configurarlo, ve al creador del embudo y selecciona el tipo de bloque **“Not State”** (no lo confundas con **“Not State with condition”**).

<figure><img src="/files/55bce2f713112ceb9bc31fffb21503379e20766b" alt=""><figcaption><p>Fig. 5 Bloque "Not State"</p></figcaption></figure>

Ahora nuestro diagrama de flujo se ve así:

<figure><img src="/files/8e32238485bcedd78a1dedb9f97e21683350907d" alt="" width="563"><figcaption><p>Fig. 6</p></figcaption></figure>

Para comprobar que el flujo funciona correctamente, abre el tester del bot. Allí verás que se puede pulsar cualquier botón independientemente de la elección anterior del cliente:

<figure><img src="/files/21049370fe743ec8e1b83b851d35af4f5df5e0fe" alt="" width="518"><figcaption></figcaption></figure>

### Botones de callback

Si realmente necesitas que el cliente avance más en el embudo y pase a otros bloques, la funcionalidad de los botones de callback te ayudará.

Para hacerlo, elimina las flechas que conducen a los bloques finales en el diagrama de flujo y establece el tipo de esos bloques en **“Comprobación de condición principal”**:

<figure><img src="/files/b2c7f2c248dd218bead8e24d80849bdb8a29b469" alt="" width="563"><figcaption><p>Fig. 7. Diagrama de flujo con bloques de “Comprobación de condición principal”</p></figcaption></figure>

Vayamos a la configuración de los botones dentro del bloque:

<figure><img src="/files/7b5e4eb12cde5073d0e4f9e7680c0de1d34faab1" alt=""><figcaption><p>Fig. 8. </p></figcaption></figure>

Se abrirá la ventana de configuración del botón “¡Sí!”. Aquí, haz lo siguiente:

* Selecciona el tipo de botón **“Botón de callback”**
* En el texto del mensaje de respuesta, introduce las palabras o frases necesarias para el campo de condición en el **“Comprobación de condición principal”** .

<figure><img src="/files/f30fbfc2831fcd68de493d1f7d23a835789a0581" alt="" width="563"><figcaption><p>Fig. 9. Cambio de la configuración del botón</p></figcaption></figure>

Configura el segundo botón de la misma manera (en nuestro flujo, este es el botón "No").

{% hint style="warning" %}
Usa textos/frases diferentes para los campos de **“texto del mensaje de respuesta”** en la configuración de los botones dentro del mismo proyecto para evitar errores del chatbot.
{% endhint %}

A continuación, ve a la configuración de los **bloque de comprobación de condición principal** bloques, donde debes introducir las palabras que escribiste en el **“texto del mensaje de respuesta”** campo, usando el tipo de coincidencia **“Coincidencia exacta”**:

<figure><img src="/files/04f0de4f44e92afd8ba8e16750883df3d3b9ba6e" alt="" width="563"><figcaption><p>Fig. 10. Configuración del bloque de "Comprobación de condición principal"</p></figcaption></figure>

Configura el segundo bloque para el botón “No” de la misma manera.

De este modo, has aprendido cómo mover automáticamente a un cliente a través del embudo usando tres métodos diferentes.

## Versión en video del artículo

{% embed url="<https://youtu.be/vO5Q8aLKkrk>" %}


---

# 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/como-hacer.../mover-un-cliente-tras-inactividad.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.
