Campaigns — Constructor de Campañas (Wizard)
URL:
/ou/{orgId}/campaign-builderPrerrequisito: Canal activo (WhatsApp) + Plantillas aprobadas por Meta
1. Estructura del Wizard
El constructor es un wizard de 6 etapas con indicador visual de progreso en la parte superior:
① Importar ② Visualizar ③ Seleccionar ④ Configurar ⑤ Configuración ⑥ Resumen
Contactos Contactos modelo modeloCada etapa muestra:
- Ícono representativo
- Nombre de la etapa
- Indicación visual de la etapa actual
2. Etapa 1: Importar Contactos 👥
"Cargue un archivo CSV con la información de sus leads"
2.1 Tab: Importar CSV (por defecto)
| Elemento | Tipo | Descripción |
|---|---|---|
| Área de carga | Drag & drop | "Haga clic para cargar o arrastre y suelte" |
| Choose File | Button | Selector de archivo del sistema |
| Formatos soportados | — | CSV, XLS, XLSX |
| Tamaño máximo | — | 4.5 MB |
2.2 Tab: Seleccionar Contactos (NUEVO)
| Elemento | Descripción |
|---|---|
| Función | Seleccionar contactos de la base existente de Darwin AI |
| Estado | NUEVO — funcionalidad reciente |
Funcionamiento:
- Muestra la tabla completa de contactos de la base
- "Todo el historial" — contador de seleccionados
- "Seleccionar todos los contactos de la tabla" — checkbox para selección masiva
- Columnas: Nombre, Tipo, Estado, Canal, Lead, Pipeline, Etapa, Creado en, Transferido a, Transferido en, Próximo seguimiento, Última respuesta del lead, Origen, ✨ Campos Personalizados
- Paginación completa
2.3 Plantilla CSV
| Acción | Descripción |
|---|---|
| Descargue el archivo de modelo aquí | Descarga de la plantilla CSV para rellenar |
2.4 Navegación
| Botón | Estado inicial | Condición para habilitar |
|---|---|---|
| Siguiente | Deshabilitado | Carga de CSV O selección de contactos |
3. Etapa 2: Visualizar Contactos 👥✅
"Asegúrese de que todas las columnas estén correctamente etiquetadas e indique qué columna contiene el número de teléfono de los leads."
3.1 Optimización de Campaña
| Elemento | Tipo | Descripción |
|---|---|---|
| Toggle | Switch | Activo/Inactivo |
| Descripción | — | "La Optimización de Campaña excluye automáticamente los contactos que coincidan con sus reglas de filtro. Agregue al menos una regla para activarla." |
3.2 Validación de Contactos
| Elemento | Descripción |
|---|---|
| Alerta de éxito | "¡Todo bien con su lista! Cruzamos los datos y ninguno de estos contactos estaba inactivo en campañas anteriores." |
| Filtrar Contactos | Button con conteo de contactos |
3.3 Mapeo de Columnas
| Campo | Tipo | Descripción |
|---|---|---|
| Número de teléfono | Combobox | Selecciona qué columna contiene el teléfono (ej: "Phone Number") |
3.4 Vista Previa de la Tabla
| Columna | Descripción |
|---|---|
| Name | Textbox editable — mapeo de la columna nombre |
| Phone Number | Textbox editable — columna de teléfono |
| Channel | Textbox editable — canal de origen |
| ✨ Campos Personalizados | Textbox editable — campos personalizados |
3.5 Navegación
| Botón | Descripción |
|---|---|
| Volver | Regresa a la Etapa 1 |
| Siguiente | Avanza a la Etapa 3 |
4. Etapa 3: Seleccionar Modelo 📋
"Seleccione un modelo para su campaña""Por favor, elija el canal y el modelo que desea usar para enviar su mensaje a los leads que seleccionó anteriormente."
4.1 Barra de Acciones
| Elemento | Tipo | Descripción |
|---|---|---|
| Buscar modelos | Textbox | Búsqueda por nombre/contenido |
| Filtros | Button con badge | Filtros avanzados |
| Número - Nombre del Canal | Combobox | Selector del canal WhatsApp |
| Actualizar modelos | Button | Sincroniza plantillas con Meta |
4.2 Tabla de Plantillas
| Columna | Descripción |
|---|---|
| Radio | Seleccionar plantilla |
| Nombre del modelo | Nombre + Meta BM ID |
| Mensaje | Vista previa + "Ver más" |
| Tipo de Plantilla | Marketing, Utilitario |
| Fecha de creación | Fecha de aprobación |
| Estado | approved, pending, rejected |
4.3 Plantillas Disponibles
| Nombre | Tipo | Mensaje |
|---|---|---|
| Follow up 2 pt-pt | Marketing | "Não hesite em contactar-me caso necessite de apoio..." |
| Follow up 1 pt-pt | Utilitario | "Chegaste a ver a minha última mensagem?" |
| Contato inicial | Marketing | "Olá, tudo bem? Falamos do Mais Carros..." |
4.4 Acciones
| Acción | Descripción |
|---|---|
| Solicitar nuevo modelo | Enviar plantilla para aprobación de Meta |
| Volver | Regresa a la Etapa 2 |
| Siguiente | Deshabilitado hasta seleccionar una plantilla |
5. Etapa 4: Configurar Modelo ⚙️
"Configure su modelo""Asocie los marcadores de posición del modelo a las columnas del CSV haciendo clic en ellos."
5.1 Vista Previa del Mensaje
| Sección | Contenido |
|---|---|
| Cuerpo | Texto completo de la plantilla seleccionada |
5.2 Mapeo de Variables
- Si la plantilla contiene marcadores de posición (ej:
{{nome}}), aparecen aquí para el mapeo con columnas del CSV - Las plantillas sin variables se saltan directamente
5.3 Navegación
| Botón | Descripción |
|---|---|
| Volver | Etapa 3 |
| Siguiente | Etapa 5 |
6. Etapa 5: Configuración 🎚️
6.1 Campos de la Campaña
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Nombre de la Campaña | Textbox | ✅ | Identificador de la campaña |
| Origen | Textbox | ✅ | Placeholder: "Ejemplo: CRM, HubSpot, Base de Ventas 2023" |
| Pipeline Inicial | Combobox | ✅ | Pipeline para procesar respuestas (ej: "Calificación de Ventas") |
6.2 Fecha de Inicio
| Opción | Descripción |
|---|---|
| Iniciar ahora (por defecto) | Envío inmediato tras la confirmación |
| Programar | Fecha y hora específicas |
6.3 Días de la Semana
Toggle buttons para cada día:
| Día | Por defecto |
|---|---|
| Lun | ✅ Seleccionado |
| Mar | ✅ Seleccionado |
| Mié | ✅ Seleccionado |
| Jue | ✅ Seleccionado |
| Vie | ✅ Seleccionado |
| Sáb | ✅ Seleccionado |
| Dom | ❌ |
Contador: "Seleccionados: X días"
6.4 Intervalo de Envío
| Campo | Por defecto | Descripción |
|---|---|---|
| Horario inicial | 09:00 | Spinbuttons hora/minuto + reloj |
| Horario final | 21:00 | Spinbuttons hora/minuto + reloj |
6.5 Total de Leads
Muestra: "Total de leads seleccionados: X"
6.6 Navegación
| Botón | Estado | Descripción |
|---|---|---|
| Volver | — | Etapa 4 |
| Siguiente | Deshabilitado | Tooltip: "Complete toda la información para continuar" |
7. Etapa 6: Resumen ✅
"Resumen de la campaña""Revise la configuración antes de lanzar la campaña."
7.1 Resumen (tras la carga)
| Campo | Valor (ejemplo) |
|---|---|
| Nombre de la campaña | Test KB |
| Canal | Mais Carros · 351934649174 |
| Destinatarios | 1 |
| Primer mensaje | 14/07/2026 14:28 |
| Último mensaje | 14/07/2026 14:28 (estimado) ℹ️ |
| Ritmo | - |
| Horario de envío | 09:00 - 21:00 |
| Días de envío | lun., mar., mié., jue., vie., sáb. |
| Asignación | Calificación de Ventas |
| Mensaje | Modelo: contato_inicial_ID + texto completo |
ℹ️ Tooltip "Último mensaje": "Esta fecha es una estimación. Puede cambiar si se crea otra campaña en el mismo canal durante este período."
7.2 Navegación
| Botón | Descripción |
|---|---|
| Volver | Regresa a la Etapa 5 |
| Confirmar y lanzar 🚀 | Dispara la campaña |
8. Flujo Completo (Real)
Etapa 1: Importar Contactos
├── Opción A: Carga CSV (arrastrar/soltar, CSV/XLS/XLSX, máx 4.5MB)
│ └── Descargar plantilla CSV para rellenar
└── Opción B: Seleccionar Contactos de la base (NUEVO)
└── Checkbox en la tabla de contactos existentes
Etapa 2: Visualizar Contactos 👥
└── Vista previa y validación
Etapa 3: Seleccionar Modelo 📋
└── Elegir plantilla de WhatsApp aprobada
Etapa 4: Configurar Modelo ⚙️
└── Mapear variables de la plantilla
Etapa 5: Configuración 🎚️
└── Nombre, programación, velocidad, worker
Etapa 6: Resumen ✅
└── Revisión y lanzamiento 🚀9. Post-Lanzamiento
Tras el lanzamiento, la campaña aparece en la Lista de Campañas con:
- Métricas en tiempo real (Entregados, Respondidos, Pendientes, Fallidos)
- Estado actualizado automáticamente
- Posibilidad de pausar/reanudar └── Confirmar → Siguiente
Seleccionar Modelo ├── Elegir plantilla de WhatsApp aprobada └── Confirmar → Siguiente
Configurar Modelo ├── Mapear variables de la plantilla └── Confirmar → Siguiente
Configuración ├── Nombre de la campaña ├── Programación ├── Velocidad de envío └── Confirmar → Siguiente
Resumen ├── Revisar todas las configuraciones └── Lanzar campaña 🚀
---
## 10. Post-Lanzamiento
Tras el lanzamiento, la campaña aparece en la Lista de Campañas con:
- Métricas en tiempo real (Entregados, Respondidos, Pendientes, Fallidos)
- Estado actualizado automáticamente
- Posibilidad de pausar/reanudar