Hoy quiero compartir contigo una solución técnica ingeniosa que he desarrollado: un sistema de alertas de correo electrónico utilizando Google Apps Script.
Este sistema te permitirá monitorizar tu buzón de correo de manera eficiente y efectiva, funcionando como un sistema de alertas de correo electrónico, que se activará cuando tú determines que debe hacerlo.
Un sistema de alertas de correo electrónico no es más que una herramienta que te permite estar al tanto de los correos importantes para hacer con ellos lo que se considere.
Surgió como una solución a un problema que encontré en uno de mis proyectos personales. Como todos sabemos, incluso cuando estamos experimentando y aprendiendo en nuestros propios proyectos… ¡siempre hay desafíos que superar!
El escenario: Un desafío con las notificaciones de microservicios y la necesidad de un sistema de alertas de correo electrónico
Todo comenzó con un proceso que había diseñado, que realizaba una serie de operaciones y se apoyaba en un microservicio de notificaciones que yo mismo había creado. Este microservicio funcionaba como un sistema de alertas de correo electrónico, enviando un email para informar si el proceso había concluido con éxito o si había encontrado algún problema.
Sin embargo, durante una actualización del servicio de notificaciones, se introdujo un cambio que afectó a los consumidores de este servicio. Desde ese momento, el proceso dejó de enviar el correo de notificación, dejándonos sin visibilidad sobre su estado.
Aquí es donde surgió la necesidad de una solución que nos permitiera saber si el correo de notificación se enviaba o no, independientemente del motivo del error. Y es también donde entra en juego la solución de usar Google Apps Script como un sistema de alertas de correo electrónico.
Por supuesto, podríamos haber recurrido a los registros de log del proceso para averiguar qué había pasado. Pero esa no era la idea. Queríamos un sistema que nos alertara cuando algo salía mal, no tener que bucear en un mar de registros cada día.
Acto II: Enfrentando el problema y la necesidad de un sistema de alertas de correo electrónico
El desafío estaba claro: necesitábamos una forma de alertar cuando el proceso o el servicio de notificaciones fallaba. Pero, ¿cómo hacerlo si el propio servicio de notificaciones era el que tenía problemas?
Una solución común en estos casos es implementar una política de reintentos. Si el servicio de notificaciones falla al intentar enviar un correo, se hace el valiente y lo intenta de nuevo tras un breve descanso. Eso suele solucionar los errores de conectividad temporales, pero ¿qué ocurre si el servicio sigue fallando y se agotan todos los intentos?
Necesitábamos una solución más robusta, una que nos alertara si el correo no se enviaba por cualquier motivo. Fue entonces cuando Google Apps Script hizo su gran entrada, ofreciendo una buena solución para nuestro sistema de alertas de correo electrónico.
La Solución: Google Apps Script como sistema de alertas para correos
Google Apps Script es una plataforma basada en JavaScript que nos permite automatizar, mejorar y conectar diferentes servicios de Google, como Gmail, Google Sheets y Google Drive, entre otros. En este caso, lo use para monitorizar mi bandeja de entrada, buscando un correo con un asunto determinado y funcionando de ese modo como un sistema de alertas de correo electrónico.
El script se configura para ejecutarse a una hora concreta todos los días y si el correo de notificación no ha llegado a esa hora, envía una alerta para informar de la situación.
Código del script y explicación detallada

Si prefieres trabajar directamente con el código, he creado un repositorio en GitLab donde puedes encontrar todo el código de este sistema de alertas de correo electrónico. Puedes ver el código, copiarlo y pegarlo donde necesites, o incluso clonar el repositorio completo si lo prefieres.
El repositorio incluye el archivo EmailAlerts.gs
con el código de Google Apps Script, así como instrucciones detalladas en el archivo README sobre cómo configurar y utilizar el sistema de alertas.
Puedes encontrar el repositorio aquí: Email Alert System with Google Apps Script
Recuerda, si tienes alguna pregunta o encuentras algún problema, no dudes en abrir un problema en el repositorio de GitLab. Estoy aquí para ayudarte.
¡Vamos con la explicación dell código del script!
- Función
checkForEmail()
: Esta es la función principal que verifica si se ha recibido un correo electrónico con un asunto específico.- Las primeras líneas definen las variables que se utilizarán en la función, incluyendo los asuntos de los correos electrónicos que se buscan, la dirección de correo electrónico del usuario, la dirección de correo electrónico del remitente y la hora en que se desea recibir la alerta.
- Luego, se crea un objeto
Date
para la fecha y hora actuales y otro para el inicio del día actual. - La siguiente sección del código se salta los fines de semana, ya que no se desea recibir alertas durante esos días.
- A continuación, se definen las consultas que se utilizarán para buscar los correos electrónicos en la bandeja de entrada del usuario.
- Se realiza la búsqueda de los correos electrónicos y se comprueba si se ha enviado una alerta ese día. Si no se ha recibido ningún correo electrónico y no se ha enviado ninguna alerta, se envía un correo electrónico al usuario informándole de la situación y se registra la alerta.
- Función
hourlyEmailCheck()
: Esta función crea un disparador que ejecuta la funcióncheckForEmail()
cada hora. El disparador se configura para utilizar la zona horaria de Nueva York, pero puedes usar la que tú necesites. - Función
dailyReset()
: Esta función se ejecuta una vez al día para eliminar la propiedad ‘alertedToday’. Esto permite que se envíe una nueva alerta al día siguiente si es necesario. - Función
dailyResetTrigger()
: Esta función crea un disparador que ejecuta la funcióndailyReset()
una vez al día a las 0 horas. El disparador se configura para utilizar la zona horaria de Nueva York, pero de nuevo, puedes usar la que necesites.
Para que el proceso quede 100% automatizado, tendrías que ejecutar las funciones hourlyEmailCheck()
y dailyResetTrigger()
una vez. Esto creará los disparadores que ejecutan las funciones checkForEmail()
y dailyReset()
de forma automática, y con eso hecho, ya no deberías preocuparte de nada más.


Si en algún momento decidieras que ya no necesitas las alertas, puedes ir a la página de Triggers de tu Google Script App y eliminar los disparadores correspondientes.

Esto detendrá la ejecución automática de las funciones y, por lo tanto, el envío de las alertas.
Creando un nuevo script de Google Apps Script
Quizás te estés preguntado cómo puedes crear tu propio script en Google Apps Script. De ser así, espero que los siguientes pasos te despejen las dudas!
- Accede a Google Apps Script: Primero, necesitas acceder a Google Apps Script. Puedes hacerlo visitando el siguiente enlace: https://script.google.com/. Asegúrate de estar conectado a tu cuenta de Google.
- Crea un nuevo proyecto: Una vez que estés en Google Apps Script, verás un botón que dice “Nuevo proyecto” en la parte superior izquierda de la pantalla. Haz clic en él para crear un nuevo proyecto de script.
- Nombrar el proyecto: Se abrirá una nueva pestaña con un editor de código en blanco. En la parte superior izquierda, verás un título que dice “Sin título del proyecto”. Haz clic en él para darle un nombre a tu proyecto. Podrías llamarlo “Sistema de Alertas de Correo Electrónico”, o cualquier otro nombre que prefieras.
- Escribe o pega el código: Ahora puedes empezar a escribir tu código en el editor. Si ya tienes el código preparado (como el que te deje más arriba en este mismo artículo), simplemente puedes copiarlo y pegarlo en el editor.
- Guarda el proyecto: Una vez que hayas terminado de escribir o pegar tu código, no olvides guardar tu proyecto. Puedes hacerlo seleccionando “Archivo” en la barra de menú y luego “Guardar”. También puedes usar el atajo de teclado Ctrl+S (o Command+S en Mac).
- Ejecuta las funciones: Para que el sistema de alertas de correo electrónico comience a funcionar, necesitas ejecutar las funciones
hourlyEmailCheck()
ydailyResetTrigger()
. Para hacerlo, selecciona la función que quieres ejecutar en el menú desplegable que se encuentra en la parte superior del editor y luego haz clic en el icono de reproducción (un triángulo apuntando a la derecha). - Permisos: Google Apps Script te pedirá permiso para ejecutar el script y acceder a tu correo electrónico. Asegúrate de conceder los permisos necesarios para que el script funcione correctamente.
Y eso es todo. Ahora tienes un sistema de alertas de correo electrónico en funcionamiento.
Cuando la ejecución del script evalúe que debe alertar, recibirás una notificación como esta:

Recuerda, puedes detener las alertas en cualquier momento simplemente yendo a la página de Triggers de tu Google Script App y eliminando los disparadores correspondientes.
Conclusión: Utilizar Google Apps Script como sistema de alertas de correo electrónico
Como puedes ver, la implementación de una solución como esta, de monitoreo y alertas de correo electrónico usando Google Apps Script puede ser un gran aliado cuando se trabaja con microservicios y sistemas distribuidos.
Puede ser una buena solución para ciertos casos, especialmente si ya estás utilizando servicios de Google en tus procesos, y si no te quieres liar demasiado la manta a la cabeza.
Es cierto que existen herramientas y métodos más profesionales para llevar a cabo esto. Pero esta solución es una opción viable, sencilla y, lo más importante, ¡funciona!
No olvides que, al final del día, el objetivo es garantizar la continuidad y la eficiencia de nuestros procesos. Cualquier herramienta que nos ayude a alcanzar ese objetivo es bienvenida.
Recuerda, el aprendizaje es un viaje, no un destino. Así que sigue explorando, sigue preguntando, sigue aprendiendo. Y mientras lo haces, no olvides disfrutar del viaje. Nos vemos en el próximo post, donde seguiremos desentrañando los misterios de la Ingeniería de Software juntos. Espero que el artículo te haya resultado útil.