Contacts
¿Hablamos?
Cerrar

Integrar n8n con WhatsApp Business API: flujos conversacionales que venden

automatizacion

Integrar n8n con WhatsApp Business API: flujos que venden

WhatsApp es el canal con mejor tasa de lectura en LATAM. En esta guía aprenderás a integrar n8n con WhatsApp Business API para crear flujos conversacionales que venden: opt-in, plantillas aprobadas, reglas de 24 h, segmentación, pagos y seguimiento. Incluye payloads JSON, blueprint de enrutamiento por intención y checklist de salida a producción.

Por qué WhatsApp + n8n es una máquina de conversión

  • Aperturas 90%+ y respuestas rápidas: ideal para recuperación de carritos, agendamiento y cotizaciones.
  • n8n orquesta APIs: CRM, pasarelas de pago, Google Sheets, email, ERP… todo en un solo flujo.
  • Conversaciones guiadas (bot + humano): reduces tiempos y aumentas cierres sin sacrificar experiencia.

Requisitos y buenas prácticas (opt-in, 24 h, plantillas)

  • Opt-in explícito: el usuario debe aceptar recibir mensajes.
  • Ventana de 24 h: puedes responder libremente dentro de las 24 h desde el último mensaje del usuario. Fuera de esa ventana, usa plantillas aprobadas (HSM).
  • Plantillas (message templates): define variables ({{1}}, {{2}}) y tipos (alerta, actualización, marketing si aplica).
  • Calidad y relevancia: no “spamear”; ofrece valor y opción de salir (STOP).

Arquitectura recomendada del flujo en n8n

Nodos clave:

  1. Webhook (o Trigger HTTP) → punto de entrada de eventos entrantes de WhatsApp.
  2. Verify Signature (Function) → valida firma si la envía tu gateway/Meta.
  3. Parser (Function) → normaliza el evento (de texto, botón, template reply).
  4. State Store (Data Store/Redis/DB) → guarda estado de conversación por from.
  5. Classifier / Switch → enruta por intención (ej. “cotizar”, “soporte”, “pagar”).
  6. HTTP Request (WhatsApp API) → envío de mensajes (texto, plantilla, botones).
  7. CRM / Sheets → alta/actualización de lead y actividad.
  8. Payments → genera link/checkout y captura la confirmación.
  9. Error Handler / Retry → reintentos con backoff y logging.
  10. Notify Human → asignación a agente si hay señales de frustración.

Tip: separa flujos por dominios (ventas, soporte, postventa) y comparte un módulo de utilidades (enviar mensaje, validar ventana, formatear).

Paso a paso: primer flujo usable (lead → propuesta → pago)

1) Entrada y normalización

  • Webhook recibe el JSON del proveedor/Cloud API y lo pasa a Function → Parser.
  • Extrae: from, text/body, type, button_reply, timestamp.

2) Opt-in y consentimiento

  • Si el contacto es nuevo, envía plantilla de bienvenida con políticas y “Sí, deseo continuar”.

Ejemplo plantilla (JSON simplificado):

{
  "messaging_product": "whatsapp",
  "to": "{{phone}}",
  "type": "template",
  "template": {
    "name": "bienvenida_optin",
    "language": {"code": "es"},
    "components": [{
      "type": "body",
      "parameters": [{"type": "text", "text": "{{nombre}}"}]
    }]
  }
}

3) Detección de intención (ventas)

  • Switch por palabras clave o botones: “Cotizar” → flow de cotización.
  • Guarda estado: stage = "cotizacion", lastIntent = "ventas".

4) Captura de datos mínimos

  • Pide producto/servicio, presupuesto y plazo.
  • Valida con Regex y ofrece botones predefinidos (rápidos).

Mensaje con botones (texto+interactive):

{
  "messaging_product":"whatsapp",
  "to":"{{phone}}",
  "type":"interactive",
  "interactive":{
    "type":"button",
    "body":{"text":"¿Qué necesitas?"},
    "action":{"buttons":[
      {"type":"reply","reply":{"id":"web","title":"Sitio Web"}},
      {"type":"reply","reply":{"id":"ecom","title":"eCommerce"}},
      {"type":"reply","reply":{"id":"seo","title":"SEO"}}
    ]}
  }
}

5) Propuesta corta y link de pago

  • Genera un resumen con lo recibido (Function).
  • Crea link de pago (Niubiz/Izipay/Stripe u otro) con monto y concepto.
  • Envía plantilla con CTA al pago si estás fuera de 24 h; si estás dentro, mensaje libre.

6) Confirmación y CRM

  • Al recibir confirmación del gateway (webhook de pago):
    • Actualiza CRM/Sheets y etiqueta Won.
    • Envía mensaje de agradecimiento y próximos pasos.

Enrutamiento por intención y estado de conversación

  • Intents base: ventas, soporte, agendar, pagos, estado de pedido.
  • State machine: stage = lead|califica|propone|pago|postventa.
  • Fallback a humano: si el usuario repite texto libre >2 veces sin match o escribe “hablar con agente”.

Control de ventana 24 h (Function pseudo):

const last = $json.lastUserMessageAt;
const now = Date.now();
const diff = now - new Date(last).getTime();
return diff <= 24*60*60*1000 ? "FREEFORM" : "TEMPLATE_REQUIRED";

Pagos, CRM y reportes (cierres automáticos)

  • Pagos: genera enlace único; escucha webhook de “paid” → cierra oportunidad.
  • CRM: crea/actualiza lead, asigna owner, registra actividad (fuente: WhatsApp).
  • Reportes: en Sheets/BQ: tasa de respuesta, tiempo a primera respuesta, conversión a pago.

Monitoreo, errores y escalabilidad

  • Logs estructurados (JSON) con conversationId, intent, status.
  • Alertas en Slack/Email si errores 5xx de la API o baja tasa de entrega.
  • Rate limiting / Retry con Exponential Backoff (ej. 1s → 2s → 4s).
  • Colas si esperas picos (RabbitMQ/Redis Streams/Kafka) → n8n consume con control.

Checklist de producción

  • Opt-in documentado y registro de consentimiento.
  • Plantillas aprobadas para re-apertura fuera de 24 h.
  • Validación de firma y sanitización de entradas.
  • State store persistente por contacto.
  • Fallback a humano y palabra de salida (STOP).
  • Enlaces de pago con expiración y verificación de webhook.
  • Logs, métricas y alertas en tiempo real.
  • Política de privacidad y retención de datos.

¿Listo para vender por WhatsApp? (CTA)

En CODEMITSU implementamos agentes IA en n8n integrados a WhatsApp Business API con pagos, CRM y reportes end-to-end.
👉 Automatización y APIs | 👉 Contacto


Preguntas frecuentes (FAQ)

1) ¿Puedo iniciar conversaciones de marketing?
Sí, pero fuera de la ventana de 24 h necesitas plantillas aprobadas para mensajes de marketing o actualizaciones. Respeta opt-in y frecuencia.

2) ¿Cómo manejo múltiples marcas o números?
Segmenta por phone_number_id y usa workflows separados con utilidades compartidas.

3) ¿Qué pasa si la API devuelve error de envío?
Implementa reintentos con backoff y cola de DLQ; alerta si hay fallas repetidas.

4) ¿Puedo combinar bot + humano?
Sí. Asigna a un agente cuando detectes frustración/palabras clave o superes umbral de turnos.

5) ¿Cómo mido el éxito?
Tasa de respuesta, tiempo a primera respuesta, conversión a objetivo (pago/cita), ingresos atribuidos a WhatsApp.