Telegram Trigger funciona apenas no modo de teste, mas não após a ativação do workflow

Descreva o problema/erro/pergunta

Qual é a mensagem de erro (se houver)?

Por favor, 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 n8n

  • Versão do n8n:

  • Banco de dados (padrão: SQLite):

  • Configuração de EXECUTIONS_PROCESS do n8n (padrão: own, main): padrão

  • Executando n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud

  • Sistema operacional: macOS
    Olá,

    Estou usando o n8n Cloud.

    Meu workflow é:

    Trigger do Telegram

    Agente de IA

    Enviar Mensagem no Telegram

    O workflow funciona perfeitamente quando clico em “Executar workflow” (Modo de teste).

    O Trigger do Telegram recebe imediatamente minha mensagem, a IA a processa, e o Telegram envia a resposta.

    No entanto, após ativar o workflow, nada acontece.

    O bot recebe minhas mensagens no Telegram, mas nenhuma execução do workflow é iniciada.

    Já verifiquei:

    • As credenciais do Telegram são válidas (“Conexão bem-sucedida”).

    • O workflow está ativo.

    • Apenas um Trigger do Telegram está conectado a este bot.

    • O mesmo bot funciona perfeitamente no Modo de teste.

    • Nenhuma execução aparece após a ativação.

    Informações adicionais:

    - O workflow está publicado e ativo.

    - O Trigger do Telegram recebe mensagens apenas enquanto o editor está no Modo de teste.

    - Assim que ativo o workflow, o bot para de disparar.

    - Suspeito que pode haver um problema no registro do webhook.

    O que mais devo verificar?

    Obrigado.
    Versão do n8n: 2.28.7 (Cloud)

@Ilona_Ilona

Faça o seguinte

1)Desative o workflow
2)Aguarde cerca de 10 segundos.
3)Ative o workflow
4)NÃO clique em “Execute Workflow” após fazer isso.
5)Vá diretamente para seu aplicativo do Telegram.
6)Envie uma mensagem para seu bot.
7)Verifique a aba Executions no n8n (na barra lateral esquerda) para ver se a execução apareceu.

Funciona agora?

Cole a seguinte URL no seu navegador (substitua <YOUR_BOT_TOKEN> pelo seu token real):

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getWebhookInfo

O que procurar no resultado:

  • Se a url contém /webhook-test/, o Telegram está em Test Mode​. Seu workflow ativo não será acionado. Você deve ativar o workflow novamente para alterá-lo para /webhook/.
  • Se a url contém /webhook/, o Telegram está em Production Mode​. Se ainda assim não for acionado, verifique se existem campos last_error_message nessa resposta JSON.

@Ilona_Ilona Verifique se há um campo last_error_message na resposta do getWebhookInfo. Este é o próprio log de erros do Telegram e frequentemente mostra exatamente por que a entrega está falhando, por exemplo, problemas de certificado SSL, timeout, n8n retornando uma resposta diferente de 200. É a forma mais rápida de diagnosticar se o webhook está registrado corretamente, mas as mensagens não estão sendo entregues.

Também certifique-se de que você está verificando a aba Executions, não apenas o canvas. As execuções de produção não aparecem no canvas, apenas na lista de execuções.

Oi @Ilona_Ilona Bem-vinda!
Crie bots separados para testes e produção. Crie um segundo bot no BotFather, salve seu token como uma segunda credencial do Telegram e mantenha essa credencial no gatilho enquanto você constrói, depois troque de volta para a credencial do seu bot ao vivo antes de publicar.

Construindo a partir das sugestões de getWebhookInfo acima — se essa chamada mostrar a URL de produção /webhook/ e ainda não houver execução, duas coisas valem a pena verificar que não surgiram ainda:

  1. Force um re-registro completamente limpo. O Telegram às vezes mantém um registro obsoleto mesmo após n8n redefini-lo. Com o workflow DESATIVADO, chame:

https://api.telegram.org/bot/deleteWebhook?drop_pending_updates=true

Confirme que getWebhookInfo agora mostra uma URL vazia, depois ative o workflow. n8n registrará o webhook de produção do zero. drop_pending_updates=true também limpa uma fila entupida — se pending_update_count em getWebhookInfo for alto, o Telegram vem tentando novamente atualizações antigas e pode parecer “morto” para as novas.

  1. Procure um segundo consumidor do mesmo token de bot: outro workflow (mesmo inativo, mas testado) usando a mesma credencial, uma segunda instância de n8n (trial antigo, Docker local), ou qualquer script externo fazendo polling em getUpdates. Polling e webhooks são mutuamente exclusivos — enquanto seu webhook está definido, uma chamada bruta de getUpdates retorna 409 Conflict (o webhook em si sobrevive), mas muitas bibliotecas de polling reagem a isso chamando deleteWebhook automaticamente, o que apaga silenciosamente o registro n8n. Verifique todos os lugares onde esse token foi colado.

Como você está na Cloud, nenhuma questão de SSL/proxy reverso se aplica, então é quase certamente um desses dois.

Se você colar o JSON completo de getWebhookInfo aqui (oculte o token na URL), posso dizer em qual caso você está.

Uma próxima etapa útil é inspecionar o estado real do webhook de produção do bot em vez de apenas reativar o workflow. Abra esta URL em um navegador (substitua <TOKEN>):

https://api.telegram.org/bot<TOKEN>/getWebhookInfo

Compartilhe estes campos editados: url, pending_update_count, last_error_date, last_error_message, allowed_updates e max_connections. O resultado geralmente identifica a falha rapidamente:

  • URL contém /webhook-test/: Telegram ainda está registrado no webhook de teste temporário.
  • URL está vazio: falha no registro de produção.
  • URL contém /webhook/ mais um erro: siga o erro de TLS, DNS, redirecionamento ou não-200 mostrado lá.
  • Contagem pendente continua crescendo: n8n não está reconhecendo entregas.
  • URL parece correto e não há erro de entrega: verifique conflitos de token e tipos de atualização.

Também certifique-se de que apenas um Telegram Trigger ativo use este token de bot e nenhum outro workflow ou script esteja pesquisando o mesmo bot com getUpdates. Telegram permite apenas um webhook/consumer por token de bot.