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)))
Obter o link da execução do Flow
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.
