Referencia
variables()
La función variables se utiliza para recuperar el valor de una variable que ya ha sido definida (inicializada) previamente en el flujo. Es la forma en que «llamamos» a un dato que guardamos en un cajón para usarlo en medio de una operación, un cálculo o un mensaje.
Parámetros requeridos
Requiere exactamente un parámetro:
- name (Cadena de texto): El nombre exacto de la variable, tal como la escribiste cuando la creaste (usando la acción Initialize Variable).
Ejemplos prácticos
Ejemplo 1: Uso directo en un texto Si tienes una variable llamada vNombreUsuario.
- Expresión: variables(‘vNombreUsuario’)
- Resultado: «Carlos» (o el valor que tenga guardado).
Ejemplo 2: Combinación con otras funciones Quieres pasar a mayúsculas el contenido de una variable de correo.
- Expresión: toUpper(variables(‘vEmail’))
- Resultado: «INFO@DOMINIO.COM»
Ejemplo 3: Acceder a propiedades de una variable tipo Objeto Si tu variable es un JSON complejo.
- Expresión: variables(‘vCliente’)?[‘ID’]
- Resultado: El número de ID guardado dentro de ese objeto.
outputs()
La función outputs recupera el resultado completo de una acción específica que ya se ejecutó en el flujo. Cuando usas el «Contenido Dinámico» y seleccionas algo de un paso anterior, Power Automate está escribiendo un outputs() por ti. Te permite acceder no solo al cuerpo de la respuesta, sino también a los estados (status codes) y encabezados (headers).
Parámetros requeridos
Requiere exactamente un parámetro:
- actionName (Cadena de texto): El nombre exacto de la acción de la cual quieres extraer los datos.
Nota técnica: Si el nombre de tu acción tiene espacios (ej. «Obtener item»), en la expresión se deben reemplazar por guiones bajos: outputs(‘Obtener_item’).
Ejemplos prácticos
Ejemplo 1: Acceder al cuerpo de una operación «Redactar» (Compose) Es el uso más común para manipular datos intermedios.
- Expresión: outputs(‘Nombre_de_tu_paso_Compose’)
- Resultado: El valor que se generó en ese paso.
Ejemplo 2: Obtener el código de estado de una petición HTTP Para saber si una llamada a una API externa fue exitosa (200) o falló.
- Expresión: outputs(‘Enviar_petición_HTTP’)?[‘statusCode’]
- Resultado: 200
Ejemplo 3: Extraer un dato específico de una acción de SharePoint
- Expresión: outputs(‘Obtener_elemento’)?[‘body/Title’]
body()
La función body es un atajo (shortcut) para obtener la propiedad body de los resultados de una acción. En lugar de escribir la ruta completa como outputs(‘Accion’)?[‘body’], simplemente usas body(‘Accion’). Es la «carnita» de los datos: el JSON, el texto o el objeto que la acción generó.
Parámetros requeridos
Requiere exactamente un parámetro:
- actionName (Cadena de texto): El nombre de la acción de la que quieres extraer el cuerpo. Al igual que en outputs(), los espacios se reemplazan por guiones bajos.
Ejemplos prácticos
Ejemplo 1: Obtener la respuesta de un formulario
- Expresión: body(‘Obtener_detalles_de_la_respuesta’)
- Resultado: Un objeto JSON con todas las preguntas y respuestas del usuario.
Ejemplo 2: Acceder a un campo específico dentro del cuerpo Si quieres el «Precio» de un producto obtenido de una base de datos.
- Expresión: body(‘Obtener_producto’)?[‘Precio’]
- Resultado: El valor numérico del precio.
Ejemplo 3: Usar el resultado de un paso de Parse JSON
- Expresión: body(‘Analizar_JSON’)
items()
La función items devuelve el valor del elemento actual en la iteración de un bucle «Apply to each». Cuando tienes una lista de 100 facturas, el bucle las procesa una por una; items() es la forma de decirle al flujo: «Dame los datos de la factura que tienes ahora mismo en las manos».
Parámetros requeridos
Requiere exactamente un parámetro:
- name (Cadena de texto): El nombre exacto de la acción «Apply to each» (reemplazando espacios por guiones bajos).
Ejemplos prácticos
Ejemplo 1: Obtener el objeto completo en un bucle Si estás recorriendo una lista de correos.
- Expresión: items(‘Aplicar_a_cada_correo’)
- Resultado: El contenido completo (objeto) del elemento actual.
Ejemplo 2: Acceder a una propiedad específica del elemento Imagina que estás recorriendo una lista de empleados y quieres su correo electrónico.
- Expresión: items(‘Aplicar_a_cada_empleado’)?[‘Email’]
- Resultado: «juan.perez@empresa.com» (en la primera vuelta).
Ejemplo 3: Usar el valor en una comparación
- Expresión: equals(items(‘Bucle_de_Productos’)?[‘Stock’], 0)
- Resultado: true (si el producto actual no tiene existencias).
triggerBody()
La función triggerBody devuelve el cuerpo (la carga de datos) del disparador (trigger) del flujo. A diferencia de body() o outputs(), no necesitas decirle de qué paso extraer la información, porque Power Automate sabe que solo hay un evento que inició el proceso. Es donde vive el contenido del correo que llegó, las respuestas del formulario enviado o los datos del archivo creado.
Parámetros requeridos
No requiere parámetros. Al ser única por flujo, se escribe simplemente abriendo y cerrando paréntesis: triggerBody().
Ejemplos prácticos
Ejemplo 1: Obtener el remitente de un correo (Trigger: When a new email arrives)
- Expresión: triggerBody()?[‘from’]
- Resultado: «ejemplo@dominio.com»
Ejemplo 2: Acceder a una respuesta de Microsoft Forms
- Expresión: triggerBody()?[‘responder’]
- Resultado: El correo de la persona que llenó el formulario.
Ejemplo 3: Obtener el ID de un elemento de SharePoint recién creado
- Expresión: triggerBody()?[‘ID’]
workflow()
La función workflow devuelve todos los detalles técnicos sobre el propio flujo de trabajo que se está ejecutando. Esto incluye el nombre del flujo, el ID único de la ejecución (Run ID), el entorno donde está alojado (Environment) y otros datos de infraestructura. Es esencial para crear sistemas de monitoreo y manejo de errores profesionales.
Parámetros requeridos
No requiere parámetros. Se escribe simplemente como workflow().
Ejemplos prácticos
Ejemplo 1: Obtener el ID de la ejecución (Run ID) Ideal para guardar en una base de datos y saber exactamente qué «corrida» generó un registro.
- Expresión: workflow()?[‘run’]?[‘name’]
- Resultado: Un código único como 0858567163172081…
Ejemplo 2: Saber en qué Entorno estás Útil si tienes flujos en «Desarrollo» y «Producción» y quieres que se comporten distinto.
- Expresión: workflow()?[‘tags’]?[‘environmentName’]
- Resultado: El ID técnico de tu entorno de Power Platform.
Ejemplo 3: Obtener el nombre del flujo
- Expresión: workflow()?[‘tags’]?[‘flowDisplayName’]
- Resultado: «Mi Flujo de Facturación Mensual»
result()
La función result devuelve una matriz (array) con el detalle de todas las acciones que se encuentran dentro de un Scope (Ámbito) o de una acción específica. Lo más potente es que te entrega el estado de cada una: si se ejecutó con éxito (Succeeded), si falló (Failed), si fue omitida (Skipped) o si se agotó el tiempo (TimedOut).
Parámetros requeridos
Requiere exactamente un parámetro:
- scopedActionName (Cadena de texto): El nombre del Scope del cual quieres obtener los resultados. (Como siempre, espacios = guiones bajos).
Ejemplos prácticos
Ejemplo 1: Obtener el historial de un Scope Imagina que tienes un Scope llamado «Procesar_Pedido» con 5 pasos dentro.
- Expresión: result(‘Procesar_Pedido’)
- Resultado: Una matriz de objetos. Cada objeto tiene el name, status, outputs y, si falló, el error.
Ejemplo 2: Filtrar solo las acciones que fallaron Este es el uso real en producción. Quieres saber qué paso rompió el flujo para enviarlo por correo.
- Expresión (usada en un filtro): filter(result(‘Procesar_Pedido’), item()?[‘status’], ‘Failed’)
- Resultado: Una lista con solo las acciones que dieron error.
Ejemplo 3: Extraer el mensaje de error técnico
- Expresión: first(result(‘Mi_Scope’))?[‘error’]?[‘message’]


Deja un comentario