Publicado: 10 de agosto de 2026

Presupuesto de prospección B2B en n8n

Presupuesto de prospección B2B en n8n | Logixb2b

Capas EUR → validar → TCO + ranking → semáforo → Sheets Presupuesto_Prospeccion + Historial (Europe/Madrid).

Calcula el presupuesto de prospección B2B en n8n: capas EUR, TCO, semáforo y Sheets. Europe/Madrid RGPD.

Descarga el workflow

JSON listo para importar en n8n (Import from File). Sustituye solo REEMPLAZA_* y credenciales.

Qué problema resuelve el calculador de presupuesto

Antes de renovar Apollo, Clay, Cognism o Instantly, necesitas una cifra única: el TCO mensual de prospección. Este flujo suma capas en EUR, calcula coste por lead, marca la capa más cara, avisa si rompes el techo y deja traza en Sheets Presupuesto_Prospeccion más un historial ligero en Presupuesto_Historial.

No envía SMTP ni guarda emails de contactos: solo importes agregados y semáforos. Sirve a freelancers y equipos 1-10 en España/UE que quieren decidir con números, no con intuición. Zona horaria Europe/Madrid.

La guía educativa está en /cuanto-cuesta-automatizar-prospeccion-b2b-presupuesto-real. Cuando el techo esté estable, conecta listas (/recursos/formularios-inteligentes-leads-n8n) y verificación; no al revés. El companion existe para cerrar el presupuesto antes de escalar volumen.

Qué necesitas antes de importar el JSON

Una instancia n8n (Cloud o self-hosted) y un techo mensual escrito (<code>budgetCapEur</code>). Sin techo, el semáforo no aporta nada y el Slack de alerta no tiene sentido.

Credenciales mínimas en producción: Google Sheets OAuth con pestañas Presupuesto_Prospeccion y Presupuesto_Historial, más un Slack Incoming Webhook. OpenAI solo si <code>enableAiBrief=true</code>.

Rellena capas EUR, <code>leadsTargetMonth</code>, <code>avgWonLeadValueEur</code> y sustituye todos los <code>REEMPLAZA_*</code> antes de Active. El archivo es JSON estricto (regenerado con JSON.stringify): usa Import from File, no pegues el contenido a mano. Si dejas placeholders, el flujo marca <code>skipSheets</code>/<code>skipSlack</code> y sigue hasta el resumen local (útil para demo).

Mapa del lienzo paso a paso

Sticky INSTRUCCIONES + COLUMNAS SHEETS → Manual Trigger → Config capas EUR → Validar Config → IF config válida. En el lienzo también hay Form Trigger y Schedule semanal desconectados para cablear en producción.

Si la config es inválida: Slack de error (continueOnFail) y Stop. Si es válida: Calcular TCO mensual (ranking, ROI, stackHealth, executiveBrief local) → IF dentro del techo.

Fuera de techo: IF avisar Slack (se salta si hay REEMPLAZA_*) → Restaurar cifras. Dentro: passthrough. Luego IF enableAiBrief (HTTP OpenAI opcional) o passthrough → Limpiar fila Sheets.

IF escribir Sheets: Append Presupuesto_Prospeccion + Presupuesto_Historial, o Skip demo. Luego IF Slack OK → Resumen final local con ok=true. Sin nodos Merge frágiles: las ramas IF se unen al mismo nodo siguiente.

Con placeholders REEMPLAZA_* el Manual Trigger completa el demo de punta a punta sin credenciales. Nodos nativos (Code, IF, HTTP, Sheets, Form, Schedule): no depende de LangChain.

Config: capas EUR y supuestos

Seis capas: <code>dataProvidersEur</code>, <code>verifyApiEur</code>, <code>espWarmupEur</code>, <code>vpsN8nEur</code>, <code>crmSeatsEur</code>, <code>hoursOpsEur</code>. Cada una es un número; el Code de validación y el de TCO toleran coma decimal.

<code>budgetCapEur</code> es el techo político. <code>leadsTargetMonth</code> evita dividir entre cero. <code>expectedMeetings</code>, <code>avgWonLeadValueEur</code> y <code>closeRate</code> (por defecto 0,25) alimentan un ROI orientativo: cámbialo en el Code si tu embudo es otro. No uses ese ROI como promesa comercial.

<code>enableAiBrief=false</code> en la primera prueba. <code>demoMode</code> es informativo; el cálculo corre igual. <code>batchLabel</code> debe incluir fecha Europe/Madrid para no mezclar revisiones. <code>teamSize</code> queda en el payload por si luego cruzas informes.

Validación, TCO, ranking y semáforo

Validar Config comprueba números ≥0, batchLabel mínimo y decide skipSheets/skipSlack si aún hay REEMPLAZA_* o flags explícitos. Si falla, no llega a Sheets.

monthlyTotal suma las seis capas. costPerLead = monthlyTotal / leadsTargetMonth. rankedLayers ordena de mayor a menor; topLayerName y topLayerEur señalan dónde cortar primero. overByEur / underByEur cuantifican la distancia al techo.

withinBudget compara con budgetCapEur. stackHealth: verde (dentro y ROI≥3), ámbar (dentro pero ROI flojo), rojo (fuera de techo). recommendation es una frase operativa, no un KPI de bonus. Las reuniones reales viven en el CRM; este flujo confronta supuestos de coste.

Briefing OpenAI opcional (HTTP)

Si enableAiBrief=true, el flujo arma un prompt con las cifras ya calculadas y llama a chat/completions. El modelo no debe inventar otras cantidades: solo redactar 5-7 frases en español.

Pon openaiApiKey=REEMPLAZA_OPENAI_API_KEY en Config o mueve el Bearer a Header Auth en el nodo HTTP. Modelo por defecto gpt-4o-mini. executiveBrief se recorta a 1200 caracteres antes de Sheets.

Si falla la API, deja enableAiBrief=false: el passthrough genera un executiveBrief local suficiente para auditoría. Activar LLM os convierte en deployers bajo el EU AI Act Art. 4: forma a quien edita el prompt.

Sheets Presupuesto_Prospeccion, Historial y Slack

Crea Presupuesto_Prospeccion con: fecha, batchLabel, runSource, monthlyTotal, costPerLead, budgetCapEur, withinBudget, overByEur, underByEur, stackHealth, roiRatio, topLayerName, topLayerEur, las seis capas, recommendation, executiveBrief, layerBreakdownText, complianceFlag.

Presupuesto_Historial puede ser más corta (fecha, batchLabel, runSource, monthlyTotal, stackHealth, topLayerName, costPerLead, withinBudget) para ver tendencias quincenales sin saturar la hoja principal.

Slack techo dispara en rojo. Slack OK resume TCO, health y capa top tras el Append (o tras skip en demo). Prohibido meter emails o teléfonos de leads en estas hojas: el presupuesto es agregado; el inventario de contactos va en otro recurso.

Prueba Manual, Form Trigger y Schedule

Importa assets/workflows/presupuesto-prospeccion-b2b-n8n.json con Import from File. Ejecuta Manual Trigger con enableAiBrief=false. Si aún tienes REEMPLAZA_*, verás skipSheets/skipSlack=true y el Resumen final local con ok=true.

Valida que withinBudget y stackHealth coinciden con tu suma a mano. Fuerza un techo bajo una vez (conectando Slack real) para ver la alerta y la restauración de cifras hacia el briefing.

Producción: sustituye Manual por Form Trigger con los mismos campos EUR; demoMode=false; credenciales Sheets reales. Documenta quién puede subir budgetCapEur. El Schedule semanal (hora 9 Europe/Madrid) se cablea a Marcar source schedule → Config solo cuando quieras revisiones automáticas; por defecto está desconectado para no disparar al activar el workflow.

VPS UE 24/7 y equivalentes Make/Zapier

Self-hosted: Docker Compose + Postgres + HTTPS + GENERIC_TIMEZONE=Europe/Madrid + N8N_ENCRYPTION_KEY. Backups antes de Active. El VPS suele ser la línea más barata en euros y la más cara si se apaga (rompe cron y webhooks).

Make: Webhook formulario EUR → Math TCO → Router techo → (opcional) OpenAI → Google Sheets + Slack. Misma lógica de capas y semáforo.

Zapier: Form → Calculator → Paths ok/over → AI brief opcional → Sheets → Slack. El JSON n8n es el esqueleto de referencia; no copies secretos al repositorio.

RGPD, minimización y EU AI Act

Este flujo trata importes agregados. Las capas de datos y verificación del negocio sí tratan PII: documenta base jurídica y retención aparte, en los recursos de listas y verify.

Si activas HTTP Brief OpenAI sois deployers bajo el Reglamento (UE) 2024/1689 Art. 4: alfabetización de quien configura prompts y valida salidas.

Detalle editorial: /uso-responsable-de-ia-y-transparencia. Texto informativo; no es asesoramiento legal ni financiero. Guía del artículo: /cuanto-cuesta-automatizar-prospeccion-b2b-presupuesto-real (publicado 10 de agosto de 2026).

Preguntas frecuentes

¿Este flujo envía cold email?

No. Solo calcula y registra presupuesto. El envío va en otros recursos tras verificar.

¿Qué es stackHealth?

verde = dentro del techo y ROI≥3; ámbar = dentro pero ROI flojo; rojo = TCO por encima de budgetCapEur.

¿Hace falta OpenAI para importar?

No. Con enableAiBrief=false el brief local basta. OpenAI solo si activas el HTTP Brief.

¿Por qué n8n decía JSON inválido?

Una versión anterior tenía una coma sobrante. Esta plantilla se regenera con JSON.stringify: vuelve a descargar e Import from File.

¿Puedo probar sin Sheets ni Slack?

Sí. Deja REEMPLAZA_* o fuerza skipSheets/skipSlack: el flujo llega al Resumen final local con ok=true.

¿Para qué sirve Presupuesto_Historial?

Para ver tendencias quincenales (TCO, health, capa top) sin saturar la hoja principal de supuestos.

¿Dónde está la guía del artículo?

En /cuanto-cuesta-automatizar-prospeccion-b2b-presupuesto-real (publicado 10 de agosto de 2026).