Trabajar con expresión en Microsoft Flow

En Microsoft Flow, puede usar expresiones para cada acción, cambio o condición y manipular datos. Usar esto en combinación con variables le permite hacer algunas cosas geniales y muy útiles (calcular fechas, manipular cadenas, extraer partes de una cadena y mucho más).

Un pequeño consejo por adelantado, me gusta escribir la expresión en el bloc de notas. El campo de entrada en Flow es bastante pequeño y si comienza a escribir expresiones más grandes, notará que pierde la vista general. Por lo que es más difícil verificar si tiene todos los soportes en el lugar correcto.

Índice

Dónde encontrar las funciones

Si hace clic en la pestaña Expresión obtendrá una lista con algunas de las funciones que están disponibles. Las funciones están categorizadas, así que asegúrese de hacer clic en Ver más en cada categoría para ver las funciones más importantes. ¡Pero hay más! No todas las funciones se enumeran en la pestaña Expresión, por ejemplo, si comienza a escribir sub, verá una lista de funciones adicionales que están disponibles.


Funciones de expresión de flujo de Microsoft

Entonces, en esta publicación, no repasaré todas y cada una de las funciones, simplemente hay demasiadas funciones. Y tampoco es necesario, porque cuando comienza a usar una función, obtendrá una buena información sobre herramientas que explica cómo usarla. Simplemente escriba la función y agregue un corchete abierto al final. En la información sobre herramientas obtendrá la sintaxis correcta y una descripción:


Descripción de la función de flujo de Microsoft

Variables en Microsoft Flow

Dentro de la expresión, desea utilizar valores dinámicos que obtiene de otras acciones. Por ejemplo, tiene un flujo que se activa cuando recibe un correo electrónico. Entonces es posible que desee utilizar el nombre de la empresa del remitente que extrae de la dirección de correo electrónico en algún lugar de su flujo.

Ahora hay 2 maneras de hacer esto. Uno, creas una variable y almacenas el contenido dinámico init. Esta es la forma más clara de hacerlo, pero en un flujo más complejo, deberá inicializar muchas variables al comienzo de su flujo.

Crear una variable

Para crear una variable, primero debe inicializarla en la parte superior de su flujo (antes de cualquier condición).

  • Agregue una acción y busque Variables.
  • Agregue el flujo de variable de inicialización.
  • Ahora, esto es bastante sencillo, asigne un nombre a su variable y establezca el tipo.

Puede dejar el valor vacío si aún no tiene los datos, pero también puede agregarle contenido dinámico. Simplemente haga clic en el campo de valor y seleccione el contenido dinámico que desea usar. Si desea establecer el valor más tarde, puede usar la acción Establecer variable en su flujo.

Las variables se pueden utilizar como contenido dinámico y en expresión. Si desea usarlo en una expresión, debe usar la siguiente función:

variables('var1')

Usar contenido dinámico directamente en una expresión

La otra opción para usar el valor de un paso en una expresión es hacer referencia a él directamente. Volvamos a nuestro caso de referencia donde tenemos un flujo que se activa al recibir un correo electrónico. Para este correo electrónico queremos recibir una notificación del asunto y el remitente (solo porque podemos...).

Sí, podríamos usar contenido dinámico para esto, pero me gusta mantener el ejemplo simple. Así que vamos a combinar las dos cadenas, asunto y remitente, con la función de concatenación. Para obtener un elemento de otro paso podemos usar diferentes funciones. La función triggerBody() hace referencia al primer paso, el disparador. Se puede acceder a otros pasos con la función body() o items() dentro de un para cada paso.

Entonces, en nuestro ejemplo, queremos obtener los datos del activador:

concat(triggerBody()?['Subject'],triggerBody()?['From'])


Cuerpo del gatillo de Microsoft Flow

Si desea acceder a una propiedad desde otro paso, digamos el paso Obtener correo electrónico, luego escriba:

body('Get_Email')?]['From']

Preste mucha atención al guión bajo aquí. El nombre del paso tiene un espacio, debe reemplazarlo con un guión bajo en su expresión. Además, con el cuerpo del disparador, no necesita completar el nombre del paso.

Manipulando cadenas

Dividir una dirección de correo electrónico

Algunas funciones que usaría mucho son las primero, ultimo, y separar función. Si queremos obtener el nombre de la empresa de una dirección de correo electrónico ([email protected]) se podría escribir la siguiente expresión:
first(split(last(split(triggerBody()?['From'],'@')),'.'))

Vamos a dividir esto en partes para explicar lo que está sucediendo aquí:

Primero, dividimos la dirección de correo electrónico que obtenemos del triggerBody (el primer paso) en el símbolo @. Esto devolverá el uso de dos valores.

split(triggerBody()?['From'],'@')

A continuación, queremos dividir la última parte, contoso.com, en el punto.

split(last(split(triggerBody()?['From'],'@')),'.')

Finalmente, solo necesitamos la primera parte de la última división:

first(split(last(split(triggerBody()?['From'],'@')),'.'))

Obtener la extensión del archivo

Otra manipulación de cadenas que probablemente usará mucho es obtener la extensión del archivo. Esto requerirá dividir el nombre del archivo en el punto y obtener la última parte:

last(split(body('Get_Attachment')['name']),'.')

Trabajar con fechas

La manipulación de fechas es una de las expresiones más utilizadas. Obtener los eventos para la próxima semana, por ejemplo, se puede hacer con la siguiente acción y expresión:

  • Crear acción Obtener vista de calendario de eventos (v2)
  • Seleccione el calendario

Ahora, para la hora de inicio, debemos ingresar la fecha en un formato específico: aaaa-mm-ddT00: 00: 00Z. Entonces podemos usar la siguiente expresión para establecer la fecha de inicio:

formatDateTime(adddays(utcnow(), 1),'yyyy-MM-ddT00:00:00Z')

Y la fecha de finalización:

formatDateTime(adddays(utcnow(), 6),'yyyy-MM-ddT23:59:59Z')

Entonces, si ejecutamos el flujo todos los domingos, obtenemos todos los eventos desde el lunes hasta la medianoche del viernes.

Conclusión

Espero que esto lo ayude a comenzar a usar expresiones en sus flujos. Además, eche un vistazo a la documentación de Microsoft Flow, tienen excelentes guías de inicio para ayudarlo a comenzar a usar Microsoft Flow.

También deberías leer:

  • Actualización del editor de expresiones de Power Automate
  • Aprendizaje de Microsoft Flow - Parte 1 Primeros pasos

Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información