Integração via Webhook – Clint + Leavo
1. Visão Geral
A Clint é uma plataforma de CRM e gestão de funil de vendas que organiza, automatiza e escala a rotina comercial. A integração com o Leavo cria um ecossistema completo de qualificação inteligente de leads.
Casos de uso principais:
- Enviar leads do Leavo para o CRM Clint após qualificação
- Receber negócios da Clint para reengajamento no Leavo
- Sincronizar status entre sistemas em tempo real
- Automatizar follow-up de leads frios
Fluxos disponíveis:
- ✅ Clint → Leavo: Clint envia negócios para qualificação/reengajamento
- ✅ Leavo → Clint: Leavo envia leads qualificados para o CRM
Diferencial: A Clint suporta webhooks bidirecionais nativamente, facilitando a integração.
2. Documentação Oficial
Clint:
- Recebimento e envio de Webhooks - Clint oficial
- Documentação Principal da API
- Central de Ajuda - Webhooks
- Website oficial
Leavo:
- Painel de Webhooks
- Suporte: contato via plataforma
3. Recursos disponíveis via Webhook
3.1 Eventos da Clint (Webhook de Saída)
A Clint pode enviar webhooks quando:
| Gatilho | Descrição | Recomendado para Leavo |
|---|---|---|
| Negócio criado | Quando um novo negócio é criado | ✅ Sim |
| Entrar em etapa | Negócio entra em etapa específica | ✅ Sim |
| Mudar de etapa | Negócio muda de etapa | ⚠️ Opcional |
| Mudar de status | Status do negócio é alterado | ✅ Sim |
Gatilhos recomendados para Leavo:
- "Mudar de status" → Status: "Lead Frio" (reengajamento)
- "Entrar em etapa" → Etapa: "Sem Resposta" (qualificação)
- "Negócio criado" → Para imediata qualificação via IA
3.2 Ações da Clint (Webhook de Entrada)
A Clint pode receber webhooks para:
| Ação | Descrição | Uso com Leavo |
|---|---|---|
| Criar novo negócio | Cria negócio do zero | ✅ Leads novos qualificados |
| Atualizar negócio existente | Atualiza por email/telefone | ✅ Atualizar status pós-qualificação |
| Criar ou atualizar | Inteligente - cria se não existe | ✅ Recomendado |
| Atualizar campos específicos | Etapa, dono, status, custom fields | ✅ Atualização pontual |
4. Como configurar webhooks
4.1 FLUXO 1: Clint enviando negócios para o Leavo
Este fluxo permite que a Clint notifique o Leavo sobre negócios que precisam de reengajamento ou qualificação.
Passo 1: Criar Webhook de Entrada no Leavo
- Acesse https://app.leavo.ai/pt-BR/ai-settings/webhooks
- Clique na aba "Entrada" (ícone: ⬇️)
- Clique em "+ Criar Webhook"
No modal "Criar Novo Webhook":
- Nome: Negócios Clint - Reengajamento
- Descrição: Recebe leads frios da Clint para qualificação
- Webhook ativo: LIGADO (toggle vermelho)
- Clique em "Criar Webhook"
Passo 2: Copiar URL do Webhook
O Leavo gera uma URL única:
https://api.leavo.ai/api/webhooks/a1b2c3d4-e5f6-7890-abcd-ef1234567890
⚠️ IMPORTANTE: Copie esta URL - você vai precisar dela na Clint.
Passo 3: Configurar Webhook na Clint
3.1 Acessar seção de Integrações:
- No painel da Clint, clique em "Mais" (menu principal)
- Selecione "Integrações"
- Clique em "+ Nova Integração"
- Selecione "Webhook"
3.2 Escolher tipo:
- Selecione: "Enviar webhook" (Clint como origem)
3.3 Configurar webhook:
| Campo | Valor |
|---|---|
| Nome | Integração Leavo - Reengajamento |
| URL de destino | https://api.leavo.ai/api/webhooks/[SEU-UUID] |
| Método | POST |
| Gatilho | Mudar de status |
| Status específico | Lead Frio (ou status desejado) |
3.4 Mapear campos:
A Clint permite selecionar quais campos enviar. Selecione no mínimo:
- ☑️ Nome do contato
- ☑️ Telefone
- ☑️ Nome do negócio
- ☑️ Status
- ☑️ Etapa atual
3.5 Salvar webhook
Passo 4: Enviar Teste
4.1 Na Clint:
- A Clint não tem botão de "teste" nativo
- Mude manualmente um negócio para status "Lead Frio"
4.2 No Leavo:
- Verifique o painel de webhooks
- Status deve mudar para: ✅ "Payload recebido com sucesso!"
- Clique em "▼ Ver Payload"
Passo 5: Estrutura do Payload da Clint
Exemplo de payload enviado pela Clint:
{
"event": "negocio_mudou_status",
"negocio_id": 54321,
"nome_negocio": "Venda - João Silva",
"contato": {
"id": 12345,
"nome": "João Silva",
"email": "joao.silva@example.com",
"telefone": "+5511999999999",
"empresa": "Empresa XYZ"
},
"status_anterior": "Em Negociação",
"status_atual": "Lead Frio",
"etapa": {
"id": 101,
"nome": "Sem Resposta"
},
"funil": {
"id": 10,
"nome": "Funil de Vendas"
},
"valor": 5000.00,
"responsavel": {
"id": 999,
"nome": "Maria Vendedora",
"email": "maria@empresa.com"
},
"campos_personalizados": {
"origem": "Google Ads",
"interesse": "Consultoria"
},
"created_at": "2025-11-15T10:30:00Z",
"updated_at": "2025-12-11T14:20:00Z"
}
Campos disponíveis para mapeamento:
- contato.nome - Nome do lead
- contato.email - Email
- contato.telefone - Telefone
- contato.empresa - Empresa
- nome_negocio - Título do negócio
- valor - Valor do negócio
- campos_personalizados.origem - Origem do lead
Passo 6: Mapear Campos no Leavo
6.1 Tags Padrão (Recomendado):
Clint, Lead-Frio, Reengajamento
6.2 Status Padrão: Selecione: Lead Frio ou Em Reengajamento
6.3 Mapeamento de Campos do Lead:
| Campo do Leavo | Campo do Payload Clint | Preview |
|---|---|---|
| Nome * | contato.nome | "João Silva" |
| contato.email | "joao.silva@example.com" | |
| Telefone * | contato.telefone | "+5511999999999" |
| Empresa | contato.empresa | "Empresa XYZ" |
| Sobrenome | (deixar vazio) | - |
6.4 Campos Personalizados (Recomendado):
| Campo Personalizado | Campo do Payload | Preview |
|---|---|---|
| Titulo_Negocio | nome_negocio | "Venda - João Silva" |
| Valor_Negocio | valor | "5000.00" |
| Status_Clint | status_atual | "Lead Frio" |
| Etapa_Clint | etapa.nome | "Sem Resposta" |
| Responsavel_Clint | responsavel.nome | "Maria Vendedora" |
| Origem | campos_personalizados.origem | "Google Ads" |
💡 Dica: Use notação de ponto para acessar campos aninhados
Passo 7: Salvar e Ativar
- Revise todo o mapeamento
- Clique em "Salvar e Concluir"
- Webhook fica ativo
Passo 8: Testar com Negócio Real
- Na Clint, altere status de um negócio para "Lead Frio"
- Verifique se o lead foi criado no Leavo
- Confirme mapeamento de campos
- Valide se agente IA iniciou conversa
4.2 FLUXO 2: Leavo enviando leads para a Clint
Este fluxo permite que o Leavo envie leads qualificados diretamente para o CRM da Clint.
Passo 1: Obter informações da Clint
Antes de configurar, você precisa de 3 informações da Clint:
1.1 API Token:
- Na Clint: Configurações > Integrações > API
- Copie o api-token
- Exemplo: clint_api_abc123xyz789def456
1.2 ID do Funil:
- Na Clint: Acesse o funil desejado
- URL terá o ID: clint.digital/pipeline/123
- Anote: 123
1.3 ID da Etapa:
- Na Clint: Dentro do funil, clique na etapa desejada
- Anote o nome exato da etapa (ex: "Novo Lead")
Passo 2: Configurar Webhook na Clint (Entrada)
2.1 Criar webhook de entrada:
- Na Clint: "Mais" > "Integrações" > "+ Nova Integração"
- Selecione "Webhook"
- Escolha: "Receber webhook" (Clint como destino)
2.2 Configurar:
| Campo | Valor |
|---|---|
| Nome | Integração Leavo - Leads Qualificados |
| Ação | Criar ou atualizar negócio |
| Identificação | Por e-mail e telefone |
| Funil | Selecione o funil desejado |
| Etapa padrão | Novo Lead (ou etapa desejada) |
| Responsável | Selecione o dono padrão |
2.3 A Clint gera uma URL:
https://api.clint.digital/webhooks/abc123xyz789
⚠️ NÃO USE ESTA URL AINDA - Vamos usar a API REST para mais controle.
Passo 3: Criar Webhook de Saída no Leavo
- Acesse https://app.leavo.ai/pt-BR/ai-settings/webhooks
- Clique na aba "Saída" (ícone: ✈️)
- Clique em "+ Criar Webhook de Saída"
No modal:
- Nome: Clint - Leads Qualificados
- Descrição: Envia leads qualificados para CRM Clint
- URL de Destino: https://api.clint.digital/v1/deals
- Webhook ativo: LIGADO
Selecionar Gatilhos:
- ☑️ Mudança de Status
Filtrar Status:
- ☑️ Selecione: Lead Qualificado ou status que indica qualificação
Clique em "Próximo"
Passo 4: Mapear Campos de Saída (CRÍTICO)
Esta é a parte mais importante. A Clint espera uma estrutura específica.
Use a aba "Importar JSON" para este caso:
{
"name": "{{nome}}",
"pipeline_id": 123,
"stage_id": 456,
"user_id": 789,
"contact": {
"name": "{{nome}}",
"email": "{{email}}",
"phone": "{{telefone}}",
"company": "{{empresa}}"
},
"custom_fields": {
"origem": "Leavo",
"status_qualificacao": "{{status}}",
"data_qualificacao": "{{updated_at}}"
}
}
⚠️ IMPORTANTE: Substitua os IDs:
- pipeline_id: ID do funil (ex: 123)
- stage_id: ID da etapa (ex: 456)
- user_id: ID do responsável (ex: 789)
Como encontrar os IDs:
pipeline_id:
curl -X GET https://api.clint.digital/v1/pipelines \
-H "api-token: SEU_TOKEN"
stage_id:
curl -X GET https://api.clint.digital/v1/pipelines/123/stages \
-H "api-token: SEU_TOKEN"
user_id:
curl -X GET https://api.clint.digital/v1/users \
-H "api-token: SEU_TOKEN"
Passo 5: Preview do JSON Gerado
O Leavo mostra preview em tempo real:
{
"event": "lead_status_changed",
"timestamp": "2025-12-11T17:30:00.000Z",
"lead_id": "abc-123-def",
"name": "Maria Santos",
"pipeline_id": 123,
"stage_id": 456,
"user_id": 789,
"contact": {
"name": "Maria Santos",
"email": "maria.santos@example.com",
"phone": "+5511977776666",
"company": "Empresa ABC"
},
"custom_fields": {
"origem": "Leavo",
"status_qualificacao": "Lead Qualificado",
"data_qualificacao": "2025-12-11T17:30:00Z"
}
}
✅ Valide que:
- IDs estão corretos
- Campos obrigatórios presentes (name, contact)
- Estrutura JSON válida
Passo 6: Configurar Autenticação
A Clint requer autenticação via api-token no header.
⚠️ IMPORTANTE: O Leavo não suporta configuração de headers customizados diretamente na interface.
Solução recomendada:
Use um middleware (n8n ou Zapier):
Fluxo:
Leavo → Middleware → Clint
No middleware:
- Recebe webhook do Leavo
- Adiciona header: api-token: SEU_TOKEN
- Envia para Clint API: POST /v1/deals
Passo 7: Salvar e Ativar
- Revise o preview do JSON
- Confirme que IDs estão corretos
- Clique em "Criar Webhook"
- Webhook fica ativo
Passo 8: Testar
- No Leavo, altere status de um lead para "Lead Qualificado"
- Verifique nos logs do Leavo se foi enviado
- Verifique na Clint se o negócio foi criado
- Confirme que campos estão corretos
5. Testando a integração
✅ Checklist - Fluxo Clint → Leavo
Configuração:
- Webhook de entrada criado no Leavo
- URL copiada
- Webhook criado na Clint
- Gatilho configurado (ex: "Mudar de status")
- Status específico selecionado
- Campos selecionados para envio
Teste:
- Negócio alterado na Clint
- Payload recebido no Leavo
- Lead criado no Leavo
- Campos mapeados corretamente
- Tags aplicadas
- Status definido
- Agente IA iniciou contato
✅ Checklist - Fluxo Leavo → Clint
Preparação:
- API Token da Clint obtido
- ID do Funil identificado
- ID da Etapa identificado
- ID do Usuário identificado
Configuração:
- Webhook de saída criado no Leavo
- URL da API Clint configurada
- Gatilho "Mudança de Status" selecionado
- Status específico filtrado
- JSON importado com IDs corretos
- Preview validado
Teste:
- Lead qualificado no Leavo
- Webhook enviado (verificar logs)
- Negócio criado na Clint
- Campos preenchidos
- Funil correto
- Etapa correta
- Responsável atribuído
6. Estrutura de Payloads
6.1 Clint → Leavo (Webhook de Saída)
{
"event": "negocio_mudou_status",
"negocio_id": 54321,
"nome_negocio": "Venda - João Silva",
"contato": {
"id": 12345,
"nome": "João Silva",
"email": "joao.silva@example.com",
"telefone": "+5511999999999",
"empresa": "Empresa XYZ"
},
"status_anterior": "Em Negociação",
"status_atual": "Lead Frio",
"etapa": {
"id": 101,
"nome": "Sem Resposta"
},
"funil": {
"id": 10,
"nome": "Funil de Vendas"
},
"valor": 5000.00,
"responsavel": {
"id": 999,
"nome": "Maria Vendedora",
"email": "maria@empresa.com"
},
"campos_personalizados": {
"origem": "Google Ads",
"interesse": "Consultoria"
},
"created_at": "2025-11-15T10:30:00Z",
"updated_at": "2025-12-11T14:20:00Z"
}
6.2 Leavo → Clint (API REST)
{
"name": "Maria Santos - Empresa ABC",
"pipeline_id": 123,
"stage_id": 456,
"user_id": 789,
"contact": {
"name": "Maria Santos",
"email": "maria.santos@example.com",
"phone": "+5511977776666",
"company": "Empresa ABC"
},
"value": 0,
"custom_fields": {
"origem": "Leavo",
"status_qualificacao": "Lead Qualificado",
"data_qualificacao": "2025-12-11T17:30:00Z"
}
}
7. Observações e Limitações
7.1 Limitações da Clint
| Aspecto | Limitação |
|---|---|
| Rate limit API | 100 requisições/minuto |
| Timeout webhook | 30 segundos |
| Payload máximo | 5 MB |
| Autenticação | Requer api-token no header |
7.2 Limitações do Leavo
| Aspecto | Limitação |
|---|---|
| Headers customizados | Não suporta na interface |
| Rate limit saída | 50 requisições/minuto |
| Retry automático | 3 tentativas |
8. Boas Práticas
8.1 Use Middleware para Autenticação
Por que:
- Leavo não suporta headers customizados
- Middleware adiciona api-token automaticamente
- Permite transformações adicionais
8.2 Configure Campos Personalizados na Clint
Campos recomendados:
origem_leavo- Identificar leads do Leavodata_qualificacao- Quando foi qualificadoscore_leavo- Pontuação de qualificação
9. Troubleshooting
9.1 Webhook não funciona (Clint → Leavo)
| Causa | Solução |
|---|---|
| URL incorreta | ✅ Copie novamente a URL do Leavo |
| Gatilho errado | ✅ Verifique se gatilho está correto |
| Status específico não selecionado | ✅ Selecione o status desejado |
| Campos não selecionados | ✅ Marque campos obrigatórios |
9.2 Campos não mapeados corretamente
| Causa | Solução |
|---|---|
| Notação de ponto errada | ✅ Use contato.nome não contato_nome |
| Campo não existe no payload | ✅ Verifique payload em "Ver Payload" |
9.3 Erro 400 na Clint (Leavo → Clint)
| Causa | Solução |
|---|---|
| pipeline_id inválido | ✅ Verifique ID via API |
| stage_id inexistente | ✅ Confirme que etapa existe |
| Campos obrigatórios faltando | ✅ Adicione name e contact |
9.4 Erro 401 Unauthorized
| Causa | Solução |
|---|---|
| api-token ausente | ✅ Use middleware para adicionar header |
| Token expirado | ✅ Gere novo token na Clint |
10. Casos de Uso
10.1 Reengajamento Automático de Leads Frios
Cenário: Leads que ficaram frios no CRM precisam de reengajamento via IA.
Fluxo:
- Na Clint, vendedor muda status para "Lead Frio"
- Webhook notifica Leavo
- Lead criado com tag "Reengajamento"
- Agente IA inicia conversa via WhatsApp
- Lead responde e é requalificado
- Status atualizado na Clint
10.2 Envio de Leads Qualificados para CRM
Cenário: Leads qualificados pelo agente IA devem ir para o CRM.
Fluxo:
- Agente IA qualifica lead no Leavo
- Status muda para "Lead Qualificado"
- Webhook envia para middleware
- Middleware adiciona autenticação
- Negócio criado na Clint
- Vendedor recebe notificação


