Cómo enviar notificaciones de Slack desde Google Sheets utilizando Apps Script

Nota: Este artículo se publicó originalmente en el foro de nuestra comunidad.

En el lugar de trabajo moderno, la automatización de tareas rutinarias es clave para la eficiencia. Una tarea habitual es enviar notificaciones basadas en datos de hojas de cálculo, como cumpleaños o aniversarios. Slack, una popular herramienta de comunicación para equipos, puede integrarse con Google Sheets para enviar notificaciones automatizadas, lo que facilita la celebración de ocasiones especiales o el recordatorio de fechas importantes a los miembros del equipo.

En esta entrada del blog, te guiaremos a través del proceso de configuración de las notificaciones de Slack desde una hoja de cálculo de Google mediante Google Apps Script, y cómo crear una aplicación de Slack para este fin.

Creación de una aplicación Slack para notificaciones

Antes de sumergirte en el script, necesitas configurar una aplicación Slack para enviar notificaciones a tu espacio de trabajo. He aquí cómo:

  1. Para empezar, visite el sitio web de la API de Slack en https://api.slack.com/apps. Inicie sesión si se le solicita.
  2. Crear una nueva aplicación: Haz clic en “Crear nueva app”. Elige “Desde cero” y dale un nombre a tu app. Selecciona el espacio de trabajo donde quieres instalar la app.
  3. Activar Webhooks entrantes: Después de crear tu aplicación, ve a “Incoming Webhooks” en la sección “Features” y actívalo. De este modo, la aplicación podrá enviar mensajes a un canal de Slack.
  4. Generar una URL Webhook: Haz clic en “Añadir nuevo webhook al espacio de trabajo”, elige un canal (como #general) para las notificaciones y haz clic en “Permitir”. Copia la URL del webhook proporcionada.

Esta URL es la que utilizarás en tu Google Apps Script para enviar mensajes desde tu hoja de cálculo a Slack.

Automatización de las notificaciones de Slack con Google Apps Script

Con la aplicación Slack y el webhook listos, el siguiente paso es automatizar las notificaciones desde una hoja de cálculo de Google. Supongamos que tienes una hoja de cálculo con la columna A para los correos electrónicos, la columna B para los nombres y la columna C para los cumpleaños.

  1. Abra su hoja de cálculo: Vaya a la hoja de cálculo desde la que desea enviar notificaciones.
  2. Acceder al editor de scripts de Apps: Haga clic en Extensiones > Script de aplicaciones y borrar cualquier código existente.
  3. Pegar el guión: Utilice la siguiente secuencia de comandos de Google Apps, en sustitución de 'TU_WEBHOOK_URL_AQUÍ' con la URL real del webhook de Slack.
       function sendSlackNotifications() {
         var webhookUrl = 'YOUR_WEBHOOK_URL_HERE';
         var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
         var data = sheet.getDataRange().getValues();
         var today = new Date();
         today.setHours(0,0,0,0);
       
         data.forEach(function(row, index) {
           // Skip header row
           if (index === 0) return; 
           var email = row[0], name = row[1], birthday = new Date(row[2]);
           birthday.setHours(0,0,0,0);
       
           if (birthday.getTime() === today.getTime()) {
             var payload = JSON.stringify({ text: `🎉 Happy Birthday, ${name} (${email})! 🎉` });
             var options = { method: 'post', contentType: 'application/json', payload: payload };
             UrlFetchApp.fetch(webhookUrl, options);
           }
         });
       }
  4. Guardar y ejecutar el script: Haz clic en el icono del disco para guardar y, a continuación, haz clic en el botón de reproducción para ejecutar el script manualmente.
  5. Automatizar las notificaciones diarias: Para que esta secuencia de comandos se ejecute diariamente, haga clic en el icono del reloj (Activadores) y establezca un activador basado en el tiempo para la secuencia de comandos sendSlackNotifications función.

Reflexiones finales

La integración de Slack con Google Sheets a través de Apps Script es una forma eficaz de automatizar las notificaciones. Ya se trate de celebrar cumpleaños, hacer un seguimiento de los hitos de un proyecto o recordar fechas importantes a los miembros del equipo, esta configuración simplifica la comunicación y garantiza que ninguna ocasión especial pase desapercibida. Recuerda siempre mantener segura la URL de tu webhook y probar a fondo tu configuración antes de extenderla a todo tu equipo. Con un poco de configuración, la comunicación de su equipo puede ser más eficiente y atractiva.

También te puede gustar...

funciones y fórmulas de google sheets

Las 5 mejores fórmulas de matrices dinámicas de Google Sheets 

Google Sheets ha evolucionado más allá de las hojas de cálculo básicas. Con la introducción de fórmulas de matriz dinámica, los usuarios ahora pueden manipular y analizar...
funciones y fórmulas de google sheets

Dominio de la fórmula FILTER: 4 casos de uso con ejemplos

La fórmula FILTRO de Google Sheets es una herramienta versátil para extraer datos que cumplen unas condiciones específicas. A diferencia de la fórmula QUERY,...
funciones y fórmulas de google sheets

Cómo liberar el poder de SUMIF y SUMIFS en Google Sheets: 4 casos de uso reales

Las fórmulas SUMIF y SUMIFS de Google Sheets son herramientas indispensables para realizar sumas condicionales. Simplifican las complejas...