Power Automate: Gerenciando aprovações em vários sistemas

Por Luiz Antonio Sgargeta
Power Automate: Gerenciando aprovações em vários sistemas

O Power Automate tem um ótimo mecanismo de aprovação acessível no portal do Power Automate, no aplicativo Power Automate Mobile, no Microsoft Teams e no seu cliente de email favorito. Contudo, há momentos em que você pode querer fornecer aprovações em outro sistema enquanto mantém as aprovações do Power Automate atualizadas.

Assim, considere o cenário em que você tem um aplicativo (Power App, lista do SharePoint ou qualquer outro aplicativo para esse assunto) que gera aprovações e você pode querer que os aprovadores entrem nesse aplicativo para fornecer aprovações, além de permitir que eles façam a aprovação como parte da Power Automate. Então, vamos supor o SharePoint usado como armazenamento de dados neste cenário.

Nesse cenário, o fluxo configurado para atualizar a lista do SharePoint com o status de aprovação para que o aprovador possa ver dentro do aplicativo qual foi o resultado. Mas se o usuário aprovar o item na lista do SharePoint, não haverá atualização no fluxo de trabalho. O usuário (ou outro aprovador) ainda pode acionar a aprovação no Outlook, Teams ou Power Automate. Isso resultaria em várias aprovações para o mesmo evento. Nada de bom!

Processo de aprovação

Uma maneira de contornar isso é usar as ações Criar e aprovação e Aguardar uma aprovação. Existem algumas diferenças importantes que são necessárias no processo.

  1. Criar uma aprovação é usado para iniciar a aprovação
  2. O ID de aprovação precisa armazenar em algum lugar (por exemplo, lista do SharePoint)
  3. Um segundo fluxo de trabalho é necessário para aguardar a conclusão da aprovação usando o ID de aprovação capturado na etapa 2
  4. Outro fluxo de trabalho é necessário para capturar o evento da aprovação acontecendo no aplicativo para cancelar o processo de aprovação

Vejamos a solução com mais detalhes. No cenário abaixo, estou usando uma lista do SharePoint como meu armazenamento para as aprovações. Tudo o que realmente me importa é o ID de aprovação.

Iniciando a aprovação

Conforme mencionado nas etapas 1 e 2, o processo começa invocando uma ação Criar uma aprovação e armazenando a ID de aprovação resultante em uma fonte de dados.

Portanto, nesse caso, a fonte de dados é a lista do SharePoint.

Esperando aprovação

Depois da aprovação iniciada e o ID de aprovação conhecido, ele utiliza para aguardar a aprovação. Para simplificar, vamos usar um fluxo de trabalho acionado pela própria criação do item do SharePoint (etapa 3).

Esse fluxo de trabalho executa por até 30 dias e atualizará o item do SharePoint com o status depois de concluído. Portnato, até agora, a solução não é muito diferente do Iniciar e aguardar uma abordagem de aprovação . O próximo fluxo é onde as coisas ficam mais interessantes.

Cancelar um evento

Conforme mencionado na etapa 4, outro fluxo de trabalho é necessário para capturar a aprovação fora do fluxo de trabalho do Power Automate e cancelar a própria solicitação para evitar a duplicação de aprovações. Internamente, os dados de aprovação são armazenados dentro do Dataverse na tabela Aprovações. Conhecendo o Row ID (Approval ID), o status da aprovação pode ser alterado sem interagir diretamente com a solicitação de aprovação. Portanto, neste fluxo de trabalho, é importante não apenas marcar o status de aprovação na lista do SharePoint, mas também usar a ação Atualizar uma linha do Dataverse para alterar o Estágio, Motivo do Status e Status da solicitação de aprovação.

Então, depois da ação concluída e um aprovador tentar invocar uma aprovação, a mensagem altera para mostrar o estágio com base nessa atualização.

Conclusão

A solução fornecida neste artigo é uma abordagem alternativa para lidar com aprovações do Power Automate que podem precisar ocorrer em vários sistemas. Veja tambem nosso outro artigo sobre como e por onde começar a usar o Microsoft Power Automate.

Ver mais artigos

Entre em Contato

Vamos juntos transformar sua dor
em solução!

#moveFast