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.

O que você vai montar
O fluxo inicial terá esta lógica:
- um gatilho manual inicia a execução;
- o nó Telegram recebe o texto e o chat ID;
- 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.