Sim. Você pode criar um bot no Telegram com o n8n para responder mensagens e disparar avisos sem escrever um servidor do zero. O caminho mais simples usa o Telegram Trigger para receber o comando e o nó Telegram para devolver a resposta.
Neste tutorial, vamos montar um fluxo que recebe uma mensagem, identifica o chat e responde automaticamente. O mesmo desenho serve para avisar sobre novos pedidos, erros de um sistema ou leads; se a origem for um formulário, veja também o guia do JSMS sobre triagem de leads com n8n e Google Sheets.

O que você precisa antes de começar
- Uma conta no n8n Cloud ou uma instalação própria acessível pela internet;
- uma conta do Telegram;
- algum lugar para guardar o token do bot, como a credencial do n8n;
- um chat privado com o bot para fazer o teste.
O n8n tem nós próprios para o Telegram, incluindo o Telegram Trigger e operações como enviar mensagem, foto e documento. O serviço por trás deles é a Bot API do Telegram, uma interface HTTP que recebe chamadas por HTTPS.
1. Crie o bot no BotFather
Abra o Telegram, procure por @BotFather e confira se o perfil é o oficial. Envie /newbot, escolha um nome de exibição e depois um nome de usuário. O username precisa terminar em bot, como alertas_da_loja_bot.
Ao terminar, o BotFather mostrará um token de acesso. Ele funciona como uma senha: não publique em tutorial, não envie em grupo e não coloque em um nó de texto. Se o token vazar, use o próprio BotFather para revogá-lo e gerar outro.
2. Cadastre o token como credencial no n8n
- Abra o n8n e crie um workflow vazio.
- Adicione o nó Telegram Trigger.
- Em Credential to connect with, escolha Create New Credential para Telegram.
- Cole o token no campo de acesso e salve.
- No evento do trigger, selecione mensagens recebidas. Se a sua versão mostrar opções mais específicas, comece pelo evento geral de mensagem.
O ponto importante é não confundir o token do bot com o ID do chat. O primeiro autentica a chamada à API; o segundo diz para qual conversa a mensagem deve ser enviada.
3. Faça o bot responder ao primeiro comando
Com o Telegram Trigger configurado, clique em Listen for Test Event ou no botão equivalente para executar o teste. Abra a conversa com o bot, toque em Iniciar e envie uma mensagem, por exemplo /start.
O n8n deve exibir um objeto JSON recebido do Telegram. Em uma mensagem comum, o ID costuma aparecer no caminho message.chat.id. Anote o caminho, não um número copiado de outra conversa: cada chat tem seu próprio identificador.
4. Adicione o nó que envia a resposta
Conecte um nó Telegram depois do trigger. Configure os campos assim:
- Resource: Message;
- Operation: Send Message;
- Chat ID: use uma expressão com
{{$json.message.chat.id}}; - Text: escreva uma resposta fixa ou use o texto recebido com
{{$json.message.text}}.
Para um primeiro teste, o texto pode ser:
Olá! Recebi sua mensagem: {{$json.message.text}}
Se o nó reclamar que o caminho não existe, abra a saída real do trigger e procure onde o Telegram colocou o objeto chat. Mensagens com foto, botão ou arquivo podem ter uma estrutura diferente de uma mensagem de texto.
5. Teste e publique o workflow
Execute o workflow em modo de teste e envie novamente uma mensagem ao bot. O resultado esperado é uma execução concluída no n8n e uma resposta na mesma conversa. Depois de confirmar o fluxo, salve-o, ative o workflow e faça um novo teste fora do editor.
Essa separação entre teste e produção é importante: o Telegram permite apenas um webhook por bot. Ao alternar entre a URL de teste e a URL de produção, uma pode substituir a outra. Para não ficar trocando o endereço de um bot usado por clientes, mantenha bots separados para desenvolvimento e produção.
Como transformar a resposta em um alerta automático
O exemplo acima começa com uma mensagem do usuário, mas o nó de envio pode ficar depois de praticamente qualquer gatilho. O desenho fica assim:
- um formulário, webhook, banco de dados ou Schedule Trigger detecta o evento;
- um nó Edit Fields ou Code monta o texto e define o destinatário;
- o nó Telegram envia a mensagem para o chat configurado.
Por exemplo, um aviso de pedido pode usar a expressão abaixo no campo de texto:
🚨 Novo pedido
Cliente: {{$json.cliente}}
Valor: R$ {{$json.valor}}
Pedido: {{$json.id}}
Em um fluxo iniciado por webhook, o chat_id pode ficar em um campo fixo ou vir de uma tabela de configuração. Evite deixar o ID espalhado em vários nós: centralizar essa informação torna a manutenção menos sujeita a erro.
Problemas comuns e como corrigir
“Bad request: an HTTPS URL must be provided”
O Telegram exige uma URL HTTPS para o webhook. Isso aparece com frequência em instalações do n8n atrás de proxy reverso. Configure o domínio público, o certificado TLS e a variável WEBHOOK_URL do n8n com o endereço HTTPS correto. Depois, reinicie ou aplique a configuração conforme o seu método de instalação.
O trigger fica esperando e não recebe nada
Primeiro confira se você enviou a mensagem ao bot certo e se a credencial usa o token correto. Depois verifique se o workflow está em modo de teste ou ativo em produção. Se outro workflow ou outra ferramenta estiver usando o mesmo bot, ela pode estar recebendo o único webhook registrado.
O bot não responde em um grupo
Em grupos, o modo de privacidade e as permissões do bot influenciam quais mensagens ele consegue receber. Para alertas, prefira enviar diretamente a um chat privado ou a um canal/grupo no qual o bot tenha as permissões necessárias. Não desative a privacidade sem entender o efeito: isso aumenta a quantidade de mensagens que o bot pode processar.
A mensagem falha por ser grande
O método sendMessage aceita texto de 1 a 4.096 caracteres depois do processamento das entidades. Para relatórios longos, envie um resumo e anexe um documento, divida o conteúdo em partes ou guarde os detalhes em uma página acessível.
Cuidados de segurança
- trate o token como uma senha e use somente credenciais do n8n;
- limite o bot a chats e grupos necessários;
- não envie dados pessoais ou segredos em mensagens sem avaliar o risco;
- registre falhas e crie uma rota de erro para saber quando o alerta não saiu;
- antes de ativar um fluxo, teste o que acontece quando chegam campos vazios ou valores inesperados.
O n8n elimina boa parte do código repetitivo, mas não elimina as decisões de segurança e operação. Um bot que dispara mensagens sem filtro pode virar spam em poucos minutos — automação sem limite é só uma forma eficiente de criar problema.
FAQ
Preciso programar para conectar o Telegram ao n8n?
Não para o fluxo básico. Você cria o bot, cadastra o token como credencial, escolhe o trigger e configura o nó de mensagem. Expressões simples ajudam a reutilizar o texto e o ID do chat.
Posso usar o mesmo bot no teste e na produção?
Pode, mas não é o ideal. Como o Telegram mantém um webhook por bot, alternar entre teste e produção pode substituir a URL registrada. Dois bots evitam esse conflito.
Como o n8n descobre para qual chat enviar a resposta?
Quando o fluxo começa no Telegram Trigger, o ID vem no evento recebido, normalmente em message.chat.id. Em alertas iniciados por outro serviço, você precisa salvar o ID ou defini-lo na configuração do workflow.
O Telegram cobra para enviar essas mensagens pelo bot?
A Bot API não é apresentada pela documentação oficial como um serviço pago por mensagem. Ainda assim, o n8n Cloud, o servidor, o banco de dados e outros serviços do seu fluxo podem ter custos próprios.