Agentes
📱

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.js

Variables de entorno

TWILIO_ACCOUNT_SID

SID de cuenta Twilio

TWILIO_AUTH_TOKEN

Auth token de Twilio

TWILIO_WHATSAPP_NUMBER

Número WhatsApp (format: whatsapp:+549...)

RESEND_API_KEY

API Key de Resend para email fallback

Capa

Pipeline operativo