Cómo integrar Google Calendar con Notion

Por
Juanjo Espada

Vamos con una ronda de integraciones salvavidas. ¿Usas Google Calendar y te gustaría que estuviese sincronizado con tu Notion para poder tener un calendario con superpoderes y vitaminado?

En este artículo vamos a ver cómo podemos sincronizar ambas herramientas, mediante automatizaciones en Make.

Sigue leyendo porque esto va a ser muy bestia.

Y si quieres profesionalizarte como experto en automatizaciones tenemos un programa en SharingAway hecho para ti.

¿Por qué integrar Google Calendar y Notion?

Buena pregunta. Lo primero es conocer para qué queremos montar todo este sistema. La respuesta es clara: ambas herramientas se complementan a las mil maravillas.

Podemos, por ejemplo, tener nuestro Google Calendar siempre a mano, en nuestro smartphone, por ejemplo, y, en nuestro Notion, una base de datos de tareas que incluya bastante más información. De este modo, obtengo la rapidez de crear eventos en Calendar y, además, puedo completarlos, de manera muy bestia, con todo lo que se me ocurra en Notion, creando así una agenda hipervitaminada.

También puede darse el caso, por ejemplo, de que tengamos toda nuestra agenda y queramos migrarla a Notion. Con estas automatizaciones que vamos a ver podemos hacerlo en cuestión de segundos.

Cómo sincronizar Google Calendar con Notion

Bien, la primera de las automatizaciones que vamos a hacer es conectar lo que ya tenemos en Google Calendar a un Notion en el que, además, vamos a poder, como decía antes, incluir todo aquello que queramos de información.

Para hacer esta automatización, nos iremos a Make. El escenario resultante va a ser algo como lo que puedes ver en la imagen.

Antes de construir esta automatización, en nuestra base de datos de Notion que dará soporte a nuestro calendario debemos de incluir, como mínimo, los siguientes campos:

Tenemos un nombre para el evento, que coincidirá con el que pongamos en Calendar.

También una fecha del evento, en este caso debemos de marcar una fecha de inicio y de fin. Puedes hacerlo con un solo campo o con dos campos de fecha, pero debes incluir ambas fechas para que esto funcione.

Otro campo de estado. En este caso, podemos utilizar “confirmed” y “cancelled” como opciones, pues serán las que nos pase Google Calendar para cada evento.

Por último, deberemos incluir el ID del evento del calendario en Google Calendar para, así, poder establecer filtros. Este campo se rellenará automáticamente con nuestra automatización.

Bien, pues vamos ya a Make y vamos a ir metiendo módulos a nuestro escenario. El primero de ellos va a mirar los eventos que tenemos programados en nuestro Google Calendar. Estos eventos le vamos a decir que nos los busque por la fecha de modificación.

El siguiente módulo buscará entre los elementos que tenemos en nuestro Notion para saber si los eventos que vamos a sacar desde Calendar están ya registrados o no. Para ello, usamos el módulo “Search Objects” de Notion y le indicaremos que establezca un filtro que indique que el ID que tenemos apuntado en nuestro Notion coincida con el ID del evento en Calendar.

Ya tenemos ambas herramientas conectadas, ahora falta determinar si lo que queremos hacer es crear un elemento o editarlo.

Para ello, insertaremos un router que bifurcará dos caminos. El primero, si el récord no existe en Notion, llevará la siguiente fórmula:

En caso de que el camino vaya por un récord que ya existe, utilizaremos la misma fórmula, pero cambiando la operación a “Exists”.

Una vez establecidos los filtros, en el caso de que no exista el record, utilizaremos un módulo de Notion de “Create a Database Item”. En él, iremos mapeando los diferentes datos que necesitamos: como nombre del evento será el summary de Calendar; el ID que necesitamos en Notion lo sacaremos del Event ID de Calendar. Igual que las fechas de inicio y fin. Es recomendable activar la opción de incluir la hora.

En el camino en el que el récord sí que existe, lo que deberemos de crear es un módulo de “Update a Database Item” y rellenaremos los campos de igual manera que el anterior salvo el “Database Item ID”, que cogeremos desde el módulo de “Search Objects” que colocamos en el segundo de los pasos de este escenario.

Bueno… pues lo tenemos todo. Vamos a hacer una prueba. Voy a crear un evento en Calendar y veremos a ver si se pasa también a Notion.

Como ves, se crea de manera automática. El escenario funciona. Pero, ¿y si cambiamos la hora del evento?

Pues, como puedes comprobar, también se actualiza. ¿Y en el caso de que decida borrar el evento?

Pues si borro en Calendar, este aparecerá como cancelado en Notion. Esto es así porque, de primeras, no tengo una opción para borrar registros desde Notion en Make.

Tremendamente útil, ¿verdad? Pues vamos con el paso a la inversa.

¿Cómo integrar Notion con Google Calendar?

Imagina que, cuando estás delante de tu ordenador quieres trabajar con Notion, porque te permite una serie de herramientas brutales para vitaminar tu agenda.

En este caso, vamos a ver qué automatización deberemos aplicar aquí:

Como puedes ver, lo que haremos aquí es pedir a Make que vea los registros que tenemos en nuestra base de datos para, posteriormente, crear, editar o borrar un evento del calendario de Google Calendar. Veámoslo módulo a módulo.

El primero de ellos, mirará en los registros de Notion y extraerá aquellos que hayan sido modificados.

Una vez establecido este paso, vamos a colocar un router para dividir en tres el camino. En cada uno de ellos vamos a establecer filtros.

El primero de los filtros activa el camino si el evento de Notion no existe en Calendar. En este caso, le diremos que la propiedad de la tabla llamada “Calendar ID” (que recuerda que era la que pasábamos a Notion con el ID del evento en Google Calendar) sea igual a “null”, es decir, que no existe.

Además, a este filtro deberemos de añadirle que, en el estado del evento, hayamos marcado que sea “confirmed”, para, así, equipararlo con el escenario que hicimos anteriormente. De este modo pasarán por aquí todos aquellos registros que estén confirmados y que no estén en Calendar.

Una vez establecido esto, seguiremos el camino con un módulo de “Create an Event” de Google Calendar.  En este módulo iremos mapeando toda la información que extraemos del registro de la tabla de Notion.

Ahora vamos a ver qué pasa si el evento existe. Tenemos dos opciones, editarlo y borrarlo. En ambos casos deberemos poner, como primera parte del filtro, que el valor “Calendar ID” no sea igual a Null. Además, deberemos de añadir otro filtro que indique que el estado sea “confirmed” o “cancelled” en función de si estamos en el camino de editar o de borrar.

Una vez establecido, debemos añadir un módulo de “Update an event” de Google Calendar y  rellenar, de nuevo, los campos con los valores que extraemos de la tabla de Notion. El “Event ID”, que será el que determine qué evento se va a modificar, lo extraemos de esa columna de “Calendar ID” que, a su vez, extrajimos de Google Calendar a nuestro Notion. Un poco trabalenguas, ¿no?

En el caso de que queramos borrar un evento, utilizaremos el módulo “Delete an Event” y el ID lo sacaremos de ese campo de “Calendar ID”.

En este caso, al final del camino, deberemos de insertar otro módulo de “Update a Database Item” de Notion en el que pongamos, como valor de “Calendar ID”, (deleted).

Podemos probarlo y veremos que, también, la conexión funciona de maravilla.

¿Qué os ha parecido esta integración? ¿Creéis que puede serviros de utilidad? Para cualquier duda o comentario, ¡nos vemos por la comunidad!

Juanjo Espada
🦄 Creando soluciones potentes para empresas

Únete a nuestra escuela y comunidad de NoCode

Más de 100h de formación NoCode en vídeo, comunidad en Slack, descuentos en las mejores herramientas y eventos de comunidad.

Ver todo lo que ofrecéis