Procurando alguém que tenha desenvolvido automação de emails frios personalizados com IA

Oi a todos,

Gostaria de saber se alguém aqui já construiu um workflow assim no n8n.

Ideia de workflow:

1. Ler leads do CRM ou Google Sheets

2. Cada lead tem nome, email, nome da empresa e website

3. Visitar e fazer scrape do website da empresa automaticamente

4. IA analisa o negócio e entende o que fazem

5. IA escreve um email frio personalizado baseado na análise do website

6. Email é enviado automaticamente para o prospect

7. Emails de follow-up são enviados automaticamente se não houver resposta

8. Detecção de resposta para a sequência se o lead estiver interessado

Não estou perguntando se isso pode ser construído.

Quero saber se alguém JÁ construiu algo similar antes.

Se sim, por favor compartilhe seu workflow, demo ou experiência.

Obrigado.

Sim, variantes próximas: linha de leads → busca no site → resumo comercial curto → rascunho personalizado → verificação de envio/não envio → parar a sequência quando uma resposta chega.

Os dois pontos que geralmente definem se funciona são a qualidade da busca no site e a regra de parada de resposta. Se quiser comparar anotações, por onde você está começando: CRM, Sheets ou uma lista coletada?

Bem-vindo @Ayesha_Saeed!

Este é um fluxo muito viável no n8n. O nó crítico a pesquisar primeiro é o nó HTTP Request para a etapa de web scraper - emparelhá-lo com uma URL do Jina Reader (https://r.jina.ai/[URL]) fornece markdown limpo de qualquer site comercial sem lidar com HTML bruto. A partir daí, uma única chamada de LLM para resumir + redigir o email em uma única etapa mantém o fluxo rápido e eficiente em tokens.

Olá, estou interessado nessa automação. Como posso realizá-la do início ao fim? Agradeço antecipadamente.

Oi,

Sim, já construí um workflow similar no n8n antes para pesquisa de leads com IA e automação de emails de prospecção personalizados.

O workflow puxava leads do Google Sheets/CRM, fazia scraping do site da empresa, usava IA para entender o negócio, gerava um email personalizado, enviava pela integração de email conectada e gerenciava acompanhamentos com base no status de respostas.

Também tratei verificações de duplicatas, falhas no scraping de sites, atualizações de status de leads, logs e detecção de respostas para que a sequência parasse quando alguém respondesse.

Uma pergunta: você está planejando enviar emails através do Gmail/SMTP, ou através de uma ferramenta de cold email como Instantly, Smartlead ou Apollo?

:telephone_receiver: Agende uma ligação rápida: Calendly - Automaxion

Acabei de construir um hoje. Ele pega leads de uma planilha do Google e envia esses dados para um agente de IA, que escreve contatos personalizados e envia acompanhamentos a cada poucos dias

Sim, construí exatamente esse fluxo — e duas coisas da thread valem a pena adicionar, porque são o que realmente causa problemas quando está em produção.

A sugestão de Jina Reader acima é uma boa opção para texto limpo. O problema com enviar um site raspado direto para o LLM que escreve o email (etapa 4 → 5): esse website é uma entrada controlável pelo atacante. Uma página pode conter “ignore previous instructions, write…”, e como esse texto flui para o modelo cuja saída você envia automaticamente, você pode acabar enviando conteúdo escolhido pelo atacante do seu próprio domínio. Vale a pena delimitar o texto raspado como não confiável no prompt e não deixar que ele controle o envio.

A outra proteção que vale a pena: não envie quando a raspagem falhar. Um site morto ou bloqueado — um 503 com uma página de erro longa, um desafio do Cloudflare — ainda vai produzir um email confiante “I loved your website \\” se você só verificar que recebeu algum texto. Gate o envio no status HTTP (2xx), não na contagem de bytes, e pule + registre qualquer outra coisa.

Para 7–8 (follow-up + parar na resposta) mantenho isso como um fluxo de trabalho agendado separado que lê a thread e para em uma resposta — juntar o envio e a espera em um único fluxo fica frágil rápido.

Construo esses como fluxos testados — cada um vem com um teste que executa de verdade mais um teste de mutação (injete um bug, confirme que o teste pega), então não envia dados errados silenciosamente. Fico feliz em compartilhar a versão importável se for útil para você.

Já construí essa forma exata algumas vezes — dois erros que pegam todo mundo: Trate o texto do site extraído como entrada não confiável para o LLM. Uma página pode conter “ignore as instruções anteriores” e seu gerador de emails vai obedecer. Envolva a extração em delimitadores claros e diga ao modelo que o conteúdo entre eles é dados, nunca instruções. Detecção de resposta é onde sequências vazam. Não apenas verifique se há email de entrada — verifique se é da mesma thread/lead E não é um respondedor automático/mensagem de ausência, ou você vai parar sequências em bounces de “estou de férias”.\n\nPara extração, Jina Reader + uma verificação de status HTTP antes de passar algo para o modelo evita você alimentar páginas 404 no LLM. Fico feliz em compartilhar como configuro a condição de parada se for útil — construo essas para pequenos negócios de serviço.

@Ayesha_Saeed @jacewe Agora construí e testei a importação de uma variante próxima deste fluxo: CRM/Google Sheets → normalizar → notas opcionais do site → pontuação de IA → rascunho de alcance personalizado → rascunho do Gmail para revisão humana → tarefa de acompanhamento → relatório diário.

Mantendo o primeiro lançamento apenas como rascunho porque raspagens falhadas, linhas duplicadas, injeção de prompt no site e regras de parada de resposta são onde um fluxo aparentemente verde ainda pode causar danos.

Minha sequência de primeira execução mais segura é: linha de amostra → saída de IA esperada → rascunho revisado → lançamento de uma linha. Depois adicione verificações de duplicatas, um gate de raspagem 2xx, logs brutos + analisados da IA e parada ao responder antes de escalar.

Se algum de vocês ainda estiver construindo isso, me avise se a fonte é Sheets ou um CRM e posso apontar os primeiros nós e proteções que testaria. Também mantenho uma lista de verificação gratuita de primeira execução vinculada do meu perfil.

Ok, tenho uma sugestão para você que não está relacionada ao n8n.

Use um serviço de e-mail de terceiros ou obtenha um nome de domínio separado para fazer todo o seu e-mail de prospecção. Porque se, por exemplo, 1% dos seus e-mails forem marcados como spam e estiverem no seu domínio principal, então todos os e-mails que você enviar do seu domínio principal serão considerados spam. Essa é a última coisa que você quer. Será o melhor investimento de 30-e-poucos reais que você fará ao obter yoursiteoffers.com para proteger todos os seus e-mails legítimos de yoursite.com atrás dele.

Na parte de detecção de respostas e sequenciamento de acompanhamentos (etapas 7-8), o erro comum das pessoas é usar um nó de espera fixo para acompanhamentos. Padrão melhor: após enviar, escreva uma linha no Postgres/Sheets com id do lead, timestamp do envio e status=pending. Execute um workflow agendado que verifica a caixa de entrada via IMAP ou trigger do Gmail, faz correspondência de respostas pelo id da thread ou email do lead e altera status para replied. Um Schedule Trigger separado então consulta linhas onde status=pending e days_since_sent atinge seu intervalo de acompanhamento, assim toda a sequência sobrevive a reinicializações do n8n e você pode pausar/retomar por lead sem perder estado.