Integração via Webhook – n8n + Leavo
1. Visão Geral
O n8n é uma ferramenta de automação de workflows open-source e auto-hospedável. A integração com o Leavo permite criar automações flexíveis e customizáveis entre o sistema de qualificação de leads e 400+ outras ferramentas.
Casos de uso principais:
- Receber leads do Leavo e processar com lógica customizada
- Enviar leads de diversas fontes para qualificação no Leavo
- Criar automações complexas com código JavaScript quando necessário
- Auto-hospedar para máximo controle e privacidade de dados
Fluxos disponíveis:
- ✅ n8n → Leavo: Workflows enviam dados para qualificação
- ✅ Leavo → n8n: Webhook aciona workflows
Diferencial: Open-source, auto-hospedável, permite código customizado, sem limites de operações.
2. Documentação Oficial
n8n:
Leavo:
3. Recursos disponíveis via Webhook
3.1 Como n8n trabalha com Webhooks
O n8n é extremamente flexível com webhooks:
| Funcionalidade | Suporte | Detalhes |
|---|---|---|
| Recebe webhooks | ✅ Sim | Webhook node (trigger) |
| Envia webhooks | ✅ Sim | HTTP Request node |
| Métodos | ✅ Todos | DELETE, GET, HEAD, PATCH, POST, PUT |
| Autenticação | ✅ Sim | Basic, Header, JWT auth |
| Formato | ✅ Todos | JSON, XML, Raw, Binary |
| Payload máximo | 16 MB | Configurável |
4. Como configurar webhooks
4.1 FLUXO 1: Leavo enviando para n8n (Acionar Workflow)
Permite que o Leavo dispare workflows no n8n quando leads são qualificados.
Passo 1: Criar Workflow no n8n
- Acesse sua instância n8n
- Clique em "+ New workflow"
- Nomeie:
Leavo - Leads Qualificados
Passo 2: Adicionar Nó Webhook
2.1 Adicionar nó:
- Clique em "+" no canvas
- Busque "Webhook"
- Selecione "Webhook" (trigger node)
2.2 Configurar:
| Campo | Valor |
|---|---|
| HTTP Method | POST |
| Path | /leavo-leads (ou personalizado) |
| Authentication | None (ou configure Basic/Header) |
| Response Mode | onReceived |
| Response Code | 200 |
2.3 URLs geradas:
O n8n mostra 2 URLs:
Test URL (para desenvolvimento):
https://your-instance.com/webhook-test/leavo-leads
Production URL (para produção):
https://your-instance.com/webhook/leavo-leads
⚠️ Use Production URL para integração final.
Passo 3: Configurar Webhook de Saída no Leavo
- No Leavo, vá em Webhooks
- Clique na aba "Saída"
- Clique em "+ Criar Webhook"
Configurar:
| Campo | Valor |
|---|---|
| Nome | Enviar para n8n - Automações |
| URL | https://your-instance.com/webhook/leavo-leads |
| Método | POST |
| Trigger | Lead criado OU Status alterado |
| Filtro | Status = Qualificado |
Mapeamento Visual:
Selecione campos:
- ✅ Nome
- ✅ Telefone
- ✅ Empresa
- ✅ Status
- ✅ Tags
Passo 4: Testar Webhook
4.1 No n8n:
- Clique em "Listen for Test Event"
- Webhook entra em modo de escuta
4.2 No Leavo:
- Crie lead de teste
- Altere status para "Qualificado"
4.3 No n8n:
- Dados aparecem no nó Webhook
- Estrutura é mapeada automaticamente
Passo 5: Estrutura do Payload Recebido
{
"headers": {
"content-type": "application/json",
"user-agent": "Leavo-Webhook/1.0"
},
"params": {},
"query": {},
"body": {
"event": "lead.status_changed",
"timestamp": "2025-12-11T18:00:00Z",
"lead_id": "lead_abc123",
"data": {
"nome": "João Silva",
"email": "joao@example.com",
"telefone": "5511999999999",
"empresa": "Empresa ABC",
"status": "Qualificado",
"tags": ["Hot-Lead", "B2B"]
}
}
}
Acessar dados:
{{$json.body.data.nome}}{{$json.body.data.email}}
Passo 6: Adicionar Ações no Workflow
Exemplo 1: Salvar em Google Sheets
- Adicione nó "Google Sheets"
- Selecione "Append"
- Configure:
- Spreadsheet: Selecione planilha
- Sheet: Nome da aba
- Data to Send: Manual Mapping
Exemplo 2: Enviar Email
- Adicione nó "Send Email" (SMTP)
- Configure:
- To:
vendas@empresa.com - Subject:
Novo Lead: {{$json.body.data.nome}}
- To:
Exemplo 3: Criar Deal no Pipedrive
- Adicione nó "Pipedrive"
- Selecione "Create" → "Deal"
- Mapeie campos
Passo 7: Ativar Workflow
- Clique em "Active" (toggle no topo)
- Workflow fica ativo
- Webhooks são processados automaticamente
4.2 FLUXO 2: n8n enviando para Leavo (Capturar Leads)
Permite que n8n capture leads de diversas fontes e envie para qualificação.
Passo 1: Criar Webhook de Entrada no Leavo
- No Leavo, vá em Webhooks
- Clique na aba "Entrada"
- Clique em "+ Criar Webhook"
Configurar:
- Nome:
Receber de n8n - Múltiplas Fontes - Descrição:
Recebe leads de workflows n8n - Webhook ativo: LIGADO
Passo 2: Copiar URL do Leavo
https://api.leavo.ai/api/webhooks/n1o2p3q4-r5s6-7890-tuvw-xy0123456789
Passo 3: Criar Workflow no n8n
3.1 Adicionar Trigger:
Escolha uma fonte (exemplos):
Opção A: Formulário Typeform
- Nó "Typeform Trigger"
- Configure webhook do Typeform
- Mapeie respostas
Opção B: Google Forms
- Nó "Google Sheets Trigger"
- Selecione "On Row Added"
- Configure planilha
Passo 4: Adicionar Nó HTTP Request
| Campo | Valor |
|---|---|
| Method | POST |
| URL | https://api.leavo.ai/api/webhooks/[UUID] |
| Authentication | None |
| Send Body | Yes |
| Body Content Type | JSON |
5. Testando a integração
✅ Checklist - Leavo → n8n
Leavo:
- Webhook de saída criado
- URL do n8n configurada (Production)
- Trigger configurado
- Campos mapeados
n8n:
- Workflow criado
- Webhook node configurado
- Production URL copiada
- Ações adicionadas
- Workflow ativado
✅ Checklist - n8n → Leavo
n8n:
- Workflow criado
- Trigger configurado
- HTTP Request adicionado
- URL do Leavo configurada
- Body mapeado
- Workflow ativado
Leavo:
- Webhook de entrada criado
- URL copiada
- Payload recebido
- Campos mapeados
6. Estrutura de Payloads
6.1 Leavo → n8n
{
"headers": {...},
"body": {
"event": "lead.qualified",
"timestamp": "2025-12-11T18:00:00Z",
"lead_id": "lead_xyz",
"data": {
"nome": "Pedro Oliveira",
"email": "pedro@example.com",
"telefone": "5511977776666",
"empresa": "Startup ABC",
"status": "Qualificado",
"tags": ["Hot", "B2B"],
"score": 90
}
}
}
6.2 n8n → Leavo
{
"name": "Ana Costa",
"email": "ana@example.com",
"phone": "5511955554444",
"company": "Consultoria XYZ",
"source": "n8n-typeform",
"interest": "Produto Premium"
}
7. Observações e Limitações
7.1 Limitações do n8n
| Aspecto | Limitação |
|---|---|
| Payload máximo | 16 MB (configurável: N8N_PAYLOAD_SIZE_MAX) |
| Rate limit | Nenhum (auto-hospedado) |
| Webhook expira | Não expira |
| Execuções | Ilimitadas (auto-hospedado) |
7.2 Vantagens do n8n
✅ Open-source: Código aberto, customizável ✅ Auto-hospedável: Controle total dos dados ✅ Sem limites: Execuções ilimitadas ✅ Código customizado: JavaScript em Function nodes
8. Boas Práticas
8.1 Estrutura de Workflows
✅ Use Error Workflows:
- Crie workflow separado para erros
- Configure em Settings → Error Workflow
- Recebe todos os erros de outros workflows
8.2 Autenticação
✅ Header Auth para webhooks:
Header Name: X-API-Key
Header Value: secret-key-123
9. Troubleshooting
9.1 Webhook não responde
| Causa | Solução |
|---|---|
| Workflow inativo | ✅ Ative toggle "Active" |
| URL de teste em produção | ✅ Use Production URL |
| n8n fora do ar | ✅ Verifique status da instância |
| Firewall bloqueando | ✅ Libere porta 5678 |
9.2 Dados não chegam
| Causa | Solução |
|---|---|
| Content-Type errado | ✅ Use application/json |
| Payload malformado | ✅ Valide JSON |
| Autenticação falhando | ✅ Verifique credenciais |
10. Casos de Uso
10.1 Leavo → CRM via n8n
Objetivo: Leads qualificados vão para Pipedrive
Fluxo:
Leavo (Lead Qualificado)
↓
n8n Webhook
↓
Pipedrive (Create Deal)
10.2 Múltiplas Fontes → Leavo
Objetivo: Capturar leads de várias plataformas
Fluxo:
Typeform / Google Forms / Facebook
↓
n8n (Normalizar dados)
↓
Leavo (Qualificar)


