notificar con un Whatsapp UN evento de Google Calendar

Si Google Calendar ofreciera de forma nativa entre sus notificaciones esta opción, todo esto sería mucho más sencillo.

De momento no es así, ¡pero pocas cosas no son posibles en el mundo de los unos y ceros!

Así que… te propongo crear tu propio Whatsapp Calendar: una herramienta que te permitirá notificar con un mensaje de Whatsapp cuando un evento de Google Calendar o un recordatorio esté a punto de ocurrir. ¡Tendrás un mensaje de Whatsapp notificándote cualquier evento del que quieras hacer seguimiento! Y así con tu Whatsapp Calendar funcionando, no volverás a olvidar ningún evento importante.

Tocará currárselo un poco más, pero nada más. ¡Vamos a por ello!

Voy a plantear dos opciones para ser capaces de mandar Whatsapp de forma automática;

  • Usando Twilio, Google Sheet y un script en su lenguaje .gs.
  • Usando Python y la librería PyWhatKit.

Mandar un mensaje de Whatsapp usando Twilio y Google Sheet

Para llevar a cabo el proceso, vas a necesitar tener una cuenta en Twilio, hacer unas pequeñas configuraciones, y guardar un par de datos.

Configuración de Twilio

Proceso de registro

El proceso de registro en Twilio es bastante sencillo. Te pedirán nombre, apellidos, mail, contraseña y aceptar su política.

Si bien es cierto que para elegir la contraseña puede que sudes sudor y sangre, porque no lo ponen sencillo.

Tiene que ser de más de 16 caracteres, no tener 3 caracteres seguidos iguales, dígitos, no contener ciertas palabras … etc.

Puede que ya lo hayas leído en algún otro post en mi blog, pero soy muy fan de los buenos administradores de contraseñas. En mi caso uso 1Password y me ofrece un gran alivio mental saber que todo está bajo control.

Una vez haces click en el botón, tendrás que verificar tu email.

Tendrás un email como este en tu inbox

Con simplemente hacer click en el link, tendrás tu email verificado.

El siguiente paso es verificar tu número de teléfono.

Y cuando lo tengas, Twilio te dará la bienvenida y te hará rellenar un pequeño formulario.

Te dejo por aquí cómo completé el formulario en su día.

Cuando haces click en el botón Get started with Twilio, comienza tu aventura en su mundo.

Por defecto Twilio te crea una cuenta My first Twilio account. Puedes usar esta si quieres, o también crear una nueva cuenta. Como prefieras.

Activación del Sandbox

Si has seguido los pasos anteriores, tendrás este popup en pantalla.

Tienes que aceptar y confirmar para seguir con la activación.

La activación del Sandbox es necesaria si quieres empezar a mandar mensajes con un número que ya está pre-aprobado por los desarrolladores de Twilio.

Para hacer uso de tu propio número, necesitas pasar otro proceso que puedes encontrar aquí.

Al confirmar el popup, te encontrarás con la siguiente pantalla para proceder con la activación.

Este es el enlace que te lleva directo a esa sección en Twilio.

Simplemente envía un WhatsApp a ese número, con el código indicado en negrita y… ¡listo! ¡Ya tienes activo el Sandbox y puedes empezar a usarlo!

Identifica tu Account SID y del Auth Token

Accede a tu consola de Twilio y selecciona la aplicación con la que has estado trabajando.

Una vez ahí, podrás echar un vistazo a ambos datos. El ACCOUNT SID está en claro, y necesitarás hacer click en el botón Show para ver el AUTH TOKEN.

Configuración de Google

Usaremos una Google Sheet para indicar los datos y para crear el script en .gs que facilitará el envío del WhatsApp.

Google Sheet

En este enlace te dejo una plantilla que podrás utilizar.

No podrás editarla, pero puedes hacer una copia, almacenarla en tu Drive y editarla libremente.

La plantilla tiene todo lo necesario para que únicamente tengas que introducir tu información y puedas empezar a mandar WhatsApp.

Warning: Si no quieres tocar nade de código, es importante que mantengas los mismos nombres de pestañas, y que mantengas las mismas posiciones donde se insertan los datos.

Pestaña Twilio

Sustituye en la celda A1 el valor de tu ACCOUNT SID y en la celda A2 el valor de tu AUTH TOKEN. Echa un vistazo aquí arriba si no recuerdas dónde acceder a esos datos.

Pestaña contacts

Añade en la columna A cada uno de los números a los que quieres que la notificación sea enviada.

Si quieres invitar a otros números usando tu sandbox, sólo tienes que seguir los pasos indicados en la documentación de Twilio. Una vez lo tengas, puedes introducir tantos números como desees en las celdas A2, A3AN.

Pestaña Data

El valor de la celda B1 especifica el título del evento que te interesa monitorizar y con el que recibirás el WhatsApp. El script buscara entre tus eventos de tu calendario de hoy, un evento que coincida exactamente con el valor que incluyas en esa celda.

El valor de la celda B2 especifica el sufijo que se usará para que la aplicación sepa que el evento ya ha sido procesado. Puedes cambiarlo si lo prefieres, pero el valor de la plantilla es adecuado.

El valor de la celda B3 es el teléfono del Sandbox de Twilio. Introdúcelo sin + delante, pero con el código de país. Ej: 34777889900 si tu móvil es de España. Te dejo un enlace con los códigos de países en caso que lo necesites.

El valor de la celda B4 indica los minutos que tiene que haber de diferencia entre la hora de inicio del evento del Calendar y la hora de ejecución para que el WhatsApp sea enviado.

Con un ejemplo quizás se entenderá mejor:

Si la ejecución es a las 21:00 y el evento que quieres monitorizar está en tu calendar a las 22:30, la notificación no se enviará hasta que la ejecución no se realice después de las 21:30, porque actualmente el valor es de 60 minutos. ¿Algo más claro ahora?

Pestaña Twilio

Si eres curioso y quieres echar un vistazo al código, puedes hacerlo haciendo click en la opción de Script editor que cuelga de Tools.

Una vez ahí, te aparecerá una nueva pestaña en el navegador con algo parecido a esto.

Puedes cambiar el nombre por el que quieras si lo prefieres, o dejarlo tal cual está.

Desde esa pantalla, podrás ejecutar el script de forma manual haciendo click en Run y probar si todo funciona como es debido.

Si surge cualquier problema, podrás verlo en los log de ejecución que aparecen en la parte inferior

En todo momento puedes depurar el código añadiendo puntos de ruptura y ejecutando el código paso a paso.

Y por supuesto, modificar lo que estimes oportuno en el código.

Si algo se rompe, siempre tienes la plantilla disponible para volver a hacer otra copia.

Además tienes el código en Github por si lo prefieres clonar el proyecto o simplemente verlo desde ahí.

AUTOMATIZAR EL SCRIPT

Llegado este punto tenemos todo lo necesario para ejecutar manualmente el proceso y que, envíe o no la notificación vía WhatsApp dependiendo de las condiciones en el momento de la ejecución.

Pero si lo que quieres es no tener que preocuparte de nada y simplemente recibir el WhatsApp cuando sea requerido, necesitaremos dar un pasito más y automatizar la ejecución del proceso.

Con Google Script no va a ser nada complicado, ¡ya verás!

Selecciona en el menú la opción Triggers.

Luego al botón Add Trigger, de abajo a la derecha.

Y rellena el formulario como el siguiente

De tal modo que estaremos configurando la ejecución del método send_whatsapp_to_contacts cada 5 minutos.

Demo – Cómo notificar con un Whatsapp un evento de Google Calendar

Te dejo un pequeño vídeo dónde muestro cómo funciona el proceso una vez configurado.

VIDEO DEMO – Notificar con Whatsapp un evento de Google Calendar

2 comentarios en “Cómo notificar con un Whatsapp un evento de Google Calendar”

  1. Me ha servido de gran ayuda pero no consigo hacer que el método event.getStartTime() coja la hora de España 🙁

    1. Hola Daniel.

      En este enlace de la doc oficial de Google, puedes ver que el startTime del event se coge con el timezone que tenga configurado el calendario en cuestión.

      Espero que te sirva!

      Y gracias por tu comentario

Deja un comentario

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