Expresiones de Power Automate: las 15 funciones más importantes
Las 15 funciones de expresión de Power Automate más importantes, como concat, formatDateTime y coalesce, explicadas con ejemplos prácticos alemanes.
Las funciones de expresión más importantes de Power Automate son concat, toUpper, toLower, replace y substring para texto, utcNow, formatDateTime, addDays y dayOfWeek para fecha y hora, if, equals, coalesce y empty para comprobaciones lógicas, así como first y length para acceder a listas y matrices. Con estas 15 funciones se puede cubrir la mayor parte de los bloques de texto, los cálculos de fechas y las condiciones en un flujo en la nube, sin necesidad de añadir acciones adicionales. Cada función se introduce en el editor de expresiones y puede anidarse con otras funciones, por ejemplo formatDateTime(utcNow(), 'dd.MM.yyyy') para un formato de fecha alemán. Actualizado: julio de 2026.
¿Qué funciones de texto combinan y limpian cadenas de caracteres?
Las funciones de texto unen cadenas de caracteres, convierten mayúsculas y minúsculas, o extraen partes de una cadena. Son la base de casi todas las líneas de asunto, nombres de archivo o mensajes en un flujo.
- concat(text1, text2, ...): Combina al menos dos cadenas de caracteres en una. El ejemplo concat('Factura-', variables('NumeroCliente')) da como resultado "Factura-4711". La sintaxis completa de todas las funciones de texto figura en la guía de referencia de Microsoft sobre funciones de expresión. Cómo recopilar este tipo de expresiones de forma específica en una acción propia se explica en el artículo Redactar en Power Automate (Compose).
- toUpper(text) / toLower(text): Convierte una cadena de caracteres a mayúsculas o minúsculas. Útil para normalizar direcciones de correo electrónico antes de una comparación, por ejemplo toLower('Anna.Muster@Firma.DE').
- replace(text, textoAntiguo, textoNuevo): Sustituye una subcadena por otra. replace('2026/03/18', '/', '-') da como resultado "2026-03-18". La función distingue entre mayúsculas y minúsculas.
- substring(text, startIndex, longitud): Extrae un número determinado de caracteres a partir de una posición inicial. substring('Rechnung-2026-0042', 9, 4) da como resultado "2026". El índice comienza en 0, y el tercer argumento es la longitud, no la posición final.
¿Cómo se calcula con fecha y hora en una expresión?
Las funciones de fecha y hora proporcionan la marca de tiempo actual, la formatean para su visualización y la desplazan en días o semanas. Power Automate trabaja de forma predeterminada en UTC.
- utcNow(format?): Devuelve la marca de tiempo UTC actual, opcionalmente ya en el formato deseado. Sin parámetro, la función devuelve el formato ISO 8601.
- formatDateTime(marcaDeTiempo, format?, configuraciónRegional?): Formatea una marca de tiempo según un patrón propio. formatDateTime(utcNow(), 'dd.MM.yyyy') da como resultado una fecha alemana como "18.03.2026". Preste atención a las mayúsculas y minúsculas: MM representa los meses, mm los minutos.
- addDays(marcaDeTiempo, número): Suma o resta días a una marca de tiempo. addDays(utcNow(), 7) calcula una fecha de vencimiento en una semana, addDays(utcNow(), -30) una fecha 30 días antes.
- dayOfWeek(marcaDeTiempo): Devuelve el día de la semana como un número, donde el domingo es 0 y el sábado es 6. Importante para comprobaciones de fin de semana dentro de un bucle, por ejemplo cuando se comprueban citas por cada elemento de una lista. Más patrones de fecha con expresiones ya elaboradas se recogen en el recetario de expresiones para flujos en la nube. Cómo iterar sobre una lista de este tipo de entradas se explica en el artículo Power Automate Apply to each.
¿Qué funciones lógicas controlan las condiciones y los valores predeterminados?
Las funciones lógicas comprueban condiciones y devuelven distintos valores según el resultado, sin necesidad de crear una rama independiente en el flujo.
- if(expresión, valorSiVerdadero, valorSiFalso): Comprueba una condición booleana y devuelve uno de dos valores según el resultado. if(equals(1, 1), 'sí', 'no') da como resultado "sí". La función if() no entiende directamente operadores como > o <, para eso se combina con greater() o less().
- equals(valor1, valor2): Comprueba si dos valores son idénticos y devuelve true o false. Se utiliza a menudo como primer argumento en if().
- coalesce(valor1, valor2, ...): Devuelve el primer valor que no sea null. coalesce(triggerBody()?['nombrePreferido'], triggerBody()?['nombreVisible'], 'Desconocido') pasa al siguiente campo en cuanto falta uno. Las cadenas vacías no cuentan como null.
- empty(colección): Comprueba si una cadena de caracteres, una matriz o un objeto está vacío y devuelve true o false. empty('') da como resultado true, empty('abc') da como resultado false. La función no funciona con números.
¿Cómo se accede a elementos individuales en listas?
Las funciones de colección funcionan tanto en matrices como en cadenas de caracteres y son especialmente útiles en bucles cuando se necesitan elementos individuales en lugar de toda la lista.
- first(colección): Devuelve el primer elemento de una cadena de caracteres o de una matriz. first('hallo') da como resultado "h", first(createArray(0, 1, 2)) da como resultado 0.
- length(colección): Cuenta el número de caracteres de una cadena de caracteres o de elementos de una matriz. length('abcd') y length(createArray(0, 1, 2, 3)) dan como resultado 4 en ambos casos.
Una vez que haya probado estas 15 funciones en sus propios ejemplos, la mayoría de los problemas de flujo se pueden resolver sin conectores adicionales de terceros. Para los equipos que prefieren crear sus flujos con un precio fijo y un interlocutor directo en lugar de hacerlo por su cuenta, NordFlux ofrece apoyo con la consultoría de Power Automate desde la primera expresión hasta el flujo en producción.
Preguntas frecuentes sobre las expresiones de Power Automate
¿Dónde se introduce una expresión en Power Automate?
En el diseñador de flujos, abra la pestaña "Expresión" a través del icono de función (fx) o del editor de expresiones de un campo, y escriba la función directamente allí. Alternativamente, inserte contenido dinámico a través del editor y enciérrelo con una función como formatDateTime() o concat(). El editor marca los errores de sintaxis mientras escribe, de modo que los paréntesis que faltan se encuentran rápidamente.
¿Por qué formatDateTime muestra una fecha incorrecta?
Suele deberse a una confusión entre mayúsculas y minúsculas en la cadena de formato: MM representa el mes, mm los minutos, y dd el día. Un formato como 'mm/DD/yyyy' intercambia los minutos y el día, generando así una fecha claramente incorrecta. Compruebe la cadena de formato con los caracteres de formato de .NET enlazados por Microsoft Learn.
¿Puedo anidar varias funciones unas dentro de otras?
Sí, este es incluso el caso habitual en expresiones más complejas. Un ejemplo es formatDateTime(addDays(utcNow(), 7), 'dd.MM.yyyy'), que devuelve una fecha de vencimiento en una semana directamente en el formato alemán deseado. La evaluación se realiza de dentro hacia fuera, de forma similar a las fórmulas anidadas en Excel.
¿Cuál es la diferencia entre coalesce y una comprobación con if y empty?
coalesce() comprueba exclusivamente si el valor es null y no omite automáticamente las cadenas vacías, mientras que una combinación de if() y empty() puede tratar además las cadenas vacías como "sin valor". Para valores predeterminados sencillos en campos faltantes, coalesce() es suficiente; para una validación más estricta de campos obligatorios, la combinación con empty() es la opción más robusta.
NordFlux UG (haftungsbeschränkt)
NordFlux crea empleados digitales para las organizaciones: automatizaciones y agentes KI que asumen el trabajo repetitivo. Usted mantiene el control.
¿Preguntas concretas sobre automatización o IA?
En un análisis inicial gratuito hablamos directamente de su caso. Sin compromiso.