Fluxo Executa Duas Vezes para um Item do SharePoint: Causa e Solução
🔍 WiseChecker

Fluxo Executa Duas Vezes para um Item do SharePoint: Causa e Solução

Você cria ou atualiza um único item em uma lista ou biblioteca do SharePoint e seu fluxo do Power Automate é acionado duas vezes. Esse gatilho duplicado causa e-mails repetidos, atualizações de arquivos duplicadas ou notificações em dobro. A causa raiz geralmente é uma combinação da configuração do gatilho do fluxo e do comportamento interno de atualização do SharePoint. Este artigo explica por que um fluxo executa duas vezes para um item do SharePoint e fornece uma solução clara para interromper execuções duplicadas.

Principais Conclusões: Pare Execuções Duplicadas de Fluxo para Itens do SharePoint

  • Condição de gatilho para SharePoint: Adicionar uma condição de gatilho que verifica @equals(triggerOutputs()?['headers/x-ms-file-id'], '') impede a segunda execução.
  • Mudança do tipo de gatilho para Quando um arquivo é criado ou modificado (somente propriedades): Reduz gatilhos duplicados causados por atualizações de metadados do SharePoint.
  • Desabilitar o gatilho na exclusão de arquivo ou pasta: Impede que o fluxo seja executado quando o SharePoint envia um evento de exclusão.

ADVERTISEMENT

Por que um Fluxo é Acionado Duas Vezes para um Único Item do SharePoint

Quando você cria ou modifica um item no SharePoint, a plataforma geralmente envia mais de um evento para o Power Automate. O primeiro evento é a criação ou atualização inicial. O segundo evento pode vir da atualização de metadados internos do SharePoint, como a data de modificação, número de versão ou ID do tipo de conteúdo. Se seu fluxo usa o gatilho “Quando um item é criado ou modificado”, ele responde a cada evento, incluindo essas atualizações internas. Além disso, se você tiver vários gatilhos na mesma lista ou biblioteca, cada um pode ser acionado de forma independente.

Outra causa comum é a condição de gatilho do fluxo. Por padrão, o Power Automate não distingue entre uma ação do usuário e uma ação do sistema. Atualizações do SharePoint como versionamento, políticas de retenção ou alterações de status de fluxo de trabalho contam como modificações. O fluxo vê cada alteração como um novo evento de gatilho.

O Papel das Atualizações Internas do SharePoint

O SharePoint atualiza automaticamente certos campos quando um item é salvo. Por exemplo, o campo Modified muda e o número da versão é incrementado. Se o versionamento estiver habilitado, cada salvamento cria uma nova versão, o que aciona outro evento. Isso significa que uma única ação do usuário pode produzir dois ou mais eventos em rápida sucessão.

Tipo de Gatilho e Configuração

O Power Automate oferece dois gatilhos principais do SharePoint: “Quando um item é criado ou modificado” e “Quando um arquivo é criado ou modificado (somente propriedades)”. O primeiro gatilho é acionado para todas as alterações, incluindo atualizações de metadados. O segundo gatilho é acionado apenas quando propriedades como título ou descrição mudam, ignorando atualizações internas do sistema. Usar o tipo de gatilho errado pode causar execuções duplicadas.

Passos para Corrigir um Fluxo que Executa Duas Vezes para um Item do SharePoint

Aplique estas correções em ordem. Teste o fluxo após cada etapa para confirmar que o problema foi resolvido.

Passo 1: Adicionar uma Condição de Gatilho para Filtrar Eventos Duplicados

  1. Abra seu fluxo no Power Automate
    Vá para Power Automate e selecione Meus fluxos. Clique no nome do fluxo para editá-lo.
  2. Selecione a etapa do gatilho do SharePoint
    Clique no cartão do gatilho chamado Quando um item é criado ou modificado ou Quando um arquivo é criado ou modificado.
  3. Adicione uma condição de gatilho
    No painel de configurações do gatilho, expanda Adicionar condição de gatilho. Insira esta expressão:
    @equals(triggerOutputs()?['headers/x-ms-file-id'], '')
    Esta condição permite que o fluxo seja executado apenas quando o cabeçalho x-ms-file-id estiver vazio, o que ocorre no primeiro evento. O segundo evento de atualizações internas terá um valor e será ignorado.
  4. Salve o fluxo
    Clique em Salvar no topo do editor. Teste criando ou atualizando um item do SharePoint. O fluxo deve ser executado apenas uma vez.

Passo 2: Alterar o Gatilho para Somente Propriedades

  1. Exclua a etapa do gatilho existente
    No editor de fluxo, clique com o botão direito no cartão do gatilho e selecione Excluir.
  2. Adicione um novo gatilho
    Clique no botão + e pesquise por SharePoint. Selecione Quando um arquivo é criado ou modificado (somente propriedades).
  3. Configure o gatilho
    Selecione o mesmo endereço do site e nome da lista ou biblioteca. Este gatilho ignora alterações internas de metadados e é acionado apenas quando propriedades editáveis pelo usuário mudam.
  4. Salve e teste
    Clique em Salvar. Crie um novo item no SharePoint. O fluxo deve ser acionado uma vez.

Passo 3: Desabilitar o Gatilho na Exclusão de Arquivo ou Pasta

  1. Abra as configurações do gatilho
    Clique no cartão do gatilho no seu fluxo. No painel de configurações, encontre Acionar na exclusão de arquivo ou pasta.
  2. Defina como Não
    Altere o menu suspenso para Não. Isso impede que o fluxo seja executado quando o SharePoint envia um evento de exclusão, que às vezes pode causar um gatilho duplicado durante atualizações.
  3. Salve o fluxo
    Clique em Salvar.

ADVERTISEMENT

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

Fluxo Executa Duas Vezes ao Usar Múltiplos Gatilhos na Mesma Lista

Se você tiver dois ou mais fluxos acionados pela mesma lista ou biblioteca do SharePoint, cada fluxo é executado de forma independente. Para confirmar isso, verifique o histórico de execução de cada fluxo. A solução é consolidar a lógica em um único fluxo ou usar uma condição para executar apenas um fluxo com base nas propriedades do item.

Fluxo Executa Duas Vezes Devido a um Fluxo de Trabalho ou Política de Retenção do SharePoint

Fluxos de trabalho do SharePoint, políticas de retenção ou políticas de gerenciamento de informações podem atualizar itens após o salvamento inicial. Essas atualizações acionam o fluxo novamente. Para interromper isso, revise as políticas aplicadas à lista ou biblioteca. Remova quaisquer políticas de atualização automática que não sejam necessárias. Alternativamente, adicione uma condição de gatilho que verifique o campo Modified para ver se a alteração foi feita por uma conta de sistema.

Fluxo Executa Duas Vezes ao Usar um Gatilho de Recorrência com uma Ação do SharePoint

Se seu fluxo usa um gatilho Recorrência e depois uma ação do SharePoint como Obter itens, o fluxo é executado em um agendamento, não em alterações de item. No entanto, se você também tiver um gatilho do SharePoint no mesmo fluxo, a recorrência e o gatilho podem ambos iniciar o fluxo. Remova o gatilho extra ou use apenas um gatilho por fluxo.

Gatilhos do SharePoint para Power Automate: Comparação

Item Quando um item é criado ou modificado Quando um arquivo é criado ou modificado (somente propriedades)
Descrição Acionado para todas as alterações, incluindo atualizações internas de metadados Acionado apenas quando propriedades editáveis pelo usuário mudam
Acionado em atualizações do sistema Sim Não
Melhor para Listas simples onde execuções duplicadas são aceitáveis Listas ou bibliotecas com versionamento ou políticas de retenção
Risco de execuções duplicadas Alto Baixo

Após aplicar a condição de gatilho ou mudar para o gatilho somente propriedades, seu fluxo deve ser executado exatamente uma vez por ação do usuário. Para reduzir ainda mais execuções duplicadas, revise quaisquer fluxos de trabalho ou políticas de retenção do SharePoint que atualizam itens automaticamente. Use o histórico de execução no Power Automate para confirmar que apenas uma execução aparece para cada alteração de item.

ADVERTISEMENT