Power Automate ofrece una amplia gama de funcionalidades «out-of-the-box» (OOTB), pero a veces se requiere más flexibilidad y complejidad para lograr ciertos objetivos. A continuación, se presentan algunos ejemplos de cómo utilizar expresiones complejas para extender la funcionalidad de Power Automate.
Obtener todas las filas creadas hoy en Dataverse
Para buscar todas las filas que han sido creadas el día de hoy en una tabla de Dataverse, podemos utilizar una consulta XML.
<fetch mapping='logical'>
<entity name='table_name'>
<attribute name='column_name'/>
<attribute name='createdon'/>
<filter>
<condition attribute='createdon' operator="on" value='@{formatDateTime(utcNow(),'MM/dd/yyyy')}' />
</filter>
</entity>
</fetch>
Manipular cadenas de texto para obtener el primer nombre de un email
Power Automate no tiene expresiones regulares (Regex) OOTB, pero puedes manipular cadenas de texto para obtener resultados similares, como extraer el primer nombre de un arreglo de emails.
slice(items('for_each_user'),0,IndexOf(items('for_each_user'),'.'))
Capitalizar la primera letra del nombre
Después de obtener el primer nombre, puedes capitalizar la primera letra del mismo usando el siguiente código:
concat(first(toupper(outputs('Get_First_name'))),substring(outputs('Get_First_name'),1,sub(length(outputs('Get_First_name')),1)))
Obtener el link de la ejecución del Flow
Si necesitas compartir o revisar un Flow específico, puedes crear un enlace directo a la ejecución del Flow con esta expresión:
concat('https://us.flow.microsoft.com/manage/environments/', workflow()?['tags']?['environmentName'], '/flows/', workflow()?['tags']?['logicAppName'], '/runs/', workflow()?['run']?['name'])
Uso de filtros para agregar múltiples condiciones
Puede que necesites aplicar filtros con múltiples condiciones en un «Apply for each». En lugar de múltiples acciones de control, utiliza la siguiente expresión con varias condiciones:
@or(equals(item()?['Operation'], 'FileModified'),equals(item()?['Operation'], 'FileRecycled'),equals(item()?['Operation'], 'FileCheckedIn'),equals(item()?['Operation'], 'SharingRevoked'))
Emplear if statements en lugar de control actions
En situaciones donde normalmente usarías acciones de control, puedes optar por una declaración if para simplificar tu flujo de trabajo:
if(greaterOrEquals(outputs('Get_First_name'),"Juan"), 'Es Juan', 'No es Juan')
Estos ejemplos muestran cómo puedes usar expresiones complejas para mejorar y personalizar tus Flows en Power Automate. Con un poco de creatividad, las posibilidades son casi ilimitadas.
- ChromaDB + Autenticación y Colecciones - mayo 17, 2024
- PowerShell + REST APIs para monitorear el estado de MS Flows - mayo 17, 2024
- IA Agent - mayo 11, 2024