Automatizar Google Calendar con n8n

Automatizar Google Calendar con n8n

Si tu agenda te agobia, prueba a automatizar Google Calendar con n8n para que tu calendario se ocupe de todo!

Conectar Google Calendar y n8n

Anteriormente ya te expliqué cómo instalar n8n para usarlo de forma gratuita e ilimitada, y hoy vamos a ver cómo conectar Google Calendar para utilizarlo en nuestras automatizaciones. Puesto que es una de las integraciones nativas de n8n, automatizar Google Calendar con n8n es muy fácil de hacer:

  1. Antes de nada, vas a necesitar generar un ID de Cliente y el Secreto de Cliente en tu consola de Google Cloud, si no lo has hecho antes. Accede a la consola y crea un nuevo proyecto con el nombre que quieras (por ejemplo, «Aguacatec»).
  2. Utiliza el buscador de la parte superior para encontrar «Google Calendar API». Haz clic en ella y luego pulsa en «Habilitar».
  3. Desde la barra lateral izquierda, accede a APIs y Servicios > Pantalla de Consentimiento de OAuth y pulsa en «Comenzar». Tendrás que crear una nueva aplicación, con el nombre que quieras (por ejemplo, «n8n») y tu correo de contacto.
  4. Tras crear la aplicación te encontrarás en el apartado de «Descripción general de OAuth». Pulsa en «Crear cliente de OAuth», e indica lo siguiente:
    • Tipo de aplicación. Selecciona «Aplicación web».
    • Nombre. Indica el que tú quieras (por ejemplo, «n8n»).
    • URIs de redireccionamiento autorizados. Aquí tienes que indicar la URL externa que te proporciona n8n (no puede ser tu ‘localhost’). Deja esta ventana abierta y sigue leyendo para obtenerla.
  1. En la interfaz de n8n, pulsa en «Create Workflow» para crear un nuevo flujo de trabajo y pulsa en el icono «+» del panel central. En el buscador de ‘triggers’ busca «Google Calendar», haz clic en el icono y pulsa sobre cualquiera de ellos (por ejemplo, «On event created»).
  2. Al hacerlo se abrirá la interfaz de configuración del ‘trigger’, que vamos a usar para crear nuestras credenciales. Para ello sitúate en el desplegable bajo el título «Credential to connect with» y pulsa en «+ Create new credential».
  3. De nuevo se abrirá otra ventana para que introduzcas tus credenciales de Google. El primer campo que verás es tu «OAuth Redirect URL», que ya viene cumplimentada. Cópiala, vuelve a la consola de Google (paso 4), haz clic en URIs de redireccionamiento autorizados > + Agregar URI y pégala.
  4. Haz clic en «Crear» para que se genere tu cliente OAuth. Verás que se abre una nueva ventana que te indica tu «ID de cliente» y tu «Secreto del cliente» («Client ID» y «Client Secret», respectivamente). Cópialos y pégalos en la ventana de n8n, y haz clic en el botón «Sign in with Google» para terminar de conectar tu cuenta (verás un mensaje verde de confirmación en la parte superior).

Triggers de Google Calendar

Una vez conectada nuestra cuenta ya podemos automatizar Google Calendar con n8n. Ahora puedes utilizar el calendario como ‘trigger’ para que realice acciones cuando se producen cambios.

Vamos a ver un ejemplo sencillo, de cómo emitir una notificación a un grupo de Telegram cuando se registra un nuevo evento en el calendario:

  1. Crea un nuevo flujo, pulsa en el icono «+» del tablero, busca Google Calendar y selecciona la opción Triggers > On event created. Este ‘trigger’ sirve para lanzar tu automatización cuando se añada un nuevo evento al calendario (por ejemplo, una reunión).
  2. En la ventana emergente, asegúrate de seleccionar las credenciales de Google Calendar en el desplegable «Credential to connect with». Después elige el calendario correspondiente en el desplegable Calendar > Select a Calendar.
  3. Pulsa en el botón «Fetch Test Event» para comprobar que funciona correctamente. Al instante comprobarás, en la parte derecha de la pantalla, que ha cargado la información correspondiente a uno de los eventos de tu calendario.
  4. Vuelve al tablero de trabajo y pulsa sobre el icono «+» a la derecha del ‘trigger’. Busca «Telegram» y selecciona Message Actions > Send a text message. En la ventana emergente haz lo siguiente:
    • Chat ID. Indica el ID del usuario o grupo al que quieres mandar la notificación.
    • Text. Personaliza el mensaje de la notificación, utilizando los campos proporcionados por el calendario de Google.
  1. Ahora cierra esta ventana, sitúa el ratón sobre el ‘trigger’ y pulsa en el botón que aparece a la izquierda «Test workflow». Recibirás una notificación como la siguiente.

Como siempre este es solo un ejemplo muy básico, pero a partir de aquí puedes jugar con los distintos tipos de ‘trigger’ y campos proporcionados para crear tus automatizaciones. Puedes consultar más información sobre los ‘triggers’ disponibles en la documentación oficial, y ver cómo he montado el flujo con estos ejemplos (y alguno más) en la plantilla de nuestro perfil de Patreon.

Acciones de Google Calendar

Pero ojo! Puedes hacer mucho más que recibir las novedades para automatizar Google Calendar con n8n. Por ejemplo, crear eventos de forma automática:

  1. Crea un nuevo flujo, pulsa en el icono «+» del tablero y selecciona «Trigger manually», para poder arrancar manualmente nuestro flujo.
  2. Pulsa en el icono «+» que aparece a su derecha, busca «Google Calendar» y selecciona la opción Event actions > Create an event. Esta acción sirve para crear un nuevo evento en tu calendario.
  3. De nuevo, se abrirá una ventana en la que tienes que configurar la acción:
    • Credential to connect with. Asegúrate de que has seleccionado las credenciales de tu calendario, creadas en el primer apartado.
    • Calendar. Selecciona el calendario correspondiente, donde quieres insertar el evento (por ejemplo, «Reuniones»).
    • Start / End. Por defecto el momento de inicio del evento será cuando se ejecute el flujo, y final una hora después. No obstante, puedes modificarlo como quieras.
    • Additional Fields. Añade campos adicionales para personalizar tu evento, como un título (‘summary’) o una ubicación (‘location’).
    • Ahora pulsa en el botón superior de «Test step» de la parte superior y verifica que se ha creado el evento.

De nuevo, puedes crear flujos más complejos (por ejemplo para heredar el título o la fecha de inicio del mensaje recibido, programando el evento a futuro). Puedes obtener más información de las acciones consultando la documentación oficial o descargando los ejemplos de nuestra plantilla.

Consejos e ideas de automatización

Los ejemplos que hemos visto son muy sencillos, pero no subestimes todo lo que puedes hacer al automatizar Google Calendar con n8n:

  • Crear un sistema de notificaciones, tanto para no perderte las novedades en un calendario al que estás suscrito, como para comunicar al resto de interesados los cambios que realices en la agenda.
  • Programa la ejecución de tareas vinculándolas a las tareas del calendario (por ejemplo, una publicación en tus redes sociales, el envío de un mensaje de felicitación en el grupo familiar o enviar un correo para reservar una sala de reuniones).
  • Combínalo con la integración de Home Assistant para automatizar acciones en tu casa con el calendario (por ejemplo, para activar la alarma cuando estás de vacaciones).
  • Deja que n8n organice tu agenda, creando o eliminando eventos en función de otros sucesos (por ejemplo, la recepción de un correo concreto o un mensaje recibido por tu bot de Telegram con ciertas palabras clave).
  • Utiliza tu calendario como registro de eventos, para tener un historial de cuándo suceden cosas (por ejemplo, cuando has recibido una factura por correo o la confirmación de un pedido).

Por cierto, no olvides tener en cuenta que el calendario de Google puede proporcionarte la fecha y hora de los eventos en relación a una zona horaria distinta a la tuya (por ejemplo, «Europe/Brussels»). Para que tus datos sean correctos tendrás que formatearla en los nodos donde sea necesario.