Quando li o case, minha primeira reação foi: o gargalo aqui não é ferramenta, é processo. O fluxo atual Speedio → CSV → Clay → CSV → HubSpot faz tudo funcionar, mas exige trabalho manual em cada etapa. Dobrar volume assim significa dobrar dor. Então a pergunta que guiou tudo foi: como a gente conecta isso de ponta a ponta sem criar um monstro difícil de manter?
O segundo ponto que ficou claro: os Desafios 1 e 2 não são problemas separados. Automação sem scoring gera volume sem direção. Scoring sem automação não escala. Os dois precisam funcionar juntos, e as decisões de arquitetura de um afetam o outro diretamente.
Também tentei ter clareza sobre quem lê isso: a pessoa que cuida do número global quer saber se a meta de 800 SQLs é atingível e como. O head de IS quer entender se o BDR vai ter a vida facilitada ou complicada. E quem avalia a arquitetura quer ver se as decisões fazem sentido técnico e se aguenta crescer. Tentei responder às três ao mesmo tempo.
Algumas coisas ficaram sem resposta volume atual por BU, estado do waterfall no Clay, campos custom no HubSpot. Essas lacunas afetam detalhes de implementação, mas não mudam a direção da solução. Marquei onde isso importa ao longo dos slides.
A lógica do fluxo é simples: o Pipefy segura a entrada ninguém roda coleta sem um card aprovado. O n8n orquestra tudo no meio. O Clay enriquece. O HubSpot recebe. Cada ferramenta faz o que faz bem, e nenhuma faz o que não é dela.
Sem aprovação formal no card, o n8n não dispara. Evita coletas não planejadas que consomem crédito Clay à toa o que no Enterprise é cara.
Speedio não tem integração nativa com Clay ou HubSpot. O n8n é o orquestrador: webhooks, retry, validação e observabilidade num lugar só.
Delegar ao Clay evita duplicar a requisição à Speedio e estourar rate limit. Os créditos Enterprise (+100k/mês) absorvem isso com folga.
| # | Nó | O que faz | Configuração |
|---|---|---|---|
| 1 | Webhook / Schedule Trigger | Ponto de entrada | Webhook do Pipefy ou cron 0 6 * * 1 |
| 2 | Set Node | Monta os filtros para a Speedio | Extrai BU, filtros e volume do payload |
| 3 | HTTP Request | Chamada para a Speedio API | POST com Bearer token + paginação |
| 4 | Split In Batches | Quebra em lotes de 50 | Respeita rate limit de 1.000 req/h |
| 5 | Wait Node | Pausa entre lotes | 4s 50 leads/4s = 750 req/h (margem segura) |
| 6 | IF Node | Validação mínima de dados | Descarta lead sem CNPJ, sem telefone E sem email |
| 7 | HTTP Request | Envia lead para o Clay | POST no webhook da tabela Clay (um por lead) |
| 8 | HTTP Request | Atualiza card no Pipefy | PATCH: status "Em enriquecimento" |
| 9 | Slack Node | Notificação no #gtm-ops | BU, volume coletado, válidos, timestamp |
Ponto de risco crítico: se as chamadas de decision makers fossem feitas no n8n, cada empresa exigiria 2 requisições → 12.000 req para 6.000 leads = 12× o rate limit por hora. Delegar ao Clay resolve isso sem sobrecarregar a coleta.
Automations do Pipefy → trigger "Card moves to phase: Aprovado" → POST para o Webhook Trigger Node.
Clay → nova tabela → Add source → Webhook (gera URL única). Cola no HTTP Request do n8n. Um POST por lead.
Integração nativa do Clay não webhook. Upsert Contact + Company. Chave: CNPJ + email validado.
"Run when all enrichments complete" → POST no n8n → atualiza card Pipefy para "Concluído". Fecha o loop de rastreabilidade.
O webhook ④ é opcional mas fecha a rastreabilidade: o LDR sabe exatamente quando a lista saiu do Clay e está pronta no HubSpot sem precisar perguntar para ninguém.
| Risco | Impacto real | Como tratamos |
|---|---|---|
| Rate limit Speedio (1.000 req/h) | Coleta interrompe sem aviso | Batch de 50 + Wait 4s + retry com backoff exponencial + alerta no Slack |
| Clay falha silenciosa em campos críticos | Lead incompleto chega no HubSpot | IF Node valida campos obrigatórios; incompletos vão para fila de revisão no Pipefy |
| Créditos Clay acima do planejado | Limite mensal esgota antes do tempo | Dashboard semanal + alerta automático em 70% |
| Duplicidade no HubSpot | Registros conflitantes do mesmo lead | Upsert explícito com CNPJ + email nunca Insert puro |
| n8n como ponto único de falha | Fluxo trava sem ninguém perceber | Health check via cron auxiliar → alerta no Slack se workflow não executar |
| Lead sem email E sem telefone | Contato inviável na cadência | IF Node filtra antes do Clay; vão para Pipefy com tag "Dado incompleto" |
Feedback loop o que conecta o D1 ao D2: quando um lead vira SQL ou é descartado com motivo no HubSpot, esse dado retroalimenta o modelo. Quinzenalmente, comparo convertidos vs. descartados e isso calibra os filtros de coleta da Speedio e os pesos do scoring no Clay. O scoring retroalimenta os filtros, não o contrário.
Esses campos sustentam tanto o trabalho diário do BDR quanto as variáveis do modelo de scoring. A escolha foi intencional para não precisar criar campos extras depois que o scoring entrar.
O BDR vê o tier direto na fila do HubSpot sem abrir planilha, sem interpretar fórmula.
No Brasil, rastreamento de IP para identificar empresa visitante não tem cobertura confiável. A maioria das empresas usa provedores compartilhados, e a taxa de match com empresa específica é baixa demais para ser acionável. O custo de implementação não se paga.
Mesmo que a cobertura fosse boa, coletar IP sem consentimento prévio conflita com o Art. 7º da LGPD. Legítimo interesse pode ser alegado, mas exige LIA documentado e expõe a operação a risco regulatório especialmente no FSI, onde bancos avaliam rigorosamente os parceiros que tratam seus dados.
O que funciona: usar os sinais de intenção que o Clay já captura no enriquecimento tecnologias em uso, contratações recentes, stack via Speedio. Base legal mais sólida (dados públicos), sem dependência de rastreamento, e na prática entrega mais contexto acionável para o BDR do que um IP jamais entregaria.
Por que CRM? ICP mais amplo no Brasil, mais fácil de capturar via Speedio. O pitch se fecha bem: a empresa automatiza o processo do cliente dela, mas o processo comercial dela ainda é manual. A contradição é o argumento.
Lógica dos pesos: porte + setor + cargo (60%) definem fit estrutural lead fora do ICP não converte independente de qualquer outro sinal. Presença digital + tech stack são proxies de maturidade. Hiring é o sinal de intenção mais confiável disponível no Brasil. Dados validados pesam pouco mas são eliminatórios na prática via IF Node do n8n.
O BDR não precisa entender a fórmula ele vê o tier na fila e sabe o que fazer.
Liga hoje · todos os canais disponíveis
Esta semana · email + 2 tentativas de call
Cadência longa de email · 30 dias
Não trabalha · revisão em 60d ou descarte
Hot em 70 (não 60) porque o modelo é puramente firmográfico sem dado comportamental, melhor ser conservador no topo.
# cada dimensão = 1 coluna de fórmula score_porte = IF(qnt_func >= 500, 20, IF(qnt_func >= 100, 15, IF(qnt_func >= 50, 10, 0))) score_setor = IF(cnae IN lista_A, 20, IF(cnae IN lista_B, 10, 0)) score_cargo = IF(level == "C-level", 20, IF(level == "Gerente", 15, IF(level == "Coord", 8, 0))) # ... idem digital, techstack, hiring, dados lead_score = score_porte + score_setor + score_cargo + score_digital + score_techstack + score_hiring + score_dados tier = IF(lead_score >= 70, "Hot", IF(lead_score >= 45, "Warm", IF(lead_score >= 25, "Cool", "Cold")))
Abre em uma nova aba · tabela compartilhada
G2, Bombora, review de concorrente esses sinais simplesmente não existem aqui com a maturidade que têm fora. Então o modelo precisa se sustentar com o que tem, e tem coisa boa.
Vaga aberta para Coord. de CRM, Analista de Processos ou Head de Vendas é o sinal mais limpo que encontrei. Indica momento de estruturação com budget já alocado não é intenção futura, é movimento presente.
Empresa que já usa Salesforce ou HubSpot tem cultura de ferramenta o pitch de processo faz sentido para elas. Ausência total de stack pode ser oportunidade ou resistência; depende do porte e setor.
Abaixo disso falta budget para solução enterprise. Acima geralmente já tem ferramenta consolidada. Essa faixa é onde as empresas estão estruturando processo comercial e precisam de ajuda para fazer isso direito.
Promoção de vendas (7319002) ou teleatendimento (8220200) no CNAE secundário é sinal direto de que automação de relacionamento comercial já faz parte do negócio deles.
Com esses quatro sinais combinados hiring + stack + faturamento + CNAE o modelo firmográfico brasileiro consegue discriminar bem sem depender de dado comportamental. A calibração quinzenal com histórico de conversão vai ajustando os pesos ao longo do tempo.
Se o modelo funciona, Hot converte significativamente mais que Warm, que converte mais que Cool. Taxa parecida entre tiers significa pesos errados não dados ruins.
Já dá para ter hipótese inicial de correlação com o que já converteu sem custo de espera.
Conexão não é SQL, mas é o primeiro sinal de que o modelo está discriminando certo. Custo zero de espera.
Se Hot não conecta pelo menos 2× mais que Warm, o ranqueamento está errado e dá para corrigir já.
Ajuste de thresholds + recalibração das variáveis que não estão contribuindo.
Sinal de alerta: se no dia 30 a conversão de Hot for menor que 2× a de Warm, o problema está provavelmente nas variáveis de topo porte e setor. Recalibrar por lá primeiro, não nas dimensões de menor peso.
Segunda-feira. 70 contatos. 3 conexões. Zero reuniões.
Antes de qualquer coisa, eu precisaria entender se o problema está na lista ou em como ela foi trabalhada. 3 de 70 pode ser dado ruim, perfil errado, horário ruim, ou volume de tentativas insuficiente e a correção é completamente diferente em cada caso. Sair atirando para o lado da lista sem verificar é tão ruim quanto ignorar o problema.
Ninguém atende. Investigar cargos, validade de dado e horário antes de olhar para o pitch.
Investigar as duas camadas em paralelo antes de concluir qualquer coisa.
Estão atendendo mas não compram o pitch. Investigar qualidade das conversas, não a lista.
Cuidado real: processo é 100% manual hoje, sem feedback loop estruturado. Os dados de call no HubSpot podem não estar suficientemente limpos. Plano B: conversa estruturada com o BDR para reconstruir horário de cada call, cargo abordado, tentativas por contato e o que foi dito nas 3 conexões.
Entrega no fim do dia 2: documento curto com o que os dados mostraram, qual hipótese é mais provável e o que foi ajustado. Sem achismo. Sem apontar culpado.
A ordem importa: automação sem scoring é volume sem direção. Scoring sem automação não escala. As duas precisam funcionar juntas para 800 SQLs/mês ser atingível.
O que o time sente como dor, o que o histórico do HubSpot diz sobre conversão por BU. Não construir solução em cima de premissa errada.
Validar com o LDR antes de escalar. Uma BU funcionando bem vale mais do que quatro pela metade.
Pontuar retroativamente os últimos 30 dias e verificar se o modelo discrimina o que já converteu. Calibrar com histórico antes de comprometer cadência de BDR.
Ajustar pesos com dado real, escalar automação e definir ritmo de calibração. Fechar o ciclo de aprendizado antes de aumentar volume.