Use DeepSeek com n8n para IA generativa

O que é e por que usar

DeepSeek é uma família de modelos de linguagem de grande porte desenvolvidos pela empresa chinesa de mesmo nome. O modelo principal, deepseek-chat, tem se destacado por oferecer desempenho comparável a modelos como GPT-4 em várias tarefas, porém com custo consideravelmente menor. A API da DeepSeek é compatível com o padrão da OpenAI, o que facilita a integração com ferramentas que já suportam esse formato, incluindo o n8n.

O n8n é uma plataforma de automação de fluxos de trabalho com uma interface visual. Ele permite conectar serviços, APIs e bancos de dados sem precisar escrever código da integração do zero. Quando você combina n8n e DeepSeek, cria uma camada de IA generativa aplicada a processos reais: classificar e-mails, resumir documentos, gerar respostas para clientes, extrair dados de texto livre, criar drafts de publicações e muito mais.

A principal vantagem de usar DeepSeek via n8n em vez de soluções prontas é o controle total sobre o fluxo. Você decide quando a IA é chamada, qual contexto recebe, como a resposta é processada e para onde ela vai. E como o custo por token do DeepSeek é baixo — na ordem de US$ 0,14 por milhão de tokens de entrada para o modelo deepseek-chat — é viável automatizar tarefas com volume alto, sem gastar muito.

Person interacting with DeepSeek AI chat app on smartphone, focusing on digital innovation and communication.

Pré-requisitos

  • Uma conta no n8n — pode ser a versão cloud (n8n.io) ou uma instalação auto-hospedada via Docker. Qualquer uma funciona para este guia.
  • Uma chave de API da DeepSeek. Você precisa criar uma conta no platform.deepseek.com, gerar a chave na seção “API Keys” e ter créditos disponíveis.
  • Conhecimento básico de JSON e de como configurar nós no n8n (Webhook, HTTP Request, Code). Se você já criou algum workflow, tem o suficiente.
  • Uma ferramenta para testar chamadas HTTP, como o Postman ou o próprio n8n para testes rápidos. Isso ajuda a validar a integração antes de montar o fluxo completo.
  • Conta de e-mail com suporte a protocolo IMAP se você quiser reproduzir o exemplo prático de resposta automática. Para testes, usar um webhook também funciona.

Exemplo Prático: Respostas automáticas a e-mails de suporte com DeepSeek

Imagine que você recebe 50 e-mails por dia em uma caixa de suporte genérica (contato@seusite.com). A maioria desses e-mails são perguntas simples: “qual é o prazo de entrega?”, “como cancelo minha assinatura?”, “o link de redefinição de senha não chegou”. Sem automação, você ou um assistente gasta pelo menos 5 minutos por e-mail — isso dá mais de 4 horas por dia somente respondendo mensagens repetitivas.

Neste exemplo, vamos montar um workflow no n8n que realiza três etapas:

  1. Dispara quando um novo e-mail chega em uma conta IMAP de suporte.
  2. Envia o conteúdo do e-mail para o modelo DeepSeek, com um prompt que instrui a IA a gerar uma resposta útil e empática.
  3. Envia a resposta gerada automaticamente para o remetente original, com o assunto prefixado por “Re:”.

Resultado esperado: cada e-mail simples é respondido em menos de 15 segundos após chegar. A carga de trabalho manual cai drasticamente, e você foca apenas nas mensagens que realmente exigem intervenção humana. A qualidade da resposta depende diretamente da clareza do prompt; por isso, vamos caprichar na instrução enviada ao modelo.

Configuração Passo a Passo

O workflow completo tem cinco nós: IMAP Email Trigger, Set, HTTP Request, Code e Send Email. Vamos configurar cada um.

Passo 1: Configurar o nó de trigger (IMAP Email Trigger)

No n8n, adicione um nó do tipo IMAP Email Trigger. Ele vai ficar escutando a caixa de entrada em busca de mensagens novas. Configure com os dados do servidor IMAP do seu provedor (Gmail, Outlook, Zoho, etc.): host, porta (993), SSL ativado, usuário e senha ou chave de app.

Nas opções do trigger, escolha “immutable” para não marcar os e-mails como lidos, caso queira processá-los novamente depois. Defina também um intervalo de polling razoável, por exemplo a cada 1 minuto.

Passo 2: Extrair o conteúdo do e-mail e montar o prompt

O trigger retorna os dados do e-mail em um objeto JSON com propriedades como subject, textPlain e from. No n8n, o conteúdo de texto puro da mensagem fica em message.textPlain.

Adicione um nó Code para extrair as variáveis que vamos usar. O código abaixo pega o corpo do e-mail, limita o tamanho a 3000 caracteres e define as variáveis de contexto:

// Nó Code — Extrair dados e preparar variáveis
const email = $input.item.json;

const messageBody = (email.textPlain || email.html || '')
  .replace(/<[^>]*>/g, '')
  .substring(0, 3000);

const userName = email.from ? email.from[0].name : 'Cliente';
const senderEmail = email.from ? email.from[0].address : '';

return [{
  json: {
    userName,
    senderEmail,
    subject: email.subject || 'Sem assunto',
    messageBody
  }
}];

Esse trecho também remove tags HTML, porque o DeepSeek responde melhor a texto limpo. O resultado é um único objeto JSON com as três informações principais.

Passo 3: Chamar a API do DeepSeek com HTTP Request

Adicione um nó HTTP Request e configure da seguinte forma:

  • Method: POST
  • URL: https://api.deepseek.com/chat/completions
  • Authentication: Generic Credential Type, escolha “Header Auth” e defina o header Authorization com o valor Bearer SEU_TOKEN_AQUI.
  • Header: adicione também Content-Type: application/json.
  • Body Type: JSON

O corpo da requisição segue o formato padrão da OpenAI:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "system",
      "content": "Você é o assistente de atendimento ao cliente de uma empresa de software. Escreva respostas curtas, educadas e objetivas. Se a pergunta for sobre prazos, informe que o prazo padrão é 3 dias úteis. Se for suporte técnico, peça educadamente para o cliente reiniciar o sistema antes de escalar. Não invente informações."
    },
    {
      "role": "user",
      "content": "E-mail recebido de {{ $json.userName }} com o assunto \"{{ $json.subject }}\":\n\n{{ $json.messageBody }}\n\nEscreva uma resposta para este e-mail."
    }
  ],
  "max_tokens": 500,
  "temperature": 0.3
}

No n8n, dentro do campo “Body”, use a expressão {{ $json.userName }} e {{ $json.messageBody }} para referenciar os dados que o nó Code retornou. O parâmetro temperature baixo (0.3) faz com que o modelo siga o prompt de forma mais determinística, sem respostas criativas demais.

Passo 4: Extrair a resposta gerada com outro nó Code

A resposta da API DeepSeek chega como uma estrutura JSON parecida com esta:

{
  "id": "chatcmpl-123456789",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Olá! O prazo de entrega é de 3 dias úteis, seu pedido deve chegar dentro desse período."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 45,
    "completion_tokens": 28,
    "total_tokens": 73
  }
}

Para pegar apenas o texto da resposta, adicione outro nó Code:

// Nó Code — Extrair resposta do DeepSeek
const response = $input.item.json;

if (!response.choices || response.choices.length === 0) {
  throw new Error('Resposta vazia da API DeepSeek');
}

const replyText = response.choices[0].message.content;

return [{
  json: {
    replyText,
    originalEmail: $json.senderEmail,
    originalSubject: $json.subject
  }
}];

Passo 5: Enviar o e-mail de resposta

Por fim, adicione um nó Send Email. Configure o provedor SMTP e preencha:

  • To: {{ $json.originalEmail }}
  • Subject: Re: {{ $json.originalSubject }}
  • Email Format: Plain Text
  • Message: {{ $json.replyText }}

Ative o workflow e aguarde um e-mail de teste chegar na conta IMAP configurada. Você verá a resposta automática ser enviada em menos de um minuto.

Dicas e Variações

  • Teste o prompt isoladamente antes de automatizar. Use o playground da DeepSeek no site oficial para ajustar o tom e o formato da resposta. Depois que o texto estiver bom, copie para o workflow.
  • Estruture o prompt com contexto próprio. Em vez de apenas enviar o e-mail bruto, inclua informações sobre a sua empresa, produtos e política de envio. O modelo responde melhor com instruções explícitas.
  • Cuidado com as políticas de privacidade. Ao enviar dados de clientes para a API DeepSeek, você está transferindo essas informações para um serviço de terceiros. Considere anonimizar dados pessoais no nó Code antes da chamada, ou utilize a versão auto-hospedada do DeepSeek se a LGPD exigir controle maior.
  • Implemente um limite de custo por conversa. Use max_tokens baixo (300 a 500) para respostas simples. Se o texto for longo, aumente só quando necessário.
  • Varie o modelo conforme a tarefa. O DeepSeek oferece também o deepseek-reasoner, um modelo de raciocínio que é excelente para análises mais profundas, mas mais lento e caro. No mesmo workflow, você pode decidir dinamicamente qual modelo usar com base em uma palavra-chave no e-mail (ex.: se contém “reembolso”, use reasoner).
Close-up of a smartphone showing a chat app interface on a wooden table.

Erros Comuns e Como Evitá-los

  • Erro de autenticação na API: muitas vezes o usuário esquece o prefixo Bearer no header de Authorization, ou usa uma chave incorreta. Verifique se o token está ativo e se a conta tem créditos. O erro HTTP 401 da DeepSeek indica problema exatamente nesse ponto.
  • Corpo da requisição em formato errado: se você copiar o JSON do exemplo e tentar usar como “Body” sem trocar as expressões {{ $json... }}, o n8n vai literalmente enviar o texto com as chaves, e a API retornará erro 400. Sempre confira no painel “Output” o JSON que o nó HTTP Request está montando.
  • Processamento de e-mails duplicados: o trigger IMAP pode capturar a mesma mensagem mais de uma vez se o polling for mais rápido que o tempo de processamento. Para evitar isso, marque os e-mails como lidos logo após o processamento (habilite a opção “Format” no trigger) ou mantenha um registro de IDs processados em um banco de dados.
  • Respostas com alucinação: se você notar que o DeepSeek inventa prazos, preços ou políticas que não existem, é porque o system prompt está vago. Seja específico: liste as informações que ele pode usar e instrua a responder “não sei” quando não houver dado no e-mail.
  • Esquecimento de limites de caracteres: e-mails muito longos (acima de 8000 tokens) podem estourar o contexto do modelo ou aumentar bastante o custo. O truncamento no nó Code, como fizemos acima, resolve.

Próximos Passos

Depois que o fluxo de resposta automática estiver estável, expanda a automação. Uma evolução natural é criar as seguintes variações no mesmo workflow:

  1. Classificação de intenção: use o DeepSeek para classificar cada e-mail como “simples”, “urgente” ou “técnico”. E-mails urgentes podem pular o envio automático e ser direcionados para um canal do Slack no qual você é mencionado.
  2. Resumo de documentos: adapte o mesmo nó HTTP Request para receber o texto de um PDF ou relatório e retornar um resumo estruturado, armazenando o resultado no Google Sheets.
  3. Geração de conteúdo em lote: se você mantém um blog, crie um workflow que recebe uma lista de palavras-chave por planilha e envia cada uma ao DeepSeek para gerar um esboço de artigo pronto.

Agora, abra o seu n8n e monte o primeiro fluxo com o DeepSeek. Teste com um e-mail de exemplo, observe os custos na API e ajuste o prompt até ficar satisfatório. Quando o resultado estiver bom, ative o workflow de verdade. Em poucos dias, você terá um assistente de IA funcionando todos os dias, sem depender de uma equipe de atendimento para responder perguntas repetitivas.

Gostou do conteúdo? Inscreva-se para receber as novidades:

CATEGORIES:

rotinas

Tags:

Comments are closed