Pular para o conteúdo
Automação

Como criar um bot no Telegram com n8n para enviar mensagens automáticas

Sim, dá para criar um bot no Telegram com n8n sem escrever um programa inteiro. Você cria o bot no BotFather, salva o token com segurança, conecta a credencial no n8n e usa o nó Telegram para enviar a primeira mensagem.

Neste tutorial, vou montar o caminho mais simples: um fluxo iniciado manualmente que envia um aviso para uma conversa do Telegram. Depois, o mesmo nó pode receber dados de um formulário, planilha, webhook ou outro serviço. É uma forma prática de entender a automação antes de tentar construir um robô cheio de comandos.

Editor visual do n8n exibindo um fluxo de automação com nós conectados
O n8n organiza a automação em nós conectados; neste guia, um deles será responsável por enviar a mensagem ao Telegram.

O que você vai montar

O fluxo inicial terá esta lógica:

  1. um gatilho manual inicia a execução;
  2. o nó Telegram recebe o texto e o chat ID;
  3. o bot envia a mensagem para a conversa escolhida.

O resultado pode ser um alerta como “Novo pedido recebido”, “O servidor está fora do ar” ou “A reunião começa em 15 minutos”. O n8n funciona como a ponte: ele recebe um evento de um serviço e chama a API do Telegram para entregar a mensagem.

O que você precisa antes de começar

  • uma conta no Telegram;
  • uma instalação do n8n, na nuvem ou em um servidor;
  • acesso ao @BotFather para criar o bot;
  • um chat privado com o bot para descobrir o chat ID.

Se você hospeda o n8n por conta própria, a documentação oficial recomenda o self-hosting para usuários experientes, porque é preciso cuidar de servidor, contêineres, atualizações, segurança e disponibilidade. Para o primeiro teste, o n8n Cloud ou uma instância já configurada costuma ser o caminho menos trabalhoso.

1. Crie o bot no Telegram

Abra o Telegram, procure por @BotFather e confira se é o perfil oficial. Inicie a conversa e envie o comando /newbot. O assistente pedirá um nome visível e um username.

O username precisa ter entre 5 e 32 caracteres, usar letras latinas, números ou sublinhados e terminar em bot. Exemplos: alertas_empresa_bot e MinhaLojaBot. Segundo a documentação de credenciais do n8n, o username não diferencia maiúsculas de minúsculas e não pode ser trocado depois.

Ao finalizar, o BotFather exibirá um token de acesso. Ele funciona como a senha do bot: não publique em tutorial, print, repositório ou grupo. Se o token vazar, volte ao BotFather e revogue-o para gerar outro.

2. Descubra o chat ID

Pesquise o username do bot que você acabou de criar, abra a conversa e toque em Start. Em seguida, envie uma mensagem simples, como “teste”. O bot precisa receber pelo menos uma mensagem para que esse chat apareça nos updates.

Agora abra no navegador a URL abaixo, substituindo SEU_TOKEN pelo token do bot:

https://api.telegram.org/botSEU_TOKEN/getUpdates

A resposta será um JSON. Procure por message, depois por chat e, dentro dele, por id. Esse número é o chat ID que será usado no nó de envio. Não compartilhe a URL completa, porque ela contém o token.

Se a resposta vier sem mensagens, envie outro texto ao bot e atualize a página. Se ainda não aparecer nada, pode existir um webhook configurado: a API informa que getUpdates não funciona enquanto um webhook estiver ativo. Isso acontece com frequência quando o mesmo bot já está ligado a um Telegram Trigger ou a outro serviço.

3. Cadastre a credencial do Telegram no n8n

Abra o n8n e crie um workflow novo. Adicione um nó Telegram e, no campo de credenciais, escolha a opção para criar uma nova credencial do Telegram.

Quando o formulário pedir o Access Token, cole o token entregue pelo BotFather e salve. A documentação do n8n informa que essa credencial usa o token de acesso da API do bot e pode ser compartilhada pelos nós Telegram e Telegram Trigger.

Não coloque o token em um campo de texto comum, em uma expressão ou em um nó de código. A credencial existe justamente para manter o segredo separado do fluxo e facilitar a troca caso você precise revogá-lo.

4. Configure o nó para enviar uma mensagem

Para fazer o primeiro teste, adicione um nó Manual Trigger e conecte-o ao nó Telegram. No nó Telegram, selecione:

  • Resource: Message;
  • Operation: Send Message;
  • Chat ID: o número encontrado no passo anterior;
  • Text: uma mensagem curta, como Teste enviado pelo n8n.

O nome dos campos pode variar um pouco entre versões do n8n, mas a ideia é a mesma. A documentação atual do nó lista “Send Message” entre as operações de mensagens e aponta a API do Telegram como referência técnica.

Clique em Execute Workflow. Se a credencial, o chat ID e o texto estiverem corretos, o bot enviará a mensagem para a conversa privada.

5. Troque o gatilho manual por um evento real

O gatilho manual serve apenas para validar a configuração. Depois que ele funcionar, substitua-o por algo que represente o seu processo:

  • Webhook: recebe uma chamada de um site, sistema ou formulário;
  • Schedule Trigger: envia um resumo em horários definidos;
  • Google Sheets: avisa quando uma linha nova aparece;
  • Gmail: notifica a chegada de uma mensagem com determinado assunto;
  • Telegram Trigger: inicia o fluxo quando alguém conversa com o bot.

O JSMS já explicou como salvar anexos do Gmail no Google Drive com n8n. O princípio é parecido: um nó recebe o evento, você trata os dados e o nó Telegram entrega o resultado.

Para usar dados recebidos no fluxo, escreva o texto com uma expressão do n8n, por exemplo ={{ $json.nome }}. O campo exato depende do nó anterior. Comece fixando uma mensagem, valide a entrega e só depois insira expressões: isso torna o erro muito mais fácil de localizar.

Erros comuns e como corrigir

“Chat not found”

Confira se você abriu a conversa com o bot e enviou uma mensagem antes de copiar o ID. Em grupos, o bot também precisa ser adicionado e o ID costuma ser diferente de um chat privado. Não remova o sinal negativo de um ID de grupo.

“Unauthorized”

O token está errado, incompleto ou foi revogado. Gere outro no BotFather e atualize a credencial do n8n. Evite colar o token em uma URL salva no histórico do navegador depois do teste.

O workflow executa, mas nada chega

Veja o resultado da execução no n8n e confirme se o nó Telegram terminou sem erro. Depois verifique se o chat ID pertence à conversa correta e se as notificações do Telegram estão habilitadas no celular. Em canais, o bot precisa ter permissão para publicar; a própria documentação do n8n destaca essa exigência para várias operações de mensagem.

O Telegram Trigger não recebe mensagens

Se você começou usando getUpdates e depois ativou o Telegram Trigger, pode haver conflito entre polling e webhook. Use apenas um método para aquele bot durante o teste. Quando o fluxo estiver com o Trigger, deixe o n8n acessível pela internet e confira a URL pública e o certificado HTTPS da instalação.

Vale a pena usar n8n com Telegram?

Para alertas internos, protótipos e integrações entre serviços, a combinação é bastante útil porque evita construir toda a camada de autenticação e envio do zero. O n8n também permite adicionar filtros, transformar dados e registrar o resultado da execução.

Mas não é uma solução mágica. Você ainda precisa proteger o token, limitar quem pode acionar o bot, tratar falhas e pensar em duplicidade de mensagens. Para uma operação crítica, inclua tentativas controladas, logs e um canal alternativo de alerta. Para um aviso simples de pedido, formulário ou servidor, o fluxo mostrado aqui já resolve o problema sem transformar uma notificação em um projeto de software.

Perguntas frequentes

Preciso saber programar para criar um bot no Telegram com n8n?

Não para o fluxo básico. Você pode criar o bot no BotFather e configurar o nó Telegram pela interface. Código e expressões passam a ser úteis quando você precisa transformar dados ou criar regras específicas.

Posso usar o mesmo bot em mais de um workflow?

Sim, a mesma credencial pode ser usada em diferentes fluxos. Organize os workflows e evite que dois deles respondam ao mesmo evento sem uma regra clara, para não enviar mensagens duplicadas.

O n8n precisa ficar ligado para o bot enviar mensagens?

Sim. O n8n precisa estar disponível no momento em que o gatilho ocorrer. Em uma instalação própria, isso significa manter o serviço funcionando e, para webhooks, configurá-lo com endereço público e HTTPS.