Enqueuer
🔧 Herramienta⚠️ NO es un agente — sin IA. Mete prospectos empaquetados en la cola de envío respetando el límite diario. Última pieza automática — después de esto el sistema espera a que el prospecto responda
En cola
0
prospectos esperando
Ejecuciones
50
50 logs
Costo total
$0
acumulado total
Errores
0
100% éxito
Último run
14/8, 11:00 a. m.
Parte del pipeline lineal diario (sin hora fija propia) — corre apenas termina Panel Generator, dentro de esa misma corrida
Descripción
Agregado al CRM el 04/07/2026 — existía en el código (src/queue/enqueuer.js) desde antes pero no tenía ficha en /agents (regla de oro "todo lo que existe debe estar visible en el CRM"). Toma prospectos status=packaged, elige canal (WhatsApp si hay teléfono, si no email) y los inserta en message_queue con status=pending, respetando el límite diario. El status del prospecto pasa a queued → sender lo manda → status=sent. De ahí en más el sistema queda a la espera: no hay nada más automático hasta que el prospecto responda (webhook de WhatsApp → response-analyzer/sales-closer toman la posta). Rediseño 04/07/2026 (audit de Gregory): (1) se borró el comentario del archivo que decía "tiempos escalonados 8-25 min entre mensajes" — nunca fue así, todos los mensajes de un batch se encolan con el mismo scheduled_at (confirmado, no es bug, es el diseño real: se manda todo junto). (2) El límite diario dejó de ser una env var fija — ahora vive en la tabla system_settings (columna daily_send_limit, default 100) y es editable desde /settings en el CRM sin tocar Oracle ni redeployar, con fallback a DAILY_SEND_LIMIT si la fila no existiera. (3) Se corrigió pendingTodayCount() — antes contaba TODOS los mensajes pending de siempre (sin filtro de fecha), ahora solo los de hoy (scheduled_at >= inicio del día), igual que sentTodayCount(). (4) Se borró código muerto (SMS_COUNTRIES/isSmsFriendly, nunca se llamaba).
Tareas
- Contar mensajes ya enviados hoy + pendientes de hoy en cola (message_queue)
- Traer prospectos status=packaged con preview_slug (límite = daily_send_limit disponible, editable en /settings)
- Elegir canal: WhatsApp si tiene teléfono, si no email — sin ninguno → status=discarded
- Insertar en message_queue (status=pending) y avanzar el prospecto a status=queued
Últimas ejecuciones (system_logs)
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Enqueuer iniciado — límite diario: 100
No hay prospectos en packaged para encolar
Modelo IA
Ninguno — sin IA
Costo estimado (sin datos reales todavía)
$0.00
Script
src/queue/enqueuer.jsVariables de entorno
daily_send_limitTope de mensajes/día — tabla system_settings, editable en /settings del CRM (default 100)
DAILY_SEND_LIMITFallback por env si la tabla no existiera (default 100)
Capa
Pipeline operativo