Como acessar as saídas brutas (raw outputs) no Power Automate

Como uma solução low-code, Power Automate é excelente para a automação de processos empresariais, capacitando organizações a otimizar seus fluxos de trabalho e automatizar tarefas de forma eficiente. Ao utilizar a ferramenta, às vezes nos deparamos com mensagens de erro que não são claras e ficamos inseguros sobre como resolver alguns problemas.

No entanto, existe um recurso muito útil que nos permite solucionar os erros de uma maneira mais fácil. Estamos falando dos “JSON outputs”, que permitem aos usuários extrair e manipular dados dentro de fluxos. Neste artigo, aprenderemos como acessar esses outputs e como identificar a propriedade “body”, que geralmente é a parte mais relevante para solucionar erros.

O que é um JSON?

JSON é uma abreviação para JavaScript Object Notation, consistindo em um formato leve para organização de dados que é fácil de ser lido e escrito tanto por humanos quanto por máquinas. O JSON possui o mesmo objetivo dos formatos XML e CSV: pode ser usado por muitos softwares e ferramentas. Como exemplo, um mesmo arquivo JSON pode ser aberto (e facilmente lido, se estruturado corretamente) no Microsoft Excel, em um código Python ou em um aplicativo mobile. Ao acessar o aplicativo do seu banco ou curtir uma postagem no LinkedIn, existe uma grande chance de que pelo menos um arquivo JSON esteja sendo manipulado nos bastidores.

O JSON fornece uma estrutura padronizada para representar dados como pares de chave-valor (key-value) e coleções. Em Power Automate, o JSON é utilizado para representar as saídas geradas por ações, conectores e expressões. Ainda, as variáveis de tipo “objeto” em Power Automate seguem a mesma sintaxe do JSON, então você provavelmente terá mais facilidade em compreender as saídas brutas em JSON caso já tenha alguma familiaridade com objetos na ferramenta (verifique este artigo em inglês para mais detalhes sobre como utilizar objetos no Power Automate).

Accessando os detalhes de um fluxo no Power Automate

Para cada execução de fluxo no Power Automate, é possível acessar seus detalhes. Lá, você poderá visualizar o tempo de execução de cada ação, o status (falha, sucesso, ignorado) de cada ação e, é claro, acessar suas entradas e saídas.

Na barra lateral de seu Power Automate, selecione “Meus fluxos”:

página meus fluxos no power automate

Lá você poderá ver todos os seus fluxos existentes e, se clicar no nome de qualquer um deles, terá acesso aos seus detalhes:

visão geral do fluxo em power automate

Na página de detalhes, você terá acesso a dados adicionais sobre o fluxo, as conexões atualmente em uso, o histórico das execuções e outros. Para os propósitos deste post, a informação mais relevante é a seção “Histórico de execuções de 28 dias”, que contém uma lista das execuções recentes do seu fluxo. Se você clicar na data/hora de qualquer registro da lista, poderá acessar os detalhes da execução do fluxo:

fluxos executados recentemente em power automate

A página de execução do fluxo apresenta um resumo dessa execução específica, listando suas ações e respectivos status:

detalhes do fluxo em power automate

Se você clicar em qualquer uma dessas ações, a seção será expandida, trazendo um resumo de sua entrada (destacada em amarelo) e a saída (destacada em verde) em um layout de fácil entendimento. Mas os dados que estamos buscando são mais detalhados, então podemos acessá-los clicando em “Mostrar saídas brutas” (destacado em azul):

detalhes de uma ação do fluxo em power automate

Uma nova barra lateral aparecerá no lado direito da tela, contendo uma grande quantidade de dados que parecem impossíveis de entender pelos humanos. Mas não se preocupe: na maioria dos casos, você pode ignorar esta parte ilegível. Para a maior parte dos casos, você deverá se concentrar no “body” da sua saída (destacado em azul na imagem abaixo).

Como exemplo, a partir do “body”, podemos extrair que a propriedade “value” (destacado em amarelo) está listando dados sobre as tabelas alocadas em um arquivo Excel específico, de onde podemos extrair o “nome da tabela”, por exemplo (destacado em vermelho):

saídas brutas em power automate

Para esta saída de ação específica, os dados de cada tabela são alocados entre “{}”, e lá você pode encontrar detalhes sobre os cabeçalhos da tabela (propriedade “showHeaders”), a linha total da tabela (propriedade “showTotals”), a existência de um botão de filtro na tabela (“showFilterButton”), e outros. Essas propriedades variam de acordo com a ação analisada: uma saída de uma ‘Obter detalhes do arquivo’ do conector do SharePoint pode parecer muito diferente de uma ação ‘Enviar email’ do conector do Outlook.

Em alguns casos, os outputs podem ser muito grandes para serem exibidos em uma barra lateral, então o Power Automate mostrará um link “Clique para baixar” em vez de “Mostrar saídas brutas”, como nesta outra ação do mesmo fluxo:

baixando as saídas brutas em power automate

Nesse caso, as saídas em JSON serão apresentadas em uma guia separada (dependendo da configuração do seu navegador, as saídas em uma nova guia podem não estar formatadas):

saídas brutas em outra página em power automate

A propósito, a saída desta ação é muito diferente daquela de ‘Obter tabelas’: em vez de trazer detalhes sobre cada tabela, ela retorna dados sobre cada linha de uma tabela em um arquivo do Excel. Esta saída representa os dados alocados na tabela abaixo: a primeira linha corresponde aos valores destacados em verde e a segunda linha aos destacados em azul. Portanto, os outputs representam os valores inseridos em uma tabela, referenciando tanto linhas quanto colunas:

exemplo de tabela em excel usada em power automate

Conclusão

Ao acessar os detalhes das suas saídas no Power Automate, você pode obter muito mais informações sobre quais dados de suas ações e usá-las para melhorar o design do seu fluxo. Além disso, alguns erros podem ser identificados ao ler e entender a estrutura das saídas, como o uso incorreto de tipos de dados ou, para fins mais avançados, a identificação da estrutura JSON da saída.

By Raphael Zaneti

Power Platform Developer