Pular para conteúdo

Conteúdo Infinito

Sistema de nutrição automatizada de leads comerciais da Bepex. Seleciona leads do Pipedrive, escolhe conteúdo relevante via IA, redige mensagens personalizadas e dispara por email (Amazon SES) ou WhatsApp (Chatwoot via Make.com). Após envio, agenda automaticamente a próxima interação respeitando a frequência configurada por lead. Roda no n8n self-hosted.

O que é

Nutrição contínua da base do Pipedrive. Diferente das Ofertas (campanhas pontuais com prazo), o Conteúdo Infinito é o motor de comunicação recorrente com quem já está na base — mantém a marca lembrada e reabre conversa comercial via conteúdo.

Stack: n8n (orquestração) · Make.com (envio WhatsApp) · Pipedrive (CRM) · OpenRouter (IA) · Amazon SES (email) · PostgreSQL (fila + pool de conteúdos) · Redis (feriados) · Chatwoot (WhatsApp).

Status atual

EM PRODUÇÃO desde abril 2026. Fila mode (v2) ativo desde maio 2026. O pipeline (WF1→WF2→WF3) está intacto e saudável, mas ocioso hoje: o WF0 (A Ignição — a "torneira" que cria as atividades) está inativo e a base de atividades abertas foi zerada em 2026-07-06 para reprocessar toda a base com a nova estratégia de cadência clusterizada. Aguarda a definição final da frequência por cluster (Rafael) para montar a nova ignição.

Item Estado
WF0 — A Ignição Inativo (fila vazia; religar com ignição controlada — ver estrategia.md)
WF1 — Motor de IA Ativo (cron */5 8-17 seg-sex), em auto-pausa por fila vazia
WF2 — Fila de Disparo Ativo e saudável (branch email independente do WhatsApp)
WF3 — Gestão de Cadência Ativo (com guard de idempotência desde 2026-07-03/04)
WF4 — Opt-out Email Ativo (lógica nuançada por canal, corrigida em 2026-07-03)
Base de atividades Backlog zerado em 2026-07-06 (soft-delete Pipedrive; backup em ARQUIVOS)
Segmentação de clusters Aprovada em princípio (2026-07-08), ainda não implementada no WF3

Fixes críticos recentes (resumo)

  • WF4 Opt-out (corrigido 2026-07-03): o IF checava um campo inexistente (nutricao_unsubscribed) desde a ativação (2026-04-07) — nenhum clique em descadastro atualizava o Pipedrive por 3 meses. Corrigido com lógica nuançada por canal (opt-out de email não derruba WhatsApp, exceto quando o email era o único canal aberto). 3 leads reais remediados manualmente.
  • WF3 guard de idempotência (2026-07-03/04): o WF3 criava a próxima atividade incondicionalmente, permitindo duplicatas quando o mesmo webhook era chamado mais de uma vez. Corrigido com um guard que consulta as atividades abertas da pessoa e só cria se não houver do mesmo canal. A primeira versão do guard tinha um bug de filtro (pego no teste E2E) que teria bloqueado a cadência inteira. Decisão fail-open consciente.
  • Backlog zerado (2026-07-06): 1.433 atividades abertas órfãs (633 email + 800 whatsapp) apagadas (soft-delete), mantidas as 1.658 concluídas. Não era falha de pipeline (WF1/WF2/WF3 provados saudáveis) — era resíduo de um UPDATE em massa da nutricao_fila em 06/05.

Cronologia completa (incluindo o "bug do bug") em historico.md.

Arquitetura resumida

WF0 (A Ignição) — manual, cria atividades de nutrição no Pipedrive
    ↓
WF1 (Motor de IA) — cron */5 8-17 seg-sex, processa fila PostgreSQL
    │  IA Etapa 1: classifica lead + escolhe conteúdo do pool
    │  IA Etapa 2: redige mensagem personalizada (2 frases, 35 palavras)
    ↓
WF2 (Fila de Disparo) — webhook
    │  Email → Amazon SES direto  ·  WhatsApp → Make.com (Vendas1-6)  ·  Sem contato → fecha
    ↓
WF3 (Gestão de Cadência) — webhook, callback pós-envio
    │  Marca done → valida aceita_comunicacao → calcula próxima data (frequência + feriados)
    │  → guard de idempotência → cria próxima atividade
    ↓
WF4 (Opt-out Email) — webhook, processa unsubscribe (nuançado por canal)

WF-Resumo-IA — manual, gera resumo de conteúdo para o pool

Detalhamento nó-por-nó em arquitetura.md.

Decisões arquiteturais importantes

  1. Fila mode (v2) vs. loop direto (v1): migrado para fila PostgreSQL (nutricao_fila) em maio 2026 para evitar race conditions, sobrecarga de IA e duplicatas. WF1 busca tudo mas processa 3/ciclo.
  2. Email arquiteturalmente independente do WhatsApp: o WF2 separa por canal; religar email sem depender do WhatsApp é possível hoje (a dependência que existiu foi operacional, não técnica).
  3. Sem contato = dead end: lead sem email/phone tem a atividade fechada sem criar próxima (evita loops infinitos).
  4. Unsubscribe granular por canal validado no WF3 antes de criar a próxima atividade.
  5. SES raw body (workaround obrigatório do n8n — o node nativo double-encodes @).
  6. Make callback com filtro de tag:tag="nutricao" dispara o callback pro WF3.
  7. RFM abandonado em favor de 6 clusters nativos (2026-07-03): RFM cobria só 2,3% da base e não era recalculado desde 2024-08. Ver estrategia.md.
  8. Cadência: um calendário por canal, tipo alternado (nutrição/reativação alternam no mesmo calendário) em vez de dois relógios independentes que colidem. Ver estrategia.md.
  9. Guard de idempotência é fail-open, não fail-closed (lição do bug do WF4).

Como operar no dia a dia

Monitorar saúde

  1. Verificar execuções recentes do WF1 no n8n — quando alimentado, ~60 execuções/dia (a cada 5 min, 8h-17h).
  2. Verificar se há items processing stuck na nutricao_fila (devem ser 0; se >0, investigar).
  3. Auto-pausa: WF1 pausa sozinho quando o Pipedrive retorna vazio; resume automaticamente às 8h do dia seguinte.

Adicionar conteúdos ao pool

  • Formulário n8n: workflow Cadastro Pool de Conteúdos (ID em referencia-tecnica.md).
  • Ou inserir diretamente na tabela pool_conteudos via Probe.

Rodar WF0 (criar novas atividades)

  • Executar manualmente no n8n (ID em referencia-tecnica.md).
  • Cuidado: gera 2 atividades por pessoa (email + whatsapp) — respeitar batch sizes. Para religar só email sem WhatsApp, ver o plano em estrategia.md.

Índice da subpasta

Documento Conteúdo
README.md (este) Visão executiva, status, decisões-chave, como operar
arquitetura.md Fluxo nó-por-nó de cada workflow, fila mode, decisões de design
referencia-tecnica.md IDs, credenciais (nomes), endpoints, custom fields, SQL, clusters
historico.md Cronologia completa de bugs, fixes e decisões (abril–julho 2026)
estrategia.md Segmentação de clusters + cadência, plano de religamento do email, deliverability
ARQUIVOS.md Manifesto dos anexos (HTMLs, backups, prompts, relatórios) que vivem no Drive

Skills relacionadas

Skill Quando usar
n8n-bepex-conteudo-infinito Arquitetura detalhada, nós críticos, pool_conteudos, pegadinhas
n8n-bepex Acesso ao n8n, auth, REST API, exfiltração de dados
n8n-bepex-pipedrive Custom fields, filtros, rate limits do Pipedrive
n8n-bepex-teste-pipeline-e2e Protocolo de teste ponta a ponta
make-bepex Cenários Make Vendas1-6, blueprint, webhook
amazon-ses-bepex Envio via SES, domínios, DKIM