Oii, Ingrid! Tudo bem?
Sobre como filtrar e-mails relevantes com anexos no Power Automate, essa é uma dúvida muito comum quando a automação começa a receber muitos arquivos.
O problema aqui é que o gatilho "Quando um novo email chegar (V3)" traz tudo o que chega na caixa de entrada, sem discriminação. Pra resolver isso, você pode filtrar em dois lugares: no próprio gatilho, pra que o fluxo nem seja disparado por e-mails irrelevantes, e dentro do fluxo, com a ação Condição (Condition), quando precisar de regras mais específicas.
Sempre que possível, prefira filtrar no gatilho. A própria Microsoft recomenda isso porque cada execução do fluxo conta na cota do seu plano, mesmo quando a condição interna não é atendida e nada é processado.
Existem quatro caminhos principais, e o ideal é combinar mais de um para aumentar a precisão:
1. Filtro por remetente (no gatilho)
Nas opções avançadas do gatilho, preencha o campo De (From) com o endereço dos remetentes esperados. Aproveite para ativar também a opção Somente com Anexos (Only with Attachments), assim o fluxo só roda quando o e-mail realmente tem arquivo. A documentação sobre como disparar um fluxo com base nas propriedades do e-mail explica cada um desses campos.
2. Filtro por assunto ou palavras-chave
O jeito mais simples é usar o campo Filtro de Assunto (Subject Filter) no próprio gatilho: o fluxo só dispara se o texto informado aparecer no assunto do e-mail.
Se você precisar de algo mais flexível, como ignorar a diferença entre maiúsculas e minúsculas, use uma ação Condição algo como:
contains(toLower(triggerOutputs()?['body/subject']), 'relatório')
A função toLower converte o assunto para letras minúsculas antes da comparação, então "Relatório", "RELATÓRIO" e "relatório" são reconhecidos da mesma forma. Só fique atenta a um detalhe: ela não remove acentos, então se o assunto vier escrito "Relatorio", sem acento, a palavra não será encontrada.
Se a palavra estiver no assunto, o fluxo segue para o ramo Sim e processa o anexo; caso contrário, ele ignora o e-mail ou o move para outra pasta.
3. Filtro por tipo de anexo
Isso está ligado ao formato do arquivo que você realmente precisa processar, como PDF ou XLSX. Dentro do loop Aplicar a cada (Apply to each) que percorre os anexos, adicione uma condição assim:
endsWith(toLower(item()?['name']), '.pdf')
Esse trecho garante que somente arquivos com extensão PDF sigam para a etapa de salvamento, descartando imagens ou outros formatos irrelevantes.
O toLower é importante aqui também: a função endsWith diferencia maiúsculas de minúsculas, e sem ele um arquivo chamado "RELATORIO.PDF" seria descartado. Você encontra outras funções no guia de referência de funções de expressão, que vale tanto para o Azure Logic Apps quanto para o Power Automate.
4. Combinando múltiplos critérios
Pra deixar o filtro mais completinho, você pode unir as condições usando os operadores lógicos and e or na mesma expressão.
O tutorial Usar expressões em condições traz outros exemplos com and, or e demais operadores.
Depois de aplicar esses filtros, os e-mails que passarem pelo gatilho mas não atenderem às condições podem ser movidos para uma pasta "Não relevantes" com a ação Mover e-mail (V2), mantendo sua caixa de entrada organizada e o fluxo enxuto.
Para ir além: também é possível escrever expressões como essas nas condições de gatilho, dentro das configurações do gatilho. Assim, o fluxo nem chega a rodar quando o critério não é atendido. O passo a passo está em Personalizar gatilhos com condições.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!