top of page

Como Automatizar a Qualificação de Leads com N8n e Gemini: Guia Passo a Passo

ree

A qualificação de leads é uma das tarefas mais importantes (e demoradas) do marketing digital. Hoje vou te mostrar como automatizar esse processo usando N8n e a API do Gemini, criando um sistema inteligente que analisa e pontua seus leads automaticamente.


## O que você vai aprender


- Configurar um workflow no N8n para capturar leads

- Integrar a API do Gemini para análise inteligente

- Criar critérios de qualificação personalizados

- Automatizar o envio de leads qualificados para sua equipe


## Pré-requisitos


- Conta no N8n (pode usar a versão cloud ou self-hosted)

- API Key do Google AI Studio (Gemini)

- Webhook ou fonte de leads (formulário, CRM, etc.)


## Passo 1: Configurando o Webhook de Entrada


Primeiro, vamos criar o ponto de entrada para nossos leads no N8n:


```json

{

"nodes": [

{

"parameters": {

"httpMethod": "POST",

"path": "qualify-lead",

"responseMode": "responseNode",

"options": {}

},

"id": "webhook-entrada",

"name": "Webhook Lead",

"type": "n8n-nodes-base.webhook",

"typeVersion": 1,

"position": [240, 300]

}

]

}

```


## Passo 2: Preparando os Dados do Lead


Adicione um nó "Set" para estruturar os dados recebidos:


```json

{

"parameters": {

"values": {

"string": [

{

"name": "nome",

"value": "={{ $json.nome || $json.name }}"

},

{

"name": "email",

"value": "={{ $json.email }}"

},

{

"name": "empresa",

"value": "={{ $json.empresa || $json.company }}"

},

{

"name": "cargo",

"value": "={{ $json.cargo || $json.position }}"

},

{

"name": "telefone",

"value": "={{ $json.telefone || $json.phone }}"

},

{

"name": "origem",

"value": "={{ $json.origem || $json.source }}"

}

]

}

},

"id": "preparar-dados",

"name": "Preparar Dados",

"type": "n8n-nodes-base.set",

"typeVersion": 1,

"position": [460, 300]

}

```


## Passo 3: Configurando a Integração com Gemini


Agora vamos criar o nó HTTP Request para se comunicar com a API do Gemini:


```json

{

"parameters": {

"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent",

"authentication": "genericCredentialType",

"genericAuthType": "httpQueryAuth",

"httpMethod": "POST",

"sendHeaders": true,

"headerParameters": {

"parameters": [

{

"name": "Content-Type",

"value": "application/json"

}

]

},

"sendQuery": true,

"queryParameters": {

"parameters": [

{

"name": "key",

"value": "SUA_API_KEY_AQUI"

}

]

},

"sendBody": true,

"bodyParameters": {

"parameters": [

{

"name": "contents",

"value": "={{ JSON.stringify([{\n \"parts\": [{\n \"text\": `Analise este lead e forneça uma pontuação de qualificação de 0 a 100, considerando os critérios:\n\n1. Adequação do cargo (decisor = +30, influenciador = +20, outros = +10)\n2. Tamanho da empresa (grande = +25, média = +15, pequena = +10)\n3. Origem do lead (indicação = +20, site = +15, redes sociais = +10)\n4. Completude dos dados (+15 se todos os campos estão preenchidos)\n\nDados do lead:\nNome: ${$json.nome}\nEmail: ${$json.email}\nEmpresa: ${$json.empresa}\nCargo: ${$json.cargo}\nTelefone: ${$json.telefone}\nOrigem: ${$json.origem}\n\nResponda APENAS em formato JSON com esta estrutura:\n{\n \"pontuacao\": número,\n \"classificacao\": \"quente/morno/frio\",\n \"motivos\": [\"razão1\", \"razão2\"],\n \"proximos_passos\": \"sugestão de ação\"\n}`\n }]\n}]) }}"

}

]

}

},

"id": "gemini-analysis",

"name": "Análise Gemini",

"type": "n8n-nodes-base.httpRequest",

"typeVersion": 4,

"position": [680, 300]

}

```


## Passo 4: Processando a Resposta do Gemini


Adicione um nó "Code" para extrair e processar a resposta:


```javascript

// Nó Code para processar resposta do Gemini

const response = items[0].json;

const content = response.candidates[0].content.parts[0].text;


// Extrair JSON da resposta

let analysis;

try {

// Remove markdown se presente

const jsonMatch = content.match(/\{[\s\S]*\}/);

const jsonString = jsonMatch ? jsonMatch[0] : content;

analysis = JSON.parse(jsonString);

} catch (error) {

// Fallback se não conseguir parsear

analysis = {

pontuacao: 50,

classificacao: "morno",

motivos: ["Erro na análise"],

proximos_passos: "Revisar manualmente"

};

}


// Combinar dados originais com análise

const leadQualificado = {

...items[0].json,

pontuacao: analysis.pontuacao,

classificacao: analysis.classificacao,

motivos: analysis.motivos,

proximos_passos: analysis.proximos_passos,

data_qualificacao: new Date().toISOString()

};


return [{ json: leadQualificado }];

```


## Passo 5: Criando Condições de Roteamento


Use um nó "Switch" para rotear leads baseado na pontuação:


```json

{

"parameters": {

"conditions": {

"options": {

"caseSensitive": true,

"leftValue": "",

"typeValidation": "strict"

},

"conditions": [

{

"id": "lead-quente",

"leftValue": "={{ $json.pontuacao }}",

"rightValue": 70,

"operator": {

"type": "number",

"operation": "gte"

}

},

{

"id": "lead-morno",

"leftValue": "={{ $json.pontuacao }}",

"rightValue": 40,

"operator": {

"type": "number",

"operation": "gte"

}

}

],

"combineOperation": "any"

},

"fallbackOutput": "extra"

},

"id": "classificar-lead",

"name": "Classificar Lead",

"type": "n8n-nodes-base.switch",

"typeVersion": 3,

"position": [1120, 300]

}

```


## Passo 6: Ações Baseadas na Qualificação


### Para Leads Quentes (Pontuação ≥ 70):


```json

{

"parameters": {

"resource": "message",

"operation": "send",

"chatId": "SEU_CHAT_ID_VENDAS",

"text": "🔥 LEAD QUENTE DETECTADO!\n\n👤 Nome: {{ $json.nome }}\n📧 Email: {{ $json.email }}\n🏢 Empresa: {{ $json.empresa }}\n💼 Cargo: {{ $json.cargo }}\n📊 Pontuação: {{ $json.pontuacao }}/100\n\n📋 Motivos:\n{{ $json.motivos.join('\\n• ') }}\n\n🎯 Próximos passos: {{ $json.proximos_passos }}"

},

"id": "notificar-lead-quente",

"name": "Notificar Lead Quente",

"type": "n8n-nodes-base.telegram",

"typeVersion": 1,

"position": [1340, 200]

}

```


### Para Leads Mornos (Pontuação 40-69):


```json

{

"parameters": {

"resource": "contact",

"operation": "create",

"additionalFields": {

"customProperties": {

"property": [

{

"name": "lead_score",

"value": "={{ $json.pontuacao }}"

},

{

"name": "lead_classification",

"value": "={{ $json.classificacao }}"

}

]

}

},

"email": "={{ $json.email }}",

"firstName": "={{ $json.nome.split(' ')[0] }}",

"lastName": "={{ $json.nome.split(' ').slice(1).join(' ') }}"

},

"id": "adicionar-crm-morno",

"name": "Adicionar ao CRM",

"type": "n8n-nodes-base.hubspot",

"typeVersion": 2,

"position": [1340, 300]

}

```


### Para Leads Frios (Pontuação < 40):


```json

{

"parameters": {

"values": {

"string": [

{

"name": "status",

"value": "lead_frio_nurturing"

},

{

"name": "acao",

"value": "adicionar_sequencia_email"

}

]

}

},

"id": "marcar-nurturing",

"name": "Marcar para Nutrição",

"type": "n8n-nodes-base.set",

"typeVersion": 1,

"position": [1340, 400]

}

```


## Passo 7: Salvando os Dados


Adicione um nó para salvar todos os leads qualificados:


```json

{

"parameters": {

"operation": "insert",

"table": "leads_qualificados",

"columns": "nome, email, empresa, cargo, telefone, origem, pontuacao, classificacao, motivos, proximos_passos, data_qualificacao",

"additionalFields": {}

},

"id": "salvar-database",

"name": "Salvar no Banco",

"type": "n8n-nodes-base.postgres",

"typeVersion": 2,

"position": [1560, 300]

}

```


## Configuração do Prompt Avançado


Para melhorar a precisão da qualificação, você pode usar este prompt mais detalhado:


```javascript

const promptAvancado = `

Você é um especialista em qualificação de leads B2B. Analise este lead usando o framework BANT (Budget, Authority, Need, Timeline) e critérios adicionais:


DADOS DO LEAD:

Nome: ${$json.nome}

Email: ${$json.email}

Empresa: ${$json.empresa}

Cargo: ${$json.cargo}

Telefone: ${$json.telefone}

Origem: ${$json.origem}


CRITÉRIOS DE PONTUAÇÃO:

1. AUTORIDADE (0-30 pontos):

- C-Level/Diretor: 30 pontos

- Gerente/Coordenador: 20 pontos

- Analista/Especialista: 10 pontos

- Outros: 5 pontos


2. EMPRESA (0-25 pontos):

- Grande empresa (500+ funcionários): 25 pontos

- Média empresa (50-499): 15 pontos

- Pequena empresa (10-49): 10 pontos

- Micro empresa (<10): 5 pontos


3. ORIGEM (0-20 pontos):

- Indicação/Referência: 20 pontos

- Webinar/Evento: 15 pontos

- Site/SEO: 12 pontos

- LinkedIn/Social: 10 pontos

- Anúncio pago: 8 pontos


4. COMPLETUDE DOS DADOS (0-15 pontos):

- Todos os campos: 15 pontos

- 4-5 campos: 10 pontos

- 2-3 campos: 5 pontos


5. QUALIDADE DO EMAIL (0-10 pontos):

- Email corporativo: 10 pontos

- Email genérico: 5 pontos

- Email pessoal: 2 pontos


Responda APENAS em JSON:

{

"pontuacao": número_total,

"classificacao": "quente|morno|frio",

"detalhes": {

"autoridade": pontos,

"empresa": pontos,

"origem": pontos,

"completude": pontos,

"email": pontos

},

"motivos": ["razão1", "razão2"],

"proximos_passos": "ação_recomendada",

"prioridade": "alta|media|baixa"

}

`;

```


## Testando o Workflow


Para testar sua automação:


1. **Teste manual**: Use o botão "Test workflow" no N8n

2. **Webhook de teste**: Envie dados via POST para seu webhook

3. **Dados de exemplo**:


```json

{

"nome": "João Silva",

"email": "joao.silva@empresa.com.br",

"empresa": "Tech Solutions Ltda",

"cargo": "Diretor de TI",

"telefone": "(11) 99999-9999",

"origem": "indicacao"

}

```


## Monitoramento e Otimização


### Métricas importantes:

- Taxa de leads qualificados por origem

- Precisão da pontuação vs. conversão real

- Tempo de resposta do workflow


### Dashboard de acompanhamento:


```sql

-- Query para relatório de performance

SELECT

origem,

classificacao,

COUNT(*) as total_leads,

AVG(pontuacao) as pontuacao_media,

DATE(data_qualificacao) as data

FROM leads_qualificados

WHERE data_qualificacao >= DATE_SUB(NOW(), INTERVAL 30 DAY)

GROUP BY origem, classificacao, DATE(data_qualificacao)

ORDER BY data DESC;

```


## Próximos Passos


Com esse sistema funcionando, você pode:


1. **Integrar com mais ferramentas**: Slack, Discord, WhatsApp

2. **Criar nurturing automático**: Sequências de email baseadas na pontuação

3. **Implementar machine learning**: Treinar modelo próprio com seus dados

4. **Adicionar enriquecimento**: APIs como Clearbit ou Hunter.io


## Conclusão


Automatizar a qualificação de leads com N8n e Gemini pode aumentar significativamente a eficiência da sua equipe de vendas. O sistema analisa leads 24/7, garante consistência na qualificação e permite que sua equipe foque nos leads mais promissores.


Lembre-se de ajustar os critérios de pontuação baseado no seu negócio específico e monitorar constantemente a performance para otimizar os resultados.


 
 
 

Comentários

Avaliado com 0 de 5 estrelas.
Ainda sem avaliações

Adicione uma avaliação

© 2025 by Gustavo Caetano

bottom of page