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:
- Para empezar, visite el sitio web de la API de Slack en https://api.slack.com/apps. Inicie sesión si se le solicita.
- 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.
- 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.
- 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.
- Abra su hoja de cálculo: Vaya a la hoja de cálculo desde la que desea enviar notificaciones.
- Acceder al editor de scripts de Apps: Haga clic en
Extensiones>Script de aplicacionesy borrar cualquier código existente. - 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); } }); } - 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.
- 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
sendSlackNotificationsfunció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.
