Message Sender
🔧 Herramienta⚠️ NO es un agente — sin IA (corregido 05/07/2026, no tenía kind:tool). Envía propuestas por WhatsApp (+ fallback email)
En cola
0
prospectos esperando
Ejecuciones
0
0 logs
Costo total
$0
acumulado total
Errores
0
sin datos
Último run
—
Parte del pipeline lineal diario (sin hora fija propia) — corre casi al final de esa misma corrida (después de Enqueuer/Domain/Payment Review)
Descripción
Envía el mensaje inicial al prospecto con link al panel público, vía templates de WhatsApp aprobados por Meta (contentSid — el texto real vive en Meta Business Manager/Twilio Console, no en el código). Gestiona variantes A/B (dos templates distintos). Si la llamada a Twilio falla en el momento (síncrono) y el prospecto tiene email, activa el fallback vía Resend. ⚠️ Pendiente (ver memory "pending"): si Twilio ACEPTA el mensaje pero falla la entrega después (async, vía webhook twilio-status — típicamente "número sin WhatsApp"), el prospecto se marca discarded directo, sin intentar el fallback de email. **Corregido 05/07/2026 — límite diario ya NO es una rampa fija:** antes decía "máx 10/día (rampa Meta 10→20→40)" pero ningún código implementaba esa rampa — era aspiracional, nunca construida. El límite real lo respeta el Enqueuer antes de encolar (tabla system_settings, editable en /settings, default 100/día). **Costo REAL confirmado 05/07/2026 (antes decía "$0.010/WA" sin fuente):** Twilio cobra un fee plano de $0.005/mensaje. Desde julio 2025 Meta factura APARTE, por mensaje, según la categoría del template: nuestros templates de prospección son categoría "Marketing" (se cobran siempre, sin ventana gratis de 24h y sin descuento por volumen — a diferencia de Utility/Authentication). Gregory confirmó el fee de Meta para Argentina en la calculadora oficial de Twilio: **$0.0618/mensaje** — total real: **$0.0668/mensaje** (no $0.005 como se logueaba antes). Ambos valores viven en la tabla `whatsapp_pricing` (editable en `/settings` del CRM, por si Meta/Twilio cambian tarifas) y `whatsapp.js` (`getWhatsAppCost()`) los lee de ahí para loguear el costo real en `system_logs.api_cost_usd` — ya no hay ningún número hardcodeado ni inventado.
Tareas
- Leer message_queue (status=pending, scheduled_at<=ahora) — ya encolado por el Enqueuer
- Seleccionar canal: WhatsApp (si tiene teléfono) o Email
- Seleccionar variante de template A o B (aprobados por Meta)
- Enviar mensaje personalizado con link al panel
- Actualizar status=sent y message_sent_at
- Si Twilio rechaza la llamada en el momento y hay email → crear item en cola con channel=email (10min delay)
Últimas ejecuciones (system_logs)
Sin logs registrados todavía
Escala a Gregory cuando
Si Meta suspende el número o el error rate > 30%
Modelo IA
Twilio WhatsApp Business API · Resend (email fallback)
Costo estimado (sin datos reales todavía)
$0.0668/WA (Twilio $0.005 + Meta $0.0618, categoría Marketing, Argentina — editable en /settings) · ~$0.001/email
Script
src/queue/sender.jsVariables de entorno
TWILIO_ACCOUNT_SIDSID de cuenta Twilio
TWILIO_AUTH_TOKENAuth token de Twilio
TWILIO_WHATSAPP_NUMBERNúmero WhatsApp (format: whatsapp:+549...)
RESEND_API_KEYAPI Key de Resend para email fallback
Capa
Pipeline operativo