Esse agente de IA responde seus clientes enquanto você dorme
Aprenda a criar um agente de IA que atende clientes no Telegram com respostas inteligentes, memória de conversa e handoff automático para humano quando necessário. Usando n8n e OpenAI.
Sumário do artigo
- O que o agente vai fazer
- Por que é diferente dos agentes que você já viu
- Antes de começar
- Passo a passo
- 1\. Crie seu bot no Telegram
- 2\. Estrutura do workflow no n8n
- 3\. Configure o Telegram Trigger
- 4\. Monte a memória da conversa
- 5\. Escreva sua base de conhecimento
- 6\. Configure o nó OpenAI
- 7\. Salve a resposta no histórico
- 8\. Configure o IF de escalada
- 9\. Ative e teste
- Evoluções possíveis
- Quanto custa manter esse agente rodando
- Conclusão

Categoria: Agentes de IA Nível: Intermediário Tempo de leitura: ~11 min
Existe uma diferença enorme entre um chatbot e um agente de atendimento.
O chatbot responde perguntas fixas com respostas fixas. É uma FAQ glorificada. Qualquer pergunta fora do script e ele trava.
O agente, não. Ele lê o contexto, mantém memória da conversa, adapta a resposta ao que o cliente disse antes — e quando não sabe a resposta ou a situação fica sensível, ele chama um humano.
Neste tutorial você vai construir esse agente do zero, usando n8n e OpenAI. O canal de atendimento vai ser o Telegram (gratuito, sem burocracia e funciona no celular de qualquer cliente).
O que o agente vai fazer
Receber mensagens de clientes no Telegram
Manter o histórico da conversa para responder com contexto
Responder dúvidas sobre seu produto ou serviço com base em um documento de instruções que você escreve
Identificar quando a situação precisa de atendimento humano (reclamação grave, pedido de reembolso, pergunta sem resposta no contexto)
Avisar você por Telegram quando isso acontecer, passando o histórico da conversa
Por que é diferente dos agentes que você já viu
Os posts sobre agentes de IA normalmente mostram automações lineares: recebe mensagem → chama API → responde. Sem memória, sem critério de escalada.
Aqui você vai trabalhar com:
Memória de sessão por usuário (armazenando histórico no n8n)
Prompt com base de conhecimento injetada dinamicamente
Lógica de decisão sobre quando escalar para humano
Notificação com handoff — o agente avisa e passa o contexto, não some
Antes de começar
Você vai precisar de:
Conta no n8n (cloud ou self-hosted — o plano gratuito do n8n Cloud serve para testes)
Chave da OpenAI API
Um bot no Telegram — crie em segundos pelo @BotFather
30 a 60 minutos
Passo a passo
1. Crie seu bot no Telegram
Abra o Telegram, procure por @BotFather e envie /newbot. Siga as instruções e anote o token gerado — você vai precisar dele em breve.
Depois, procure pelo seu bot pelo nome, inicie uma conversa e envie qualquer mensagem para ativá-lo.
2. Estrutura do workflow no n8n
Crie um novo workflow e adicione os seguintes nós na ordem:
Telegram Trigger
↓
Code (monta contexto da conversa)
↓
OpenAI Chat (processa e decide a resposta)
↓
IF (verifica se precisa escalar)
↓ sim ↓ não
Telegram (avisa você) Telegram (responde cliente)
3. Configure o Telegram Trigger
No nó Telegram Trigger:
Crie uma credencial com o token do seu bot
Selecione o evento Message
Esse nó vai capturar toda mensagem enviada para o seu bot.
4. Monte a memória da conversa
O n8n tem um recurso nativo chamado Workflow Static Data que permite guardar informações entre execuções do mesmo workflow. Vamos usá-lo para a memória por usuário.
Adicione um nó Code com este script:
const userId = $json.message.from.id.toString();
const userMessage = $json.message.text;
const userName = $json.message.from.first_name || 'Cliente';
// Recupera histórico salvo
const staticData = $getWorkflowStaticData('global');
if (!staticData.historicos) staticData.historicos = {};
const historico = staticData.historicos[userId] || [];
// Adiciona mensagem atual
historico.push({ role: 'user', content: userMessage });
// Mantém apenas as últimas 10 mensagens (evita contexto gigante)
const historicoRecente = historico.slice(-10);
// Salva de volta
staticData.historicos[userId] = historicoRecente;
return [{
json: {
userId,
userName,
userMessage,
chatId: $json.message.chat.id,
historico: historicoRecente
}
}];
Isso garante que cada usuário tenha seu próprio histórico de conversa — sem misturar clientes diferentes.
5. Escreva sua base de conhecimento
Antes de configurar a OpenAI, escreva um documento simples com as informações do seu negócio. Você vai injetar esse texto direto no prompt do agente.
Exemplo para uma agência de marketing:
SOBRE A EMPRESA:
Somos uma agência de marketing digital especializada em pequenos negócios.
Atendemos empresas de todos os segmentos que querem crescer nas redes sociais.
SERVIÇOS E PREÇOS:
- Gestão de Instagram: R$ 800/mês (inclui 20 posts, stories e métricas mensais)
- Tráfego pago (Meta Ads): a partir de R$ 600/mês de gestão + verba do cliente
- Pacote completo: R$ 1.200/mês (gestão + tráfego)
PERGUNTAS FREQUENTES:
P: Vocês fazem contrato?
R: Sim, com fidelidade mínima de 3 meses.
P: Quanto tempo para ver resultados?
R: Os primeiros resultados aparecem entre 30 e 60 dias.
QUANDO ESCALAR PARA HUMANO:
- Cliente pede cancelamento ou reembolso
- Cliente demonstra insatisfação grave
- Pergunta sobre desconto ou negociação de valor
- Pergunta que não está coberta por este documento
Salve esse texto — você vai colá-lo no próximo passo.
6. Configure o nó OpenAI
Adicione um nó OpenAI (ou HTTP Request para a API diretamente). Configure assim:
Model: gpt-4o-mini
Operation: Message a model
No campo System Prompt, cole:
Você é um assistente de atendimento ao cliente. Seu nome é "Ana".
Responda de forma cordial, direta e em português.
BASE DE CONHECIMENTO DO NEGÓCIO:
{{ SUA BASE DE CONHECIMENTO AQUI }}
INSTRUÇÕES IMPORTANTES:
1. Responda apenas com base na base de conhecimento acima.
2. Se a pergunta não estiver coberta, diga que vai verificar e INCLUA a tag [ESCALAR] no final da sua resposta.
3. Se o cliente demonstrar insatisfação, pedir cancelamento ou negociação, INCLUA a tag [ESCALAR].
4. Nunca invente informações ou preços.
5. Seja breve — respostas de no máximo 3 parágrafos.
6. Trate o cliente pelo primeiro nome quando souber.
No campo Messages, adicione uma expressão para enviar o histórico:
{{ $json.historico }}
7. Salve a resposta no histórico
Após o nó OpenAI, adicione outro nó Code para salvar a resposta da IA no histórico:
const userId = $('Code').first().json.userId;
const respostaIA = $json.message.content;
const staticData = $getWorkflowStaticData('global');
const historico = staticData.historicos[userId] || [];
historico.push({ role: 'assistant', content: respostaIA });
staticData.historicos[userId] = historico.slice(-10);
return [{
json: {
userId,
chatId: $('Code').first().json.chatId,
userName: $('Code').first().json.userName,
resposta: respostaIA,
precisaEscalar: respostaIA.includes('[ESCALAR]'),
respostaLimpa: respostaIA.replace('[ESCALAR]', '').trim()
}
}];
8. Configure o IF de escalada
Adicione um nó IF com a condição:
{{ $json.precisaEscalar }} igual a true
Ramo TRUE (escalar): adicione dois nós Telegram em paralelo:
Um envia a
respostaLimpapara ochatIddo cliente (sem a tag [ESCALAR])Outro envia para o SEU Telegram pessoal:
🚨 *Atendimento precisando de atenção*
Cliente: {{ $json.userName }}
Mensagem: {{ $('Code').first().json.userMessage }}
Histórico recente salvo. Acesse o painel para continuar.
Ramo FALSE (resposta normal): um nó Telegram que envia a respostaLimpa para o cliente.
9. Ative e teste
Antes de ativar, clique em Test Workflow e mande uma mensagem para o seu bot. Verifique:
A resposta está coerente com sua base de conhecimento?
O histórico está sendo mantido entre mensagens?
A escalada está sendo acionada quando deveria?
Se estiver tudo certo, ative o workflow. Seu agente está no ar.
Evoluções possíveis
Memória persistente no Supabase: o Static Data do n8n some se o workflow for resetado. Para produção, salve o histórico numa tabela do Supabase — mais robusto e auditável.
Painel de atendimentos: crie uma tela simples no Lovable que lista todos os atendimentos escalados com o histórico da conversa, para o time humano retomar.
Respostas com imagens: o Telegram suporta envio de imagens. Para produtos físicos, configure o agente para enviar fotos quando o cliente perguntar sobre um item específico.
Múltiplos canais: o mesmo workflow funciona com WhatsApp (via API oficial ou Twilio), Instagram DM e até e-mail — só muda o nó de trigger e o de resposta.
Quanto custa manter esse agente rodando
Para uma pequena operação com 100 atendimentos por mês, cada conversa usando em média 1.000 tokens com gpt-4o-mini, o custo total fica em torno de R$ 2,50 a R$ 5,00 por mês. O n8n Cloud no plano gratuito aguenta até 2.500 execuções mensais — suficiente para começar.
Conclusão
Um agente de atendimento real não é um chatbot cheio de botões. É um sistema que entende contexto, tem memória e sabe os próprios limites — inclusive o de chamar um humano quando a situação pede.
O que você construiu aqui é exatamente isso: um atendente que trabalha 24h, não cansa, não esquece o que o cliente disse antes, e te avisa quando precisa de reforço.
Isso não substitui um time de atendimento. Mas resolve 70% das perguntas antes mesmo de chegarem em você.
Não perca a próxima edição.
Toda quinta, 9h. Direto na sua caixa.
- Ferramentas que economizam horas do seu trabalho
- Agentes e automações que funcionam
- Bastidores do que estamos construindo