# Pasos

> Qué hace cada tipo de paso, por qué salidas sigue y en qué se diferencia entre WhatsApp e Instagram.

Después del disparador, la automatización sigue por los pasos que conectaste. Cada paso sale por una de sus **salidas**, y cada salida puede ir a otro paso. Si una salida no está conectada, la automatización termina ahí.

| Grupo | Pasos |
| --- | --- |
| **Mensajes** | [Mensaje](#mensaje), [Pregunta](#pregunta), [Secuencia de seguimiento](#secuencia-de-seguimiento) |
| **Lógica** | [IA](#ia), [Condición](#condicion), [Aleatorio](#aleatorio), [Esperar](#esperar) |
| **Acciones** | [Acción](#accion), [Solicitud HTTP](#solicitud-http), [Pasar a una persona](#pasar-a-una-persona), [Ir a otra automatización](#ir-a-otra-automatizacion), [Fin](#fin) |

## Antes de empezar: la ventana de 24 horas

WhatsApp e Instagram solo te dejan escribir libremente durante las **24 horas siguientes al último mensaje del cliente**. Esto también vale para las automatizaciones:

- **Si el cliente acaba de escribir** (palabra clave, primer mensaje, anuncio, historia), la ventana está abierta y puedes mandar cualquier mensaje.
- **Si la automatización arranca sin que el cliente haya escrito** (webhook, API, inicio manual) o después de una espera larga, la ventana puede estar cerrada. En WhatsApp, lo único que se puede mandar entonces es una **plantilla aprobada**. En Instagram no hay plantillas: hay que esperar a que el cliente vuelva a escribir.

Por eso el paso **Mensaje** tiene una salida **Ventana cerrada** y una [plantilla de respaldo](#plantilla-de-respaldo) opcional, la **Secuencia de seguimiento** tiene una plantilla por paso, y la **Condición** tiene la opción **Ventana de 24 h abierta**. Más en [La ventana de 24 horas](/conceptos/ventana-24-horas).

## Mensaje

Manda un mensaje. En **Tipo de mensaje** eliges:

| Tipo | Qué manda | WhatsApp | Instagram |
| --- | --- | --- | --- |
| **Texto** | Un texto con [variables](/guias/automatizaciones/crear#variables), hasta 4.096 caracteres. | ✓ | ✓ |
| **Archivo** | Una foto, un video, un audio o un PDF, con un comentario opcional. | ✓ | ✓ |
| **Link** | Un texto con un botón que abre una página (**Texto del botón** hasta 20 caracteres). | ✓ | ✓ |
| **Plantilla** | Una [plantilla aprobada](/guias/plantillas/crear), con sus variables. Es la única forma de escribir con la ventana cerrada. | ✓ | — |
| **Corazón** | Un ❤️. | — | ✓ |

**Salidas:**

| Salida | Cuándo |
| --- | --- |
| **Enviado** | El mensaje salió (o, con la ventana cerrada, salió la plantilla de respaldo). |
| **Ventana cerrada** | La ventana de 24 horas estaba cerrada, el mensaje no es una plantilla y no tiene plantilla de respaldo (o es Instagram). Si no la conectas, la ejecución termina con un error. |

### Plantilla de respaldo

En los mensajes de tipo **Texto**, **Archivo** y **Link** puedes marcar **Si pasaron más de 24 h, mandar esta plantilla** y elegir una [plantilla aprobada](/guias/plantillas/crear), con sus variables:

- **Con la ventana abierta**, sale tu mensaje, como siempre.
- **Con la ventana cerrada, en WhatsApp**, sale la plantilla en su lugar y la ejecución sigue por **Enviado**.
- **En Instagram** no hay plantillas: con la ventana cerrada sale por **Ventana cerrada**.

En el lienzo, la tarjeta lo muestra debajo del mensaje (**+24 h:** y el nombre de la plantilla).

<Tip>
  Si la automatización arranca desde tu sistema, con el disparador [Sin respuesta](/guias/automatizaciones/seguimientos) o después de una espera larga, usa la plantilla de respaldo (o conecta **Ventana cerrada** a un **Mensaje** de tipo **Plantilla**). Así el cliente recibe algo aunque haya pasado más de un día.
</Tip>

Si la automatización corre en los dos canales, separa el camino con una [condición de canal](#condicion) antes de una plantilla (solo WhatsApp) o de un corazón (solo Instagram). El editor no te deja publicar si no lo haces.

## Pregunta

Manda una pregunta y **espera la respuesta** del cliente. En **Qué espera** eliges el tipo de respuesta:

| Tipo | Acepta | Ejemplo |
| --- | --- | --- |
| **Opciones** | Una de las opciones que cargues. | _Ver catálogo_ / _Horarios_ / _Hablar con alguien_ |
| **Texto** | Cualquier texto. | Un nombre, una dirección |
| **Número** | Un número. Entiende `1.234,50`, `1234.5` y `$ 1500`. | Cantidad, presupuesto |
| **Email** | Un email válido. | `sofia@gmail.com` |
| **Teléfono** | Un teléfono de 8 a 15 dígitos. | `11 2345-6789` |

### Cómo se ven las opciones

Cada opción tiene hasta 20 caracteres.

| Canal | Cómo le llegan |
| --- | --- |
| **WhatsApp**, hasta 3 opciones | Botones de respuesta. |
| **WhatsApp**, de 4 a 10 opciones | Una lista, que se abre con el botón de **Botón que abre la lista (WhatsApp)** (por defecto, _Ver opciones_). |
| **Instagram**, hasta 13 opciones | Respuestas rápidas debajo del mensaje. |

El cliente puede tocar la opción o escribirla. También vale escribir el número de la opción (_“2”_) o una frase que empiece con la opción. No importan las mayúsculas ni las tildes.

### Salidas

| Salida | Cuándo |
| --- | --- |
| Una por opción (con el texto de la opción) | Eligió esa opción. Solo con **Opciones**. |
| **Respondió** | Dio una respuesta válida. Con **Texto**, **Número**, **Email** y **Teléfono**. |
| **Otra respuesta** / **Respuesta inválida** | Escribió algo que no corresponde, incluso después de volver a preguntarle. |
| **Sin respuesta** | No respondió en el tiempo de **Si no responde en** (por defecto, 24 horas; hasta 7 días). |

### Más opciones

- **Si la respuesta no sirve, vuelve a preguntar**: cuántas veces repite la pregunta ante una respuesta inválida (de 0 a 3) antes de salir por **Otra respuesta** o **Respuesta inválida**. Con **Texto para volver a preguntar (opcional)** puedes mandar otro texto, como _“Ese email no parece válido. ¿Me lo pasas de nuevo?”_.
- **Guardar en la variable**: guarda la respuesta para usarla después como `{var.nombre_que_elijas}`. La última respuesta siempre está en `{var.respuesta}`.
- **…y en el campo del contacto**: además, la guarda en un [campo del contacto](/guias/contactos/campos). Así queda en su ficha y puedes usarla en segmentos y campañas.

<Warning>
  Una pregunta necesita la ventana de 24 horas abierta. Si está cerrada, la ejecución termina con un error. En WhatsApp, manda antes una plantilla y deja que el cliente responda.
</Warning>

## Secuencia de seguimiento

Manda **varios mensajes espaciados** y espera la respuesta del cliente. Si responde en cualquier momento, los mensajes que faltan no salen. Es ideal después del disparador [Sin respuesta](/guias/automatizaciones/disparadores#sin-respuesta), para insistir con un presupuesto o un carrito sin confirmar.

<Frame>
  <img src="/images/automatizaciones/secuencia.webp" alt="Secuencia de seguimiento elegida en el lienzo, con dos pasos, y su panel de configuración con la regla de las 24 h" />
</Frame>

Cada paso (hasta 10) tiene:

- **Sale después de** (el primero) o **Después del paso anterior, esperar** (los siguientes): de 1 minuto a 30 días.
- **Mensaje**: el texto que sale si el cliente escribió en las últimas 24 horas. O marca **Que lo escriba la IA** para que un [paso de IA](/guias/automatizaciones/ia) lo escriba con tus **Instrucciones para la IA**.
- **Si pasaron más de 24 h (WhatsApp)**: la plantilla que sale con la ventana cerrada. Si eliges **Ninguna: se saltea el paso**, con la ventana cerrada no sale nada. En Instagram, con la ventana cerrada el paso siempre se saltea.

Al final, **Después del último paso, esperar una respuesta** define cuánto espera antes de rendirse.

**Salidas:**

| Salida | Cuándo |
| --- | --- |
| **Respondió** | El cliente escribió en cualquier momento de la secuencia. Su mensaje queda en `{var.respuesta}`. |
| **No respondió** | Salieron todos los pasos y pasó la espera final sin respuesta. |

Todo el detalle y un ejemplo armado están en [Seguimientos a quien no respondió](/guias/automatizaciones/seguimientos).

## IA

Usa la IA para leer la conversación y hacer una de tres cosas. No necesitas claves: cada llamada gasta [créditos IA](/guias/cuenta/creditos-ia) de tu cuenta.

<Frame>
  <img src="/images/automatizaciones/ia.webp" alt="Paso IA en modo Responder conversando hasta cumplir un objetivo, con sus salidas en el lienzo y el panel de configuración" />
</Frame>

| Modo | Qué hace | Salidas |
| --- | --- | --- |
| **Responder** | Le contesta al cliente. Una vez, o conversando hasta cumplir un objetivo (**Seguir conversando hasta cumplir un objetivo**). | Una vez: **Respondió**, **Ventana cerrada**, **Error**. Conversando: **Objetivo cumplido**, **Pidió una persona**, **Sin respuesta**, **Ventana cerrada**, **Error**. |
| **Clasificar** | Elige una de tus **Categorías** según lo que quiere el cliente. La elegida queda en `{var.categoria}`. | Una por categoría, **Otra** y **Error**. |
| **Extraer datos** | Busca los datos que le pidas y los guarda en `{var.clave}` y, si quieres, en un campo del contacto. | **Listo** y **Error**. |

En todos los modos eliges el **Modelo**, las **Instrucciones** y cuántos **Mensajes anteriores que lee**. Con el modelo estándar, cada respuesta gasta alrededor de 1 crédito; los modelos más potentes gastan más.

Qué modelo elegir, cómo escribir buenas instrucciones y qué significa cada error está en [Pasos de IA](/guias/automatizaciones/ia).

## Condición

Separa el camino según se cumpla o no. Puedes sumar varias condiciones y elegir en **Cómo se combinan** si **Se cumplen todas** o **Se cumple alguna**.

| Condición | Pregunta | Ejemplo |
| --- | --- | --- |
| **Dato del contacto** | ¿Qué dice el nombre, el teléfono, el Instagram o un campo personalizado? | _ciudad_ es _Córdoba_ |
| **Variable** | ¿Qué dice una variable de esta ejecución? | _presupuesto_ es mayor que _50000_ |
| **Canal** | ¿La conversación es de WhatsApp o de Instagram? | Canal es _Instagram_ |
| **Horario de atención** | ¿Ahora es horario de atención? Eliges los días y las horas, en hora de Argentina. | Lunes a viernes de 9 a 18 |
| **Ventana de 24 h abierta** | ¿Se le puede escribir sin plantilla? | |
| **Etapa del caso** | ¿El caso de la conversación está (o no está) en alguna de estas etapas de un [pipeline](/guias/pipelines/automatizaciones#la-condicion-etapa-del-caso)? | El caso está en _Cotizando_ o _Negociando_ |

Para datos y variables, las comparaciones son: **es**, **no es**, **contiene**, **no contiene**, **está vacío**, **tiene un valor**, **es mayor que** y **es menor que**. No importan las mayúsculas ni las tildes.

**Salidas:** **Sí** y **No**.

<Tip>
  Las acciones de la misma ejecución ya cuentan: si un paso anterior guardó _interesado_ en un campo, una condición posterior lo ve.
</Tip>

## Aleatorio

Reparte a los contactos al azar entre 2 y 5 caminos, según el peso de cada uno. Sirve para comparar dos mensajes y ver cuál funciona mejor.

**Salidas:** una por camino, con su letra y su porcentaje (por ejemplo, **A · 50%** y **B · 50%**).

## Esperar

Frena la ejecución un rato y después sigue sola. En **Tipo de espera**:

- **Un tiempo**: minutos, horas o días.
- **Hasta el horario**: sigue cuando abre el horario de atención que elijas (hora de Argentina). Si ya está abierto, sigue enseguida.

**Salida:** **Siguiente**.

Las esperas tienen una precisión de alrededor de un minuto. Mientras una ejecución espera, un mensaje del cliente que coincide con otra automatización la corta. Mira [Qué pasa si ya hay una en curso](/guias/automatizaciones/disparadores#que-pasa-si-ya-hay-una-en-curso).

<Warning>
  Después de una espera larga, la ventana de 24 horas puede haberse cerrado. Usa la [plantilla de respaldo](#plantilla-de-respaldo) o la salida **Ventana cerrada** del mensaje siguiente, o una condición **Ventana de 24 h abierta**.
</Warning>

## Acción

Hace una o varias cosas en MINDO, sin mandar mensajes (hasta 20 por paso):

| Acción | Qué hace |
| --- | --- |
| **Guardar un dato** | Guarda un valor en un campo del contacto. Admite variables, por ejemplo `{var.email}`. En **Cómo se guarda** eliges si **reemplaza el valor**, lo **suma a la lista** o lo **saca de la lista**: un campo de texto puede guardar varios valores separados por coma (por ejemplo, _cliente, mayorista_). |
| **Asignar la conversación** | La asigna a alguien del equipo, o la deja sin asignar. |
| **Cerrar la conversación** | Cierra la conversación en el chat. |
| **Iniciar un seguimiento** | Arranca una de tus [secuencias de seguimiento](/guias/chat/seguimientos). |
| **Sumar a un segmento** / **Sacar de un segmento** | Suma o saca al contacto de un [segmento](/guias/contactos/segmentos). En un dinámico queda como un cambio a mano: si lo sumas, entra aunque no cumpla las reglas; si lo sacas, no vuelve a entrar aunque las cumpla. |
| **Mover a etapa** | Mueve el caso de la conversación a una etapa de su [pipeline](/guias/pipelines/automatizaciones#mover-a-etapa). Las condiciones que siguen ya ven la etapa nueva. |

**Salida:** **Siguiente**. Si una acción no se puede hacer (por ejemplo, el segmento ya no existe), queda marcada con error en el historial y la ejecución sigue igual.

## Solicitud HTTP

Llama a tu sistema, tu CRM o cualquier servicio web: manda los datos del contacto y usa la respuesta en los pasos siguientes. No está en el plan Inicial.

**Salidas:** **Éxito** (respondió con un código `2xx`) y **Error** (cualquier otro código, no respondió en 10 segundos o se usaron todas las solicitudes del mes).

Todo el detalle, con ejemplos para verificar la firma, está en [Conectar con tu sistema](/guias/automatizaciones/integraciones#el-paso-solicitud-http).

## Pasar a una persona

Termina la automatización y deja la conversación al equipo:

- La conversación queda **abierta** y, si elegiste a alguien en **Asignar a**, asignada a esa persona.
- Las automatizaciones **se callan por 24 horas** en esa conversación, igual que cuando alguien del equipo responde.

No tiene salidas.

<Tip>
  Antes de pasar la conversación, manda un mensaje como _“Listo, en un rato te escribe alguien del equipo”_ para que el cliente sepa qué esperar.
</Tip>

## Ir a otra automatización

Termina esta automatización y arranca otra en la misma conversación. Usa el disparador de **Inicio manual** de la otra (o su primer disparador, si no tiene uno manual). La otra tiene que estar activa.

Sirve para reutilizar partes: por ejemplo, un _Menú principal_ al que se llega desde la bienvenida, desde las palabras clave y desde el final de otros flujos. Una automatización no puede ir a sí misma: para repetir, conecta una salida a un paso anterior.

No tiene salidas.

## Fin

Termina la ejecución. No hace falta ponerlo: una salida sin conectar también termina. Úsalo si te ayuda a leer el flujo.

## Límites de una ejecución

- **100 pasos por ejecución.** Si una ejecución pasa por más de 100 pasos (por ejemplo, un menú que se repite muchas veces), se corta con el error _“Se cortó después de 100 pasos: revisá que no haya un bucle.”_
- Cada paso cuenta para los [pasos del mes](/guias/automatizaciones/introduccion#planes-y-limites) de tu plan.
