Selecciona una conversación
Tip: La AI sigue activa. Para tomar control, dale "Kill AI" primero.
Config del AI
Promociones, instrucciones globales e inventario destacado.
Nueva promoción
Define el tipo, alcance y vigencia. El AI la mencionará cuando sea relevante.
Promociones activas
Vence:
Nueva instrucción global
Reglas que cambian el comportamiento del AI sin tocar código.
Instrucciones activas
Marcar inventario
Destaca, agota o marca en liquidación modelos de casas o proyectos completos.
Inventario marcado
Test Runner
AI vs AI — el bot de ventas vs un cliente simulado por IA.
Generador de Test Cases
Selecciona las variables que quieres combinar. Se genera un test case por cada combinación posible.
Historial de Test Runs
Upload CSV
Sube un CSV con tus test cases personalizados.
Tests
| ID | Zona | Crédito | Goal | T | ✓ |
|---|---|---|---|---|---|
| — ⏳ ✅ ❌ |
Control de Calidad — WhatsApp
Kill switches
Apagar pausa nuevos envíos pero no cancela lo encolado — al volver a prender, los pendientes salen normal.
Quality rating (Meta)
El rating GREEN/YELLOW/RED solo llega vía webhook
phone_number_quality_update
cuando Meta detecta un cambio. Esta card refleja el último evento recibido.
Health status (Dialog360)
¿Puedo mandar mensajes AHORA mismo? Pull en vivo a
/health_status
de Dialog360. AVAILABLE = ok, LIMITED = restringido, BLOCKED = bloqueado.
Templates
| Nombre | Idioma | Categoría | Status | Calidad | Δ vs ayer | Último cambio |
|---|---|---|---|---|---|---|
| Sin templates registrados. | ||||||
Alertas — templates que bajaron de calidad (últimos 7 días)
Reactivación de citas on_hold
Estado de la cola
Outcomes (citas cerradas)
Filas de reactivación
| Cliente | Lead ID | Teléfono | Resumen respuesta | Motivo on_hold | Status | Outcome | NPS | Turnos | Esperaba | Enviado | Cerrado | Notas |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sin filas para mostrar. | ||||||||||||
| — | — | — | — | (sin motivo) | — cita → | — | ||||||
| Nombre | Rol | Activo | Notif. handoff | Telegram chat_id | |
|---|---|---|---|---|---|
| Sin usuarios que coincidan con el filtro. | |||||
/id al bot (@tucasamas_ventasai_bot o el nombre configurado), el bot responde con su chat_id. Cópialo y pégalo aquí.Performance de Ana
Outcomes acumulados de citas creadas por la IA, agrupadas por semana ISO. Actualizado .
Funnel
De conversaciones únicas hasta outcome final. Sin breakdown disponible para conversaciones únicas (la dimensión sólo aplica a citas). % nivel = del paso anterior · % total = del top.
Outcomes por semana ISO
Click en una barra para abrir el detalle de esa semana.
Desglose semanal
| Semana ISO | Agendadas | Para la semana | Micronurturing | Visita | Ganada | Cierres | Resuelve | Perdida | No contactado | No visita | No confirmada | % Win | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| % | |||||||||||||||||||||
|
Citas por día —
· citas para la semana
|
|||||||||||||||||||||
|
Cierres por status —
· cierres cerrados esta semana (por won_at) · incluye cancelados
|
|||||||||||||||||||||
|
Funnel micronurturing —
· citas ·
con MN /
sin MN
"Visitaron" = la cita terminó en visita efectiva (ganada/perdida/resuelve). Útil para ver si más equipamiento se correlaciona con más show-up. |
|||||||||||||||||||||
Ranking por
Ordenado por total de citas — click en una fila para ver los leads.
| Total | Visita | Ganada | % Visita | % Win | No contactado | No confirmada | ||
|---|---|---|---|---|---|---|---|---|
| % | % |
Heatmap — Semana ×
Intensidad = total de citas. Tooltip muestra win-rate. Click en una celda → drill-down.
| Semana | |
|---|---|
Detalle de citas
Clientes en micronurturing
· clientes · visitaron
Salud de Ana
Pipeline de leads por etapa máxima alcanzada + flujos entre etapas. Calculado .
salud_ana_recompute_enabled.
Flujo entre etapas (Sankey)
Transiciones de etapa registradas en el periodo seleccionado.
El plugin de Sankey no cargó — mostrando tabla de transiciones.
| De | A | Leads |
|---|---|---|
Leads en
Nombre · teléfono · ID lead · días en la etapa.
Pulso RFM
Termómetro de señales de la audiencia. Última actualización .
Buckets activos · recencia ↑ · frecuencia →
💡
Estos leads tienen menos de 4 días desde que se registraron en el CRM. Por política, solo el asesor que los registró puede contactarlos durante este periodo. Después de 4 días el sistema los reclasifica solo (Buzz, Rex, etc).
| Proyecto | Phones | M total |
|---|---|---|
| $ |
| Phone | Lead | Stage | Fuente R | R días | F WA | F CRM | M |
|---|---|---|---|---|---|---|---|
| $ | |||||||
| Sin phones que coincidan. | |||||||
→
phones pasaron en los últimos días.
💡 Esta audiencia captura clientes que recientemente cambiaron de bucket — más rescatables que un lead que lleva mucho tiempo en el mismo estado.
Mesa de Control
Workspace de agentes humanos: revisa lo accionable de cada agente (solo conversaciones vivas, ordenadas por última interacción), abre el proceso y chatea con el cliente.
Banca · trámite
Casos de Andrea con conversación viva (el cliente respondió), por etapa del trámite y ordenados por última interacción. La bandeja 📋 Firmados = documentación firmada lista para el banco.
Resuelves accionables
Citas on_hold con conversación viva (el cliente respondió), por estatus y ordenadas por última interacción. Abre para ver el detalle y chatear.
| Lead | Outcome | Edad | Cerrado | |
|---|---|---|---|---|
| # | ||||
| Sin terminales. | ||||
NPS · respondidas
Solo encuestas contestadas, agrupadas por score. Revisa las malas y, si aplica, abre el cajón para dar follow-up al cliente.
Torre de Control · Citas de Ana
Citas que sacó la IA WhatsApp para hoy y mañana. Updates en tiempo real (Supabase Realtime). Click en cualquier cita para abrir la tarjeta de prospectación + mini-inbox + planner.
War Room
Vista operativa en tiempo real. Auto-refresh: chats activos 5s, eventos 5s, KPIs 30s, tablas 60s, históricos 5min.
| Día | Hora | Status | Lead / Tel | Proyecto | Prototipo | Monto |
|---|---|---|---|---|---|---|
|
—
|
||||||
Costos de plantillas WhatsApp
Conteo de envíos cobrados por Meta (campañas, cold re-engagement, pause-resume, NPS) multiplicado por las tarifas configurables. Falladas y pendientes no entran. Edita las tarifas en .
Por categoría
| Categoría | Envíos | Tarifa | Costo |
|---|---|---|---|
Por origen
| Origen | Envíos | Costo |
|---|---|---|
Top plantillas
| Plantilla | Categoría | Envíos | Costo |
|---|---|---|---|
sent / delivered / read / replied. Las plantillas failed, pending y skipped no entran porque Meta no las cobra.
Costos APIs de IA
Anthropic (Claude) y OpenAI (Whisper). Costo nativo en USD; toggle a MXN multiplica por
business_params.usd_to_mxn. Hoy se calcula en vivo desde
ai_agent_logs; días pasados desde la MV diaria.
Por feature
| Feature | Calls | Tokens | Costo |
|---|---|---|---|
Por modelo
| Modelo | Calls | Costo |
|---|---|---|
Matriz feature × modelo
| Feature | Modelo | Calls | Costo | % total |
|---|---|---|---|---|
Por día
ai_agent_logs. Días previos vienen de la MV
ai_usage_daily_mv (refresh cada ~10 min vía cron; el botón ↻ la fuerza). Precios editables en la tabla ai_pricing.
Costo total de operación AI
Combina costos de plantillas WhatsApp + APIs (Claude + Whisper). Convertido a MXN al tipo de cambio configurable. Útil para evaluar TCO del bot.
A/B Tests de modelos
Compara modelos LLM (Sonnet, Opus, Haiku) sobre tasa de cita agendada y costo por cita. Asignación sticky por conversación; los datos se acumulan en ai_agent_logs y la vista ai_experiment_results agrega por variante con z-test de proporciones.
| Nombre | Estado | Variantes | Inicio | |
|---|---|---|---|---|
|
: ·
|
|
| Variante | Modelo | Conv. | Citas | Tasa | Tokens in | Tokens out | Lat. p50 | Lat. p95 | Costo USD | USD / cita |
|---|---|---|---|---|---|---|---|---|---|---|
running y haber recibido conversaciones.
claude-opus-4-7), % de tráfico, precio USD por 1M tokens (in / out). Los % deben sumar 100.
Reactivación automática
Templates outbound para que ningún lead se pierda. Cuando la sesión de WhatsApp pasa de 24h, los follow-ups regulares fallan — aquí mapeas qué template aprobado mandar en cada caso. Los templates deben crearse en el editor (pestaña Campañas → Templates) y aprobarse con Meta antes de aparecer en los dropdowns de abajo.
Los cambios se guardan automáticamente al modificar cada campo (no hay botón). Verás un mensaje verde "Guardado" al persistir; si aparece rojo, no se guardó.
Pausa por razón → template
Cuando el bot llamó pause_followups con esta razón y llega el momento de retomar, manda este template (si la sesión está cerrada).
| Razón | Template | Activo |
|---|---|---|
💡 La razón client_already_bought intencionalmente no tiene template — el cliente ya descartó.
Cadena fría (5/10/15/30/45/60 días)
Para leads que recibieron los 4 follow-ups regulares y nunca respondieron. Tras el paso 6, el lead se marca ai-cold-dead en el CRM y no se vuelve a tocar.
| # | Días | Descripción | Template | Activo |
|---|---|---|---|---|
Próximos follow-ups
Todo lo que el scheduler tiene programado para dispararse: FUs regulares (free-text), cold reengagement (template) y resume de pausas (template). Read-only — para parar uno, hazlo desde el inbox.
| Cuándo | Tipo | Detalle | Lead | Teléfono | Conv | Estado |
|---|---|---|---|---|---|---|
| cita pausado vinc bancario | ||||||
| Sin follow-ups programados en este rango. | ||||||
| Cargando... | ||||||
Últimos envíos (auditoría, máx 50)
| Fecha | Trigger | Detalle | Conv | Estado | wamid |
|---|---|---|---|---|---|
| Sin envíos todavía. | |||||
NPS post-cita
24 h después de que el asesor cierra la cita, el bot manda un template confirmando "¿te atendió X?". Cuando el cliente responde, el sub-agente Ana NPS conduce una mini-entrevista (confirmar asesor, score 1-10, comentarios) y guarda todo aquí — atribuido al cerrador real.
Templates por resultado de cita
El scheduler escoge el template según el status de la cita en el CRM. Si no asignas uno específico, usa el "Genérico (fallback)" como backup.
NPS por enviar
Citas completadas que el scheduler va a mandar (24 h después de completed_at). Read-only.
| Cliente | Teléfono | Outcome | Asesor esperado | Cita completada | Se enviará |
|---|---|---|---|---|---|
| No hay citas en cola para NPS. | |||||
NPS por cerrador
| Asesor | Citas | Respondidos | Score promedio | NPS Index | Promotor | Pasivo | Detractor | Response rate | |
|---|---|---|---|---|---|---|---|---|---|
|
Feedback reciente (top 5)
Sin feedback cualitativo todavía.
|
|||||||||
| Aún no hay NPS atribuidos a un asesor. | |||||||||
| Cliente | Teléfono | Outcome | Asesor (esperado → confirmado) | Cita completada | Estado | Score | Feedback | Respondido en |
|---|---|---|---|---|---|---|---|---|
|
→ no resuelto
|
— |
—
|
— | |||||
| Sin filas para este filtro. | ||||||||
Operaciones de Citas
Motor de confirmación: 4 templates progresivos en horas calendario (T-24h, T-20h, T-3h, T-1h), ajustadas al siguiente arranque hábil si caen de madrugada. Solo aplica a citas creadas por el bot.
| Cliente | Asesor | Cita era | Hace | Estado | Última respuesta |
|---|---|---|---|---|---|
| Cliente | Celular | Asesor | Cita | Próximo step | Se enviará | Status |
|---|---|---|---|---|---|---|
| Sin envíos pendientes. | ||||||
| Día | Hora | Tipo | Status CRM | Lead | Cliente | Celular | Asesor | Confirmación |
|---|---|---|---|---|---|---|---|---|
| # # — | ||||||||
| Sin citas próximas. | ||||||||
| Cliente | Celular | Asesor | Cita | Step | Template | Enviado | Envío | Respuesta cliente | Resultado cita |
|---|---|---|---|---|---|---|---|---|---|
| sin respuesta directa | |||||||||
| Sin envíos en la ventana seleccionada. | |||||||||
Parámetros del bot
Cifras y configuración que el agente usa en tiempo real. Edita aquí, guarda, y los cambios aplican en menos de 2 minutos sin redeploy. Las reglas textuales (políticas) viven en el system prompt — aquí solo van números, listas y objetos.
| Parámetro | Valor | Descripción | |
|---|---|---|---|
|
· min:
· max:
|
| Oferta | Municipio | Precio | Precio mín. (gancho) | Rec. | Baños | m² const | m² terreno | Plantas | Escrituración | Activo | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Sin ofertas. Agrega tu primera arriba. | |||||||||||
| Fraccionamiento | Lat | Lng | Dirección | |
|---|---|---|---|---|
| Ver en Maps |
| Nombre | Categoría | Icono | Activo | |
|---|---|---|---|---|
| Timestamp | Teléfono | Status | Origen | Error |
|---|---|---|---|---|
Inbox bancario
autoDestilda "Solo activas" para ver cerradas / terminales.
📋 Enviar template Meta a Andrea
Procesos bancarios
| Cliente | Step | Banco | Ingreso | Expediente | Completitud | Último avance |
|---|---|---|---|---|---|---|
|
+ co-acreditado
|
— |
|
|
El expediente se llena a medida que Andrea conversa con el cliente. Cada cuadrito verde =
un dato persistido en banking_application_data. Cuando los 6 estén llenos +
completitud ≥ 75%, el caso está listo para mandarse a BBVA.
Piloto Andrea
GA: el opener ya dispara para TODO lead nuevo. Este panel queda para excepciones manuales puntuales.start_banking_process enrola al 100% los nuevos — ya no hace falta enrolar a mano. La cadencia de follow-ups sigue gateada por enrolamiento (solo nuevos). Usa Enrolar aquí solo para meter a la cadencia un lead histórico puntual, o Sacar del piloto para excluir a uno.
on.
Si algo se rompe, apaga uno en
(ej. andrea_opener_enabled → off) y todo queda congelado al instante. Para frenar un lead puntual usa Kill AI en Mesa de Control.
⚠ Diagnóstico — clic para expandir
| Lead | Tel | Step | Nómina | Ingreso | Enrolado | Edad | |
|---|---|---|---|---|---|---|---|
| Lead | Tel | Ciudad | Nómina | Ingreso | Crédito | Edad | Notas | |
|---|---|---|---|---|---|---|---|---|
Plantillas PDF
Configuración de las plantillas de solicitud de buró por banco (BBVA / Banregio / Banorte) que Andrea prellena y envía al cliente.
Plantilla BBVA cargada
El filler src/banking/pdf/fill-bbva.ts usa la plantilla
AcroForm en src/banking/pdf/templates/bbva.pdf.
Otros bancos se agregan ahí cuando se habiliten.
Plantillas Meta
Templates aprobados por Meta para cada agente. Cada WhatsApp Business Account (línea) tiene su propio set. Drafts no se envían a Meta hasta que les des Submit. Sincronizar trae el status actual desde 360dialog.
⚠ Diagnóstico (haz click para expandir/colapsar)
No hay templates para este agente todavía.
| Nombre | Categoría | Idioma | Status | Quality | Sync | Acciones |
|---|---|---|---|---|---|---|
| — |
Configuración Andrea
Master switches
Cambios toman efecto en el próximo tick del cron (≤ 5 min). NO requieren redeploy.
andrea_opener_enabled
Cron 5 min que detecta banking_processes en current_step='new' y envía el template Meta inicial
desde la línea de Andrea. Sólo prenderlo cuando
esté aprobado en Meta.
andrea_cadence_enabled
Cron que dispara los steps de cadencia cuando el cliente se queda en silencio (texto intra-24h + templates fuera de ventana). Sólo prenderlo cuando los templates de follow-up estén aprobados en Meta.
Umbrales de ingreso (compartidos con Ana)
Estos thresholds los usa el flow de calificación bancaria de Ana cuando habla con el cliente antes
del handoff. Andrea NO los lee directo — opera sobre banking_processes ya creados,
no decide elegibilidad. Editarlos afecta la pre-cualificación de Ana, no las acciones de Andrea.
Valores en pesos MX mensuales, familiares.
Templates Meta (WhatsApp)
Los nombres exactos de los templates aprobados en Meta. Si Meta renombra al aprobar, actualizar aquí (no requiere redeploy).
Línea de WhatsApp de Andrea
Configurada via env vars (no editable desde aquí — requiere redeploy):
DIALOG360_ANDREA_PHONE_NUMBER, DIALOG360_ANDREA_API_KEY.
Si están vacías, Andrea queda dormida sin importar los master switches.
Documentación
Centro de control del producto y la plataforma. Fuente en vivo: docs/ del repo.
Cargando documentación…