O poder das operações em tempo real com SharePoint
A gestão da cadeia de suprimentos é um cenário dinâmico, onde a previsão precisa da demanda se tornou um aspecto…
Embora existam maneiras melhores de trocar informações entre vários sistemas, o e-mail é provavelmente uma das mais simples. Você envia um e-mail de um sistema para um endereço de e-mail específico, extrai as informações do corpo do e-mail e as armazena em outro lugar. No entanto, essa abordagem pode consumir muito tempo se for feita manualmente e não é muito divertida de fazer. E talvez nem seja necessário se você puder criar um fluxo do Power Automate para fazer isso por você.
Sempre comece com a ação ‘HTML para texto’ ao processar e-mails. O código HTML completo do e-mail pode ser bastante confuso e esta ação irá reduzi-lo a um texto simples. Tomemos como exemplo um e-mail que recebo com cada solicitação de consultoria.
A ação ‘HTML para texto’ pegará todo o e-mail e removerá todas as tags HTML para retornar o conteúdo do e-mail como texto simples.
Como agora é um texto simples, você pode processá-lo como qualquer outra string. Como você pode ver na imagem acima, os dados do meu e-mail são separados por uma linha vazia. Isso significa que o separador é um caractere de fim de linha no final da linha com texto e outro caractere de fim de linha para a linha vazia. Portanto, vou dividi-lo por dois caracteres de fim de linha.
split(body('Html_to_text'),decodeUriComponent('%0A%0A'))
O resultado é uma matriz simples com cada linha como um item separado. Como acontece com qualquer outro array, agora posso usar índices para escolher uma linha específica, por exemplo, 0 para obter o nome.
outputs('Compose')[0] -> Nome: Erick
Mas ainda é um pouco mais de informação do que preciso. Quero armazenar apenas o nome, sem a descrição ‘Nome:’. Vamos fazer outra divisão, desta vez no caractere ‘:’ e pegar apenas a 2ª parte, o próprio nome.
split(outputs('Compose')[0],':')[1] -> Erick
A última etapa é remover quaisquer espaços potenciais no início ou no final do nome com a função trim(…).
trim(split(outputs('Compose')[0],':')[1])
Seguindo a mesma abordagem, apenas usando números de índice diferentes você pode extrair todas as partes do e-mail, uma por uma.
Até agora existia a expectativa de que o e-mail tivesse uma estrutura fixa. Mas e se as posições puderem mudar? Se as informações estruturadas estão no final do e-mail e você não sabe quanto texto vem antes?
Não é grande coisa, desde que você tenha uma descrição para cada uma das linhas. Se for apenas o nome, sem a descrição ‘Nome:’, você está sem sorte. Não há nada para segurar. Mas se a linha do nome começar com ‘Nome:’, você poderá usar a ação ‘Filtrar matriz’ em vez do índice.
Use o e-mail analisado como entrada e filtre apenas os itens que começam com a descrição, neste caso ‘Nome:’.
Se a descrição for única (e deveria ser única), a ação ‘Filtrar matriz’ retornará apenas uma linha. Pegue-o e processe-o como acima – divida por ‘:’ e corte(…) os espaços ao seu redor.
trim(split(body('Filter_array')[0],':')[1])
Repita o mesmo ‘Matriz de filtros’ para identificar todas as linhas importantes, cada uma procurando um início de linha diferente, e extrair os dados.
Embora este não seja um guia completo sobre como extrair informações de qualquer e-mail, pois cada e-mail é diferente, ele deve lhe dar uma ideia básica de como isso é feito no Power Automate. É muito processamento de texto. Livre-se das tags HTML, converta o e-mail em texto simples e analise-o. Podem ser muitas divisões e muitos filtros para obter as informações desejadas de e-mails complexos (por exemplo, com tabelas), mas se você seguir passo a passo você chegará lá (desde que haja algo para entender).
Entre em contato ainda hoje e veja como nossos especialistas em Power Automate podem ajudar o seu negócio.
A gestão da cadeia de suprimentos é um cenário dinâmico, onde a previsão precisa da demanda se tornou um aspecto…
A terceirização do desenvolvimento de TI pode ser uma estratégia eficaz para empresas que buscam reduzir custos, acessar expertise especializada…
Já percebeu que seu fluxo do Power Automate parou de funcionar de repente? Se um fluxo não for acionado por…