«Apply to each» en Power Automate: entender, controlar y evitar el bucle
«Auf alle anwenden» procesa listas elemento por elemento y a menudo aparece de forma no intencionada. Como funciona el bucle, por que ralentiza y cuando se puede eliminar.
Qué es el contenido dinámico en Power Automate, cómo insertarlo y dónde suelen tropezar los principiantes.
Cuando construyes tu primer flujo de Power Automate, pronto te encuentras con un término que al principio suena abstracto: contenido dinámico. Sin embargo, detrás no hay ningún concepto complicado, sino exactamente el mecanismo que hace que un flujo tenga sentido, es decir, la transmisión de datos reales de un paso al siguiente, en lugar de enviar solo textos fijos.
La explicación oficial en el diseñador de flujos en la nube lo resume bien: el contenido dinámico son variables generadas por los desencadenadores y las acciones dentro de un diagrama de flujo, y te permiten seleccionar referencias de campos de pasos anteriores y escribir expresiones a partir de ellas, tal como describe la documentación de Microsoft sobre el diseñador de flujos en la nube. Este artículo se basa en la documentación oficial de Power Automate para mostrar qué es exactamente el contenido dinámico, cómo insertarlo en el diseñador y dónde suelen tropezar los principiantes.
Cada desencadenador y cada acción de un flujo produce un resultado al final de su ejecución, denominado salida. Un desencadenador para una nueva respuesta de formulario, por ejemplo, proporciona el nombre, la dirección de correo electrónico y los campos individuales de la respuesta. Una acción que recupera un archivo de SharePoint proporciona el nombre del archivo, el contenido y la fecha de modificación. Estas salidas están disponibles para todos los pasos posteriores del flujo, así que no necesitas escribirlas manualmente ni guardarlas tú mismo.
Power Automate llama contenido dinámico a estas salidas disponibles. En lugar de escribir de forma fija "Nuevo tweet de Max Mustermann" en un campo de texto, seleccionas en el campo un marcador de posición que se sustituye automáticamente en tiempo de ejecución por el nombre real procedente del desencadenador. El tutorial oficial del primer flujo en la nube ilustra bien este principio: al enviar un correo de notificación, los marcadores de posición Publicado por y Texto del tweet se insertan directamente desde el desencadenador en los campos Asunto y Texto, tal como describe el tutorial "Crear un flujo en la nube". Cuando el flujo se ejecuta, ya no aparece ahí el marcador de posición, sino el contenido real del tweet correspondiente.
En el nuevo diseñador de flujos en la nube, abres el selector de contenido dinámico mediante el icono del rayo situado junto a un campo de entrada. Un clic abre una ventana emergente en la que puedes buscar o desplazarte por los valores de pasos anteriores. Alternativamente, basta con escribir una barra diagonal (/) en un campo para abrir el mismo selector. La búsqueda filtra automáticamente los campos coincidentes, de modo que en flujos largos no tienes que recorrer cada tarjeta una por una.
El editor de expresiones y contenido dinámico del diseñador es además multilínea y se puede ampliar a una vista de página completa si es necesario, lo cual resulta especialmente útil en expresiones más complejas con varias funciones anidadas, según indica la documentación del diseñador de flujos en la nube.
El contenido dinámico no solo se puede insertar directamente, sino también incorporarse en funciones. Un ejemplo habitual es el formateo de una fecha: con la función formatDateTime combinas la fecha del desencadenador con el formato de salida deseado, por ejemplo formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy'). El contenido dinámico proporciona el valor sin procesar, mientras que la función determina cómo se ve al final. Esta combinación de contenido dinámico y funciones es la base de prácticamente cualquier flujo algo más avanzado, ya sea que conviertas números, compongas textos o compruebes condiciones.
Sobre todo al principio, ocurre a menudo que un valor esperado simplemente falta en la lista. La resolución de problemas oficial menciona dos causas típicas para ello:
Encontrarás detalles sobre ambas causas y los pasos de solución correspondientes en la documentación sobre el selector de contenido dinámico ausente.
Si necesitas un valor varias veces en el flujo o quieres simplificar una expresión, merece la pena usar la acción de operaciones de datos Redactar (Compose). Toma una entrada, por ejemplo una expresión compuesta o una matriz, y pone el resultado a disposición como su propia salida Outputs. Esta salida aparece después con normalidad en la lista de contenido dinámico y puede reutilizarse tantas veces como se desee, como muestra la documentación sobre operaciones de datos. Esto resulta especialmente práctico cuando no quieres repetir una expresión complicada en tres acciones distintas, sino calcularla una sola vez y luego referenciarla en todas partes como contenido dinámico ya preparado.
Así surge la verdadera fuerza de un flujo: cada paso transmite sus resultados de forma estructurada al siguiente, y tú mantienes el control sobre dónde termina cada valor, sin copiar y pegar entre sistemas.
Si al crear tus propios flujos te quedas atascado justo en estos puntos, ya sea por falta de contenido dinámico, expresiones anidadas o la pregunta de cómo debería estructurarse un flujo, la consultoría de Power Automate de NordFlux te ayuda a establecer bien el principio básico de una vez, en lugar de tener que reinventarlo flujo tras flujo.
El contenido dinámico es la salida de un desencadenador o una acción concretos y existe automáticamente en cuanto ese paso está presente en el flujo. Una variable, en cambio, debes crearla explícitamente con la acción Inicializar variable, y se puede modificar varias veces a lo largo del flujo, mientras que el contenido dinámico de un paso siempre proporciona el valor de esa única ejecución.
Casi siempre se debe a una opción Split On activada en el desencadenador o a que el tipo de datos del campo no coincide con el tipo de destino y por eso se filtra. Una búsqueda específica en la ventana de selección anula ese filtrado; alternativamente, ayuda una acción Redactar intermedia.
Sí. Puedes usar varios valores de distintos pasos anteriores en un mismo campo, ya sea directamente uno tras otro o incorporados en una función como concat(). El editor de expresiones te sigue dando acceso a la lista completa de contenido dinámico, independientemente del paso del que proceda.
No directamente en el sentido clásico de flujo en la nube; los flujos de escritorio con Power Fx trabajan en cambio con valores tipados y dinámicos que funcionan de forma similar, pero con sus propias reglas de conversión. Para los flujos en la nube, es decir, las cadenas clásicas de desencadenador-acción, el principio descrito aquí se aplica sin restricciones.
No. Copilot también puede generar expresiones, incluido el contenido dinámico correspondiente, a partir de una descripción en lenguaje natural. Aun así, para entender por qué funciona un flujo y cómo repararlo en caso de error, merece la pena haber practicado tú mismo la inserción manual al menos una vez.
Fundador de NordFlux. Siete años de experiencia, desde la web y el SEO hasta la automatización a escala de grupo, hoy de forma pragmática para las pymes y con soberanía de datos alemana.
Certificaciones
«Auf alle anwenden» procesa listas elemento por elemento y a menudo aparece de forma no intencionada. Como funciona el bucle, por que ralentiza y cuando se puede eliminar.
Por qué Power Automate genera el error 429 y cómo solucionar el throttling de forma específica mediante el control de concurrencia y el batching.
Las directivas DLP protegen los datos de la empresa en Power Automate. Así funcionan los grupos de conectores, la aplicación de reglas y su primera directiva.
Cuando el contenido dinámico no aparece en el diseñador, casi nunca es casualidad, sino falta de estructura o un contexto de bucle incorrecto en el flujo. NordFlux construye sus procesos de Power Automate para que las salidas de los pasos anteriores permanezcan disponibles de forma fiable, en lugar de tratar los síntomas con soluciones provisionales como la acción "Redactar". En la primera conversación revisamos la estructura de su flujo y mostramos la causa.