Power Automate

Traduzido do original em espanhol. Ler em espanhol

O Power Automate oferece uma ampla gama de funcionalidades «out-of-the-box» (OOTB), mas às vezes é preciso mais flexibilidade e complexidade para alcançar certos objetivos. A seguir, alguns exemplos de como usar expressões complexas para estender a funcionalidade do Power Automate.

Obter todas as linhas criadas hoje no Dataverse

Para buscar todas as linhas criadas hoje em uma tabela do Dataverse, podemos usar uma 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 strings para obter o primeiro nome de um e-mail

O Power Automate não tem expressões regulares (Regex) OOTB, mas você pode manipular strings para obter resultados parecidos, como extrair o primeiro nome de um array de e-mails.

slice(items('for_each_user'),0,IndexOf(items('for_each_user'),'.'))

Colocar a primeira letra do nome em maiúscula

Depois de obter o primeiro nome, você pode colocar a primeira letra em maiúscula com o seguinte código:

concat(first(toupper(outputs('Get_First_name'))),substring(outputs('Get_First_name'),1,sub(length(outputs('Get_First_name')),1)))

Se você precisa compartilhar ou revisar um Flow específico, pode criar um link direto para a execução do Flow com esta expressão:

concat('https://us.flow.microsoft.com/manage/environments/', workflow()?['tags']?['environmentName'], '/flows/', workflow()?['tags']?['logicAppName'], '/runs/', workflow()?['run']?['name'])

Usar filtros para combinar várias condições

Talvez você precise aplicar filtros com várias condições dentro de um «Apply to each». Em vez de várias ações de controle, use a seguinte expressão com várias condições:

@or(equals(item()?['Operation'], 'FileModified'),equals(item()?['Operation'], 'FileRecycled'),equals(item()?['Operation'], 'FileCheckedIn'),equals(item()?['Operation'], 'SharingRevoked'))

Usar if statements em vez de control actions

Em situações em que normalmente você usaria ações de controle, pode optar por uma instrução if para simplificar seu fluxo de trabalho:

if(greaterOrEquals(outputs('Get_First_name'),"Juan"), 'Es Juan', 'No es Juan')

Estes exemplos mostram como você pode usar expressões complexas para melhorar e personalizar seus Flows no Power Automate. Com um pouco de criatividade, as possibilidades são quase ilimitadas.

Maximiliano Díaz Doglia

AI Platform Engineer & Full-Stack Developer
Building Enterprise Integrations & Automations