Enviar Mensajes de WhatsApp desde Google Sheets usando Google Apps Script

Hoy vamos a abordar una pregunta frecuente: ¿cómo enviar mensajes de WhatsApp desde Sheets? Aunque automatizar este proceso al 100% como hacemos con el envío de correos electrónicos no es completamente posible sin usar APIs pagas, podemos explorar hasta dónde podemos llegar con las herramientas disponibles de manera gratuita.

Video

Introducción

Enviar mensajes de WhatsApp automáticamente desde Google Sheets presenta ciertos desafíos. Actualmente, es necesario utilizar WhatsApp Business y APIs de terceros, que usualmente tienen costos asociados. Sin embargo, podemos lograr un nivel decente de automatización utilizando Google Apps Script y algunos trucos.

Paso 1: Preparar los Datos en Google Sheets

Supongamos que tienes una hoja de cálculo con los siguientes datos:

  • Nombre
  • Teléfono
  • Mensaje personalizado
NombreTeléfonoMensaje
Juan573001234567Hola Juan, gracias por inscribirte en el curso de Google Sheets.
Pedro573001234568Hola Pedro, gracias por inscribirte en el curso de Data Studio.
María573001234569Hola María, gracias por inscribirte en el curso de Forms.

Paso 2: Generar Links de WhatsApp

Crear Links Personalizados en Google Sheets

  1. Abre tu hoja de cálculo de Google Sheets.
  2. En una nueva columna, genera los enlaces de WhatsApp utilizando la siguiente fórmula:
=CONCATENAR("https://api.whatsapp.com/send?phone=", B2, "&text=", ENCODEURL(C2))

Esto construirá un enlace para cada número de teléfono y mensaje personalizado.

Añadir un Hipervínculo

  1. Utiliza la fórmula HIPERVINCULO para crear un botón de envío:
=HIPERVINCULO(CONCATENATE("https://api.whatsapp.com/send?phone=", B2, "&text=", ENCODEURL(C2)), "Enviar WhatsApp")

Paso 3: Automatizar el Envío de Mensajes usando Google Apps Script

Abrir el Editor de Scripts

  1. Ve a Extensiones > Apps Script.
  2. Crea un nuevo proyecto y añade el siguiente código:
function enviarWhatsApp() {
  const hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const rangoDatos = hoja.getRange(2, 1, hoja.getLastRow() - 1, 3);
  const datos = rangoDatos.getValues();

  datos.forEach(fila => {
    const telefono = fila[1];
    const mensaje = encodeURIComponent(fila[2]);
    const url = `https://api.whatsapp.com/send?phone=${telefono}&text=${mensaje}`;
    abrirEnlace(url);
  });
}

function abrirEnlace(url) {
  const html = HtmlService.createHtmlOutput(`<html><script>window.open("${url}");google.script.host.close();</script></html>`);
  SpreadsheetApp.getUi().showModalDialog(html, 'Abriendo WhatsApp');
}

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Enviar WhatsApp')
    .addItem('Enviar Mensajes', 'enviarWhatsApp')
    .addToUi();
}

Explicación del Código

  • enviarWhatsApp: Esta función toma los datos de la hoja activa, genera el enlace de WhatsApp para cada fila y llama a abrirEnlace para abrir el enlace en una nueva ventana.
  • abrirEnlace: Usa el servicio HTML de Google Apps Script para abrir un enlace en una nueva ventana.
  • onOpen: Añade un menú personalizado en Google Sheets para ejecutar la función enviarWhatsApp.

Guardar y Ejecutar

  1. Guarda el script.
  2. Actualiza tu hoja de cálculo.
  3. Verás un nuevo menú llamado “Enviar WhatsApp”. Selecciona “Enviar Mensajes” para ejecutar el script y abrir los enlaces de WhatsApp en nuevas ventanas.

Conclusión

Aunque no podemos automatizar completamente el envío de mensajes de WhatsApp desde Google Sheets sin utilizar servicios pagados o APIs complejas, hemos explorado una solución gratuita que permite crear enlaces personalizados y abrirlos automáticamente desde Google Sheets. Esta metodología es útil para pequeñas automatizaciones y puede ser ajustada según tus necesidades.

Para más tutoriales, plantillas y cursos, visita JuanesGuzman.com. ¡Gracias por ver y nos vemos en el próximo tutorial!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This