Por que o Fluxo Executa Duas Vezes para um Item do SharePoint
🔍 WiseChecker

Por que o Fluxo Executa Duas Vezes para um Item do SharePoint

Você cria um fluxo do Microsoft Power Automate que é disparado quando um item do SharePoint é criado ou modificado. Mas, ao adicionar ou alterar um item, o fluxo executa duas vezes em vez de uma. Esse problema geralmente é causado por uma configuração do gatilho que reage tanto à criação quanto à modificação, ou por um loop dentro do fluxo que atualiza o mesmo item. Este artigo explica a causa raiz das execuções duplicadas e mostra como pará-las ajustando as condições do gatilho e a lógica do fluxo.

Principais Conclusões: Parando Execuções Duplicadas do Fluxo

  • Condição do gatilho “Quando um item é criado ou modificado”: Dispara uma vez na criação e novamente em qualquer atualização, incluindo a mesma atualização que o fluxo faz.
  • Condição do gatilho “Quando um item é criado”: Dispara apenas em novos itens, eliminando a segunda execução causada por um gatilho de modificação.
  • Ação do fluxo “Atualizar item”: Quando colocada dentro do fluxo, essa ação modifica o item e dispara o fluxo novamente, criando um loop.

ADVERTISEMENT

Por que um Fluxo Executa Duas Vezes para um Item do SharePoint

A causa mais comum de uma execução duplicada do fluxo é a própria condição do gatilho. O Power Automate oferece um gatilho chamado Quando um item é criado ou modificado. Esse gatilho dispara uma vez quando um usuário cria um novo item. Em seguida, dispara uma segunda vez quando o próprio fluxo atualiza esse mesmo item durante sua execução. Essa segunda execução geralmente não é intencional.

Uma segunda causa comum é um loop dentro do fluxo. Muitos fluxos incluem uma ação que atualiza o item do SharePoint, por exemplo, para alterar um campo de status ou adicionar um carimbo de data/hora. Essa ação de atualização é uma modificação. Se o gatilho estiver configurado para responder a modificações, o fluxo dispara novamente. Isso cria um loop infinito que a plataforma eventualmente interrompe, mas não antes de executar o fluxo duas vezes ou mais.

Uma terceira causa é uma configuração personalizada do gatilho ou um receptor de eventos do SharePoint que também dispara. No entanto, na maioria dos cenários empresariais, a condição do gatilho e o loop de auto-atualização são os culpados.

Passos para Corrigir um Fluxo que Executa Duas Vezes

  1. Verifique o tipo de gatilho no Power Automate
    Abra seu fluxo no editor do Power Automate. Clique na etapa do gatilho. Observe o nome do gatilho. Se ele disser Quando um item é criado ou modificado, você está usando o gatilho que causa a execução dupla. Altere para Quando um item é criado se você só precisar reagir a novos itens. Se precisar reagir também a modificações, vá para o próximo passo.
  2. Adicione uma condição de gatilho para filtrar modificações
    Se você precisar reagir tanto à criação quanto à modificação, adicione uma condição de gatilho que impeça o fluxo de ser executado quando o item for modificado pelo próprio fluxo. Nas configurações do gatilho, expanda Adicionar condições de gatilho. Adicione uma condição que verifique uma coluna personalizada. Por exemplo, crie uma coluna Sim/Não chamada FlowProcessed. Defina a condição do gatilho como @equals(triggerOutputs()?[‘body/FlowProcessed’], false). Em seguida, no fluxo, após as ações principais, atualize essa coluna para true. Isso impede que o fluxo seja executado novamente no mesmo item.
  3. Remova qualquer ação de atualização que cause um loop
    Observe cada ação no seu fluxo. Se alguma ação atualizar o mesmo item do SharePoint que disparou o fluxo, essa ação pode causar uma segunda execução. Remova a ação de atualização se ela não for necessária. Se a atualização for necessária, use a condição de gatilho do passo 2 para bloquear a segunda execução.
  4. Use a condição de gatilho para campos modificados
    Se você usar Quando um item é criado ou modificado e quiser reagir apenas quando um campo específico mudar, adicione uma condição de gatilho que verifique o nome do campo. Por exemplo, para reagir apenas quando o campo Status mudar, adicione @equals(triggerOutputs()?[‘body/Status’], ‘Aprovado’). Isso reduz disparos falsos de outras atualizações.
  5. Teste o fluxo com um novo item
    Após fazer as alterações, crie um novo item do SharePoint e observe o histórico de execução do fluxo. Abra o fluxo e selecione Histórico de execução. Você deve ver apenas uma execução para cada criação ou modificação de item. Se ainda vir duas execuções, revise novamente a condição do gatilho e as ações de atualização.

ADVERTISEMENT

Se o Fluxo Ainda Executar Duas Vezes Após a Correção Principal

Fluxo executa duas vezes devido a um receptor de eventos do SharePoint

Alguns sites do SharePoint têm receptores de eventos personalizados ou fluxos do Power Automate que também são executados em alterações de itens. Verifique os recursos da coleção de sites. Vá para o centro de administração do SharePoint, selecione Sites ativos, abra seu site e clique em Recursos do site. Procure por algum recurso ativado que adicione receptores de eventos. Desative-o se não for necessário.

Fluxo executa duas vezes devido a uma etapa de aprovação paralela

Se o seu fluxo incluir uma ação de aprovação que é executada em paralelo, a resposta da aprovação pode disparar uma segunda execução do fluxo. Isso acontece quando a resposta da aprovação atualiza o item. Use o método de condição de gatilho descrito anteriormente para bloquear a segunda execução.

Fluxo executa duas vezes devido a um bug do conector

Em casos raros, o conector do SharePoint tem um bug conhecido que dispara o gatilho duas vezes. A Microsoft geralmente corrige esses bugs em alguns meses. Para contornar o bug, adicione uma ação de atraso no início do fluxo. Insira uma ação Atraso configurada para 30 segundos. Isso dá tempo para a plataforma deduplicar as execuções. Esta é uma solução temporária e deve ser removida após a atualização do conector.

Quando um Item é Criado vs Criado ou Modificado: Principais Diferenças

Item Quando um item é criado Quando um item é criado ou modificado
Evento de gatilho Apenas na criação de novo item Na criação e em cada modificação
Risco de execuções duplicadas Baixo, a menos que o fluxo atualize o mesmo item Alto, porque o fluxo frequentemente atualiza o item
Melhor caso de uso Enviar um e-mail de boas-vindas quando um novo item é adicionado Atualizar um campo de status quando uma coluna específica muda
Condição de gatilho necessária Geralmente não necessária Necessária para evitar loops de autoativação

Quando você precisar reagir tanto à criação quanto à modificação, sempre adicione uma condição de gatilho. Quando você só precisar reagir a novos itens, use o gatilho apenas de criação. Essa escolha simples elimina a maioria das execuções duplicadas do fluxo.

Agora você pode identificar por que seu fluxo executa duas vezes para um item do SharePoint. A correção principal é alterar o gatilho para Quando um item é criado ou adicionar uma condição de gatilho que bloqueie a segunda execução. Se ainda vir duplicatas, verifique receptores de eventos ou aprovações paralelas. Como solução rápida, adicione uma ação de atraso de 30 segundos. Revise o histórico de execução do fluxo após cada alteração para confirmar que a correção funciona.

ADVERTISEMENT