Telegram Trigger executa cada mensagem 3 vezes (execuções duplicadas)

Descreva o problema/erro/pergunta

Meu bot do Telegram processa cada mensagem recebida 3 vezes — cada mensagem cria 3 execuções separadas, então o bot responde 3 vezes.
O que já tentei:

  • Deletar webhook via deleteWebhook (recebi “Webhook was deleted”)
  • Re-publicar o workflow
  • Apenas 1 workflow está ativo
  • Ativar “Execute Once” nos nós Sheet
  • Nó de código está “Run Once for All Items”
    Ainda 3 execuções por mensagem. Usando n8n Cloud. Como corrigir?

Qual é a mensagem de erro (se houver)?

Compartilhe seu workflow

(Selecione os nós na sua tela e use os atalhos de teclado CMD+C/CTRL+C e CMD+V/CTRL+V para copiar e colar o workflow.)

Compartilhe a saída retornada pelo último nó

Informações sobre sua configuração do n8n

  • Versão do n8n:
  • Banco de dados (padrão: SQLite):
  • Configuração n8n EXECUTIONS_PROCESS (padrão: own, main):
  • Executando n8n via (Docker, npm, n8n cloud, aplicativo desktop):
  • Sistema operacional:

@Wey89_Gmail isso quase sempre significa que o mesmo token de bot está ativo em mais de um Telegram Trigger, então cada cópia processa a mesma atualização. 3x = ele está ativo em 3 lugares. Procure por um workflow duplicado/copiado, uma versão de teste e outra de produção ambas ativas, ou outra instância n8n usando o mesmo bot, e desative as extras. O Telegram só permite um trigger ativo por bot; uma vez que houver apenas um, as duplicatas param.

O Telegram Trigger dispara 3x por mensagem é quase sempre uma de duas causas:

  1. Mais de um consumer anexado ao mesmo bot token. O Telegram permite apenas UM receptor ativo por bot — ou polling (getUpdates) ou um único webhook, nunca ambos, e nunca em múltiplas instâncias. Se o mesmo bot token é usado em outro workflow, outra instância n8n, ou há um webhook residual de uma ativação anterior, o Telegram entrega a mesma atualização para cada um → duplicatas.
    Verifique: chame o método getWebhookInfo do Telegram para seu bot token — ele mostra se um webhook está configurado no momento mais a contagem de atualizações pendentes. Se você estiver usando o Telegram Trigger do n8n (que faz polling), certifique-se de que nenhum webhook está configurado (use deleteWebhook para limpar um antigo), e confirme que o token não está ativo em um segundo workflow/instância.

  2. O Telegram está tentando novamente porque não recebeu um 200 rápido. Se o trigger não confirmar dentro do timeout do Telegram, o Telegram reenvia a mesma atualização — você geralmente a verá chegar 2-3 vezes. Isso acontece quando trabalho pesado é executado antes de a resposta ser enviada. Solução: confirme imediatamente e coloque os passos lentos em outro lugar (responda primeiro, depois faça o trabalho com LLM/API, ou coloque em fila). Três retentativas é uma assinatura clássica de retry do Telegram.

Como diferenciá-las: se getWebhookInfo mostra um webhook configurado enquanto você também está fazendo polling, é a #1. Se as duplicatas estão alguns segundos apart e seu workflow é lento, é a #2.

Corrigir que para as duplicatas independentemente da causa: adicione um guard de dedupe logo após o trigger — armazene cada update_id do Telegram (ou message_id) e pule se você já processou. Isso torna o workflow idempotente mesmo se o Telegram entregar duplicatas.

Qual é sua configuração — self-hosted com mais de uma instância, e você está em polling ou webhook? Isso vai esclarecer.