¿Cómo configuro el paso Bucle?
Ejecuta los mismos pasos para cada elemento de una lista, elementos escritos, un rango de números o un texto dividido.
¿Para qué sirve?
«Bucle» ejecuta los mismos pasos para cada elemento de una lista. El paso tiene dos salidas: «Para cada elemento» y «Al terminar».
Los visitantes no ven este paso y el avatar no dice nada; el agente sigue sin esperar al visitante.
Para añadirlo, haz clic en «Añadir paso» en la pestaña «Editor» y luego en «Bucle» en la categoría «Lógica»; el paso se añade en el centro del lienzo. Sus ajustes están en la pestaña «Contenido» del panel que se abre a la derecha al hacer clic en el paso.
Este paso no tiene «Texto en pantalla»; en su lugar hay una «Nota del paso» al final del panel. La nota es solo para ti: los visitantes no la ven, y no se dice ni se traduce.
En los valores usas variables de pasos anteriores, como {city}. Para un campo dentro de una respuesta, añade su nombre tras un punto: {order.status}. El botón «Insertar variable» de los cuadros muestra las variables que puedes usar en ese punto. Una variable que aún no tiene valor cuenta como texto vacío.
Configurar el paso
- Elige un origen en «De dónde vienen los elementos» e introduce los elementos (ver abajo).
- Introduce un «Nombre de la variable» (por ejemplo, service). En cada vuelta, el elemento de esa vuelta se escribe en esta variable.
- Conecta a la salida «Para cada elemento» los pasos que se ejecutan por cada elemento. Deja vacía la salida del último paso de la rama: cuando termina la rama, empieza el siguiente elemento. También puedes conectar tú el último paso de vuelta al paso Bucle.
- Conecta a la salida «Al terminar» el paso al que ir cuando se acaben los elementos.
De dónde vienen los elementos
- «Lista en una variable»: escribe una variable de lista en «Lista»: una respuesta de elección múltiple, la lista de una herramienta o acción, o un resultado de Editar lista.
- «Elementos que escribes»: una vuelta por fila; añade filas con «Añadir elemento». Las filas también pueden incluir variables.
- «Rango de números»: «Inicio», «Fin» y «Paso» (1 si está vacío). El fin se incluye; usa un paso negativo (-1) para contar hacia atrás. Los valores también pueden ser variables: {guests}.
- «Dividir texto»: el «Texto» se divide por el «Separador»: «Coma», «Punto y coma», «Cada línea», «Barra vertical (|)» u «Otro» (un carácter propio). Cada parte es una vuelta; las partes vacías se omiten. «Quitar espacios» elimina los espacios al principio y al final de cada parte.
Variables escritas en cada vuelta
Si el nombre de la variable es service, cada vuelta escribe: {service} el elemento, {service.field} un campo del elemento, {service_index} el número de vuelta, {service_total} el número de elementos, {service_last} si es la última vuelta (true/false). Estas variables se quitan al terminar el bucle. «El contador empieza en» define el valor de {service_index} en la primera vuelta (1 por defecto), y «Vueltas máximas» el máximo de elementos procesados; un rango de números no tiene ninguno de estos ajustes.
Las vueltas y los pasos de la rama
Un bucle da como máximo 100 vueltas; el resto de una lista más larga no se procesa. Si la lista está vacía, el agente va directamente a «Al terminar». Si conectas un paso de la rama a un paso posterior a «Al terminar», el agente sale antes del bucle; un paso Fin en la rama termina la conversación. Los bucles se pueden anidar: si la salida «Al terminar» del bucle interior está vacía, el exterior pasa a su siguiente elemento.
También puedes poner en la rama pasos que ve el visitante (Mensaje, Pregunta, Formulario). Una Acción de integración o Llamada a herramienta en la rama se ejecuta por separado en cada vuelta: «crear una tarjeta por cada elemento» crea una tarjeta por elemento. La respuesta a una pregunta de la rama se escribe en la misma variable en cada vuelta; cada respuesta nueva sustituye a la anterior.
Ejemplo
En un paso Selección «Múltiple», el visitante marcó los servicios que le interesan, y la respuesta está en {services}. En el Bucle, «De dónde vienen los elementos» es «Lista en una variable», «Lista» es {services} y «Nombre de la variable» es service. Una Acción de integración en la salida «Para cada elemento» envía a tu equipo una notificación separada por cada servicio («Nueva solicitud de {service}»); la salida «Al terminar» va a un Mensaje de agradecimiento.
A tener en cuenta
El editor te avisa cuando: los elementos no están definidos; el rango de números no es válido (inicio, fin y paso deben ser números, y el paso no puede ser 0); el nombre de la variable no es válido (hasta 50 caracteres); «Para cada elemento» no está conectado (el bucle no ejecutará nada); o «Al terminar» no está conectado (el flujo termina cuando se acaban los elementos). Las salidas vacías de los pasos de la rama no generan aviso: llevan de vuelta al bucle.
Los nombres de variables solo pueden usar las letras a–z, dígitos y guiones bajos (_); las letras con acento y los espacios desaparecen al escribir. «system» está reservado para las variables del sistema, así que elige otro nombre.
Los pasos de lógica no esperan al visitante. Si los conectas (o conectas otros pasos que no esperan, como Mensaje, Llamada a herramienta o Acción de integración) en círculo, el agente sigue dando vueltas: el editor avisa «En un bucle que nunca espera al visitante; el flujo se queda atascado aquí.», y en la conversación el agente termina con un error. Para repetir algo, usa el paso Bucle o pon en el círculo un paso que espere al visitante (Pregunta, Selección, Formulario).
Los problemas no impiden guardar: el agente se guarda, pero el paso incompleto no funcionará como se espera en la conversación. Corrige los pasos marcados y prueba el agente con «Vista previa». Para encontrar los pasos marcados, consulta el editor de flujos.
Artículos relacionados
- ¿Cómo configuro el paso Editar lista?Filtra, ordena, quita duplicados y acorta una lista de una herramienta, una acción o una elección múltiple.
- ¿Cómo configuro el paso Condición?Divide el flujo en rutas según respuestas anteriores y variables: reglas, Y/O, tipos de comparación y «De lo contrario».
- ¿Cómo configuro el paso Selección?Ofrece opciones a los visitantes: elección única o múltiple, con opciones de una lista fija, una herramienta, una acción anterior o una variable.
- ¿Cómo configuro los pasos Acción de integración y Llamada a herramienta?Haz trabajo en una integración conectada o llama a tu propia herramienta en un punto del agente: salidas, rama de fallo y reintentos.