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
UPDATEem massa danutricao_filaem 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¶
- 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. - 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).
- Sem contato = dead end: lead sem email/phone tem a atividade fechada sem criar próxima (evita loops infinitos).
- Unsubscribe granular por canal validado no WF3 antes de criar a próxima atividade.
- SES raw body (workaround obrigatório do n8n — o node nativo double-encodes
@). - Make callback com filtro de tag: só
tag="nutricao"dispara o callback pro WF3. - 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. - 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. - 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¶
- Verificar execuções recentes do WF1 no n8n — quando alimentado, ~60 execuções/dia (a cada 5 min, 8h-17h).
- Verificar se há items
processingstuck nanutricao_fila(devem ser 0; se >0, investigar). - 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_conteudosvia 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 |