# 03_Configuration_Extract.md — Pipeline, Campos y Tags (Fase C) **Fuente:** `02_Conversation_Flow_Final.md` (aprobado) · **Fecha:** 29-oct-2026 **Regla:** este MD es la fuente de verdad. Los artifacts 02, 03, 06 y 11 se generan de aquí. **Cero referencias fantasma:** todo campo/tag que use un artifact posterior debe existir en este archivo. --- ## 1. Pipeline — "Crop Booster · Webinar Funnel" (6 stages intermedios) | # | Stage (ES) | Entry criteria | Exit criteria | Bot mapping | |---|---|---|---|---| | 1 | Lead Identificado | Contacto creado (importación Expo, form web, DM) | Primera respuesta del bot | Fase 0 — saludo | | 2 | Calificado | Dos-vías iniciada | Riego + cultivo + hectáreas + región capturados | Pasos 2–6 | | 3 | Webinar Confirmado | Cupo confirmado (jue/vie/otro) | Asistencia o no-show | Paso 7 → STOPBOT_WEBINAR | | 4 | Reunión/Demo Agendada | Asistió y quiere profundizar, o no pudo asistir | Reunión/demo realizada | Humano/workflow | | 5 | Cotización Enviada | Propuesta con precio | Respuesta del cliente | Humano | | 6 | Negociación | Cambios/objeciones | Acuerdo | Humano | Won/Lost: automáticos de GHL (no se diseñan). DQ A–E: el contacto se mueve a **Lost** con `disqualification_reason` + tag. ## 2. Contact Fields | # | Label (GHL) | Key | Type | Paso | Opciones / ejemplo | |---|---|---|---|---|---| | 1 | Cultivo principal | `cultivo_principal` | Single Select | 2 | Palma · Arroz · Fresa · Aguacate · Cítricos · Hortalizas · Café · Otro | | 2 | Hectáreas en producción | `hectareas` | Single Select | 3 | Menos de 5 · 5 a 20 · 20 a 50 · 50 a 100 · Más de 100 | | 3 | Región / Departamento | `region` | Single Select | 4 | Meta · Casanare · Valle · Antioquia · Boyacá · Tolima · Huila · Otra | | 4 | ¿Tiene sistema de riego? | `tiene_riego` | Radio | 5 | Sí · No | | 5 | Dolor principal | `dolor_principal` | Single Select | 6 | Rendimiento · Costos de insumos · Calidad del fruto · Uso del agua | | 6 | Horario webinar | `horario_webinar` | Single Select | 7 | Jueves 05-nov 19:00 · Viernes 06-nov 18:00 · Otro horario | | 7 | Origen del contacto | `origen_contacto` | Single Select | import/form | Expo Agrofuturo · Web · WhatsApp · Referido · Otro | | 8 | Bot status | `bot_status` | Single Select | sistema | En conversación · Webinar confirmado · Descalificado · Derivado a humano | | 9 | Motivo de descalificación | `disqualification_reason` | Text | sistema | "Sin riego instalado" | | 10 | Resumen de conversación | `bot_conversation_summary` | Text Area | sistema | Resumen del bot para el humano | **Estándar (no custom):** Nombre (`name`), Email (`email`), Teléfono (`phone`). ## 3. Opportunity Fields | # | Label | Key | Type | Uso | |---|---|---|---|---| | 1 | Fecha de entrada al stage | `pipeline_stage_entered` | Date | Velocidad del pipeline | | 2 | Valor de propuesta | `proposal_value` | Number | Tracking del deal | | 3 | Fecha esperada de cierre | `expected_close_date` | Date | Forecast | | 4 | Fuente del deal | `deal_source` | Text | Atribución | *(`disqualification_reason` y `bot_conversation_summary` viven en CONTACT — regla del rules file: solo `proposal_value` y `expected_close_date` son de deal.)* ## 4. Tags (inglés, system-independent) | Categoría | Tags | Cuándo se aplica | Cuándo se quita | |---|---|---|---| | Source | `source-expo-agrofuturo` · `source-web` · `source-whatsapp` · `source-referido` | Importación/form | Nunca | | Pipeline | `pipeline-lead-identificado` · `pipeline-calificado` · `pipeline-webinar-confirmado` · `pipeline-reunion-agendada` · `pipeline-cotizacion` · `pipeline-negociacion` | Al mover el stage | Al pasar al siguiente | | DQ | `dq-budget-too-low` · `dq-wrong-profile` · `dq-no-decision-maker` · `dq-out-of-range` · `dq-revenue-too-low` | Al descalificar | Nunca | | Bot events | `webinar-confirmed` · `human-requested` · `pricing-requested` · `bot-off` | Durante la conversación | `bot-off` se quita al reactivar | | Workflow | `webinar-attended` · `webinar-no-show` · `webinar-reminder-sent` · `nurture-active` | Workflows post-evento | `nurture-active` al comprar/descalificar | ## 5. Probabilidades de stage (Opportunity Forecasting) Cada % = probabilidad acumulada de cierre **desde ese stage**. Alimentan el toggle "Opportunity Forecasting" de GHL (Labs) → `valor del deal × probabilidad` = forecast. | # | Stage | Prob. | Fundamento | |---|---|---|---| | 1 | Lead Identificado | **10%** | Contacto importado/creado sin respuesta. Las listas de eventos convierten ~5–15% a reunión | | 2 | Calificado | **25%** | Respondió y cumple perfil (riego + cultivo + hectáreas + región), pero sin compromiso de agenda | | 3 | Webinar Confirmado | **40%** | Confirmar ≠ asistir: el no-show de webinars B2B ronda 40–50% | | 4 | Reunión/Demo Agendada | **60%** | Asistió (o agendó el fallback 1:1) y el equipo técnico ya vio su caso — señal de compra más fuerte | | 5 | Cotización Enviada | **80%** | Propuesta con precio en mano; solo llega quien ya vio el caso aplicado a su finca | | 6 | Negociación | **90%** | Cambios/objeciones finales; el cierre depende de logística, no de convencimiento | **Regla de recalibración:** estas cifras son hipótesis de arranque, no historia. Después de la primera cohorte (webinar 05–06 nov) se recalculan con datos reales: `asistencia = asistentes ÷ confirmados` · `reunión = agendadas ÷ asistentes` · `cierre = cerrados ÷ cotizados` y se reemplazan los % de los stages 3–6. Hasta entonces, el dashboard muestra la nota "probabilidades iniciales — recalibrar post cohorte 1". ## 6. Cross-reference check - [x] Cada `{{contact.field_key}}` del flujo final existe arriba (6 campos de bot + 3 sistema + origen) - [x] Cada tag usado en el flujo existe en la biblioteca - [x] Cada stage mapea 1:1 con una fase del bot o a humano - [x] DQ A–E tienen stage destino (Lost) y tag