Automatiza campañas de plantillas de WhatsApp usando n8n, Google Sheets y WOZTELL

Automatiza campañas de plantillas de WhatsApp con n8n y Google Sheets

 

Este workflow te permite:

  1. Enviar mensajes de plantilla de WhatsApp aprobados en masa
  2. Extraer datos de contactos desde Google Sheets o mediante la carga de un archivo CSV
  3. Recorrer automáticamente cada contacto
  4. Registrar el estado de entrega exitoso o fallido
  5. Evitar envíos duplicados

Todo impulsado por n8n y WOZTELL.

Está diseñado para equipos que necesitan enviar mensajes plantilla de WhatsApp a una lista de contactos para campañas, difusión o anuncios. Es adecuado para organizadores de eventos, marketing, ventas o agencias que gestionan envíos masivos de mensajes.


Qué hace este workflow  

Esta plantilla envía mensajes de plantilla de WhatsApp a una lista de contactos almacenada en:

  • Google Sheets
    o

  • Un archivo CSV cargado mediante un formulario de n8n

Para cada contacto, el workflow:

  1. Lee los registros no enviados
  2. Recorre los contactos uno por uno
  3. Envía una plantilla de WhatsApp aprobada
  4. Actualiza el estado de entrega en la hoja
  5. Espera brevemente antes de enviar el siguiente mensaje

Esto garantiza control de campaña y seguimiento confiable.


Requisitos

Antes de comenzar, asegúrate de tener:

  1. Una cuenta de n8n
  2. Una cuenta de WOZTELL con el canal de WhatsApp configurado
  3. Una plantilla de WhatsApp aprobada en WOZTELL
  4. Acceso a Google Sheets o un archivo CSV correctamente formateado
Tu WhatsApp Business Platform debe estar ya conectada dentro de WOZTELL.

Resumen del workflow

Esta plantilla incluye dos posibles puntos de entrada:

  1. Ejecución manual utilizando Google Sheets
  2. Carga de CSV mediante el disparador de formulario de n8n

Ambos siguen la misma lógica después de recuperar los contactos.


Opción A: Enviar desde Google Sheets

Paso 1: Iniciar el workflow manualmente

Haz clic en “Execute workflow” en n8n. Esto activa el proceso de envío masivo.


Paso 2: Recuperar contactos no enviados desde Google Sheets

El nodo Google Sheets lee las filas donde la columna “Sent” está vacía. Solo se seleccionan los contactos que no han sido procesados. Esto evita envíos duplicados.

Configura las credenciales de Google Sheets siguiendo la documentación oficial de n8n.

Haz una copia de la hoja de ejemplo o asegúrate de que tu hoja incluya:

  1. Columna de número de teléfono
  2. Columna de nombre
  3. Columna “Sent”

Los números de teléfono deben incluir el código de país sin símbolos.


Paso 3: Recorrer los contactos

El nodo Split In Batches procesa los contactos uno por uno. No requiere configuración adicional.


Paso 4: Mapear campos para el envío por WhatsApp

El nodo “Edit Fields” prepara los campos necesarios para el envío de la plantilla.

Extrae:

  1. Número de teléfono
  2. Nombre
  3. Número de fila

Estos valores se asignarán a las variables de la plantilla de WhatsApp. No requiere configuración adicional.


Paso 5: Enviar mensaje de plantilla de WhatsApp

Debes:

1. Conectar tus credenciales de WOZTELL. Genera un access token siguiendo la guía correspondiente.

Crea un access token con estos permisos:

  • channel:getBasicInfo

  • bot:sendResponses

  • channel:getEnvironmentInfo

  • channel:getDetails

En el campo WOZTELL Channel API, crea un nuevo token o reutiliza uno existente. Para el campo API del canal WOZTELL, siga esta guía para crear un nuevo token.

2. Selecciona tu canal de WhatsApp

3. Selecciona una plantilla aprobada

4. Asigna las columnas de la hoja a las variables de la plantilla


Paso 6: Actualizar el estado de entrega en Google Sheets

Después del envío, el workflow actualiza la hoja.

La columna “Sent” se marca como:

  1. success
  2. failed

Esto permite:

  1. Seguimiento de campañas
  2. Auditoría de entregas
  3. Prevención de envíos duplicados

Como ya configuraste las credenciales, solo debes elegir la credencial correcta para conectar.


Paso 7: Añadir retraso entre mensajes

El nodo Wait pausa brevemente antes de procesar el siguiente contacto.

Esto ayuda a evitar límites de velocidad y mantener la calificación de calidad de WhatsApp.

Puedes ajustar la duración del retraso según sea necesario.


Opción B: Enviar desde carga de CSV   

En lugar de Google Sheets, puedes cargar un archivo CSV.


Paso 1: Cargar archivo CSV

El nodo Form Trigger permite subir un archivo CSV con los datos de contacto.

Haz una copia del archivo CSV de ejemplo o asegúrate de que tu archivo incluya:

  1. Columna de número de teléfono
  2. Columna de nombre

Paso 2: Extraer datos de contacto

El nodo “Extract from File” convierte las filas del CSV en elementos de datos estructurados.

Cada fila se convierte en un contacto para procesar.

Después de la extracción, el workflow sigue la misma lógica de recorrido y envío que la versión con Google Sheets.


Ideas de personalización

Esta plantilla es modular y puede ampliarse en varias direcciones:

  1. Reemplazar el origen CSV por otras fuentes compatibles como formulario de n8n, Google Sheets, OneDrive o Zoho Sheet
  2. Ajustar la lógica de mapeo de campos o añadir nodos de código según tu esquema de datos
  3. Enviar mensajes a través de diferentes canales de WOZTELL o múltiples números remitentes según reglas de enrutamiento
  4. Agregar validación de opt in antes del envío
  5. Programar la ejecución automática de campañas en lugar de activación manual
  6. Añadir etiquetas de campaña o columnas adicionales de seguimiento