💡 Introducción: Menos Variables, Más Velocidad
Muchos desarrolladores de Power Automate caen en la trampa de crear una acción de «Inicializar variable» para cada pequeño cambio que necesitan hacer en un texto o una fecha. Esto no solo ensucia visualmente el flujo, sino que consume llamadas de API innecesarias.
La verdadera potencia de Power Automate reside en su motor de Expresiones. Utilizando el lenguaje de definición de flujos (WDL), podemos transformar datos sobre la marcha directamente dentro de los parámetros de nuestras acciones. En este artículo, aprenderemos a dominar las expresiones más útiles para manipular cadenas y fechas con elegancia y eficiencia.
💻 Desarrollo Técnico: El Arte de las Expresiones
Las expresiones nos permiten realizar cálculos, manipular textos y evaluar condiciones lógicas sin pasos intermedios. Se escriben en el panel de Expresión (donde usualmente seleccionas Contenido Dinámico).
🛠️ Funciones de Cadena Esenciales
Manipular nombres, correos o códigos de productos es una tarea diaria. Aquí te presento las funciones que salvarán tu flujo:
split(): Divide una cadena en un array basado en un delimitador. Ideal para extraer el dominio de un correo electrónico.replace(): Sustituye partes de un texto por otro. Muy útil para limpiar caracteres especiales.substring(): Extrae una parte específica de una cadena indicando la posición inicial y la longitud.trim(): Elimina espacios en blanco accidentales al inicio y al final de un texto.
| Escenario | Expresión Sugerida | Resultado |
| Extraer dominio de email | last(split('usuario@dominio.com', '@')) | dominio.com |
| Formatear moneda | formatNumber(1250.5, 'C2', 'es-MX') | $1,250.50 |
| Fecha actual en texto | formatDateTime(utcNow(), 'dd/MM/yyyy') | 16/12/2025 |
⚙️ Lógica Condicional con if() y coalesce()
Evita usar la acción «Condición» (el rombo de control) si solo necesitas asignar un valor diferente dependiendo de una premisa.
if(condicion, valor_si_cierto, valor_si_falso): Evalúa una expresión y devuelve un valor u otro en una sola línea.coalesce(valor1, valor2, ...): Devuelve el primer valor que no sea nulo. Es la mejor forma de evitar errores cuando un campo de un formulario o base de datos puede venir vacío.
Ejemplo de optimización: En lugar de un paso de Condición para ver si un cliente tiene nombre, usa esto en el saludo:concat('Hola ', coalesce(outputs('Obtener_perfil')?['displayName'], 'Invitado'))
✍️ Mini Ejercicio Práctico: Extracción Inteligente de Datos
Objetivo: Crear una expresión que extraiga el primer nombre de una persona a partir de su nombre completo.
- Crea un flujo instantáneo con una entrada de texto llamada «NombreCompleto».
- Agrega una acción de «Redactar» (Compose).
- En el campo de entrada, ve a la pestaña Expresión y escribe:
first(split(triggerBody()['text'], ' '))
- Prueba el flujo ingresando «Juan Pérez García».
- Resultado: La acción devolverá «Juan». Al usar
split, dividimos el texto por espacios, yfirsttoma el primer elemento del array resultante.
📚 Fuentes Consultadas
- Guía de referencia de funciones para expresiones en Azure Logic Apps y Power Automate (Microsoft Learn)
- Uso de funciones de cadena en flujos (Microsoft Learn)
📌 Conclusión
Dominar las expresiones en Power Automate es el primer paso para convertirte en un desarrollador senior de la plataforma. No solo hace que tus flujos sean más rápidos y limpios, sino que te otorga un control total sobre la información. ¡La próxima vez que pienses en inicializar una variable, pregúntate si una expresión puede hacer el trabajo por ti!


Deja una respuesta