Automatiza Strava y Notion con GitHub Actions
Introducción
Este es el segundo post de la serie Controla tu Strava con Notion. En esta tercera, y última parte, vamos a contar como automatizar la sincronización de actividades con nuestra base de datos de Notion y olvidarnos de este proceso.
Como hemos visto en los anteriores posts, el acces_token de Strava tiene una vida útil de 6 horas, por tanto, es necesario ir actualizándolo constatemente para poder seguir recibiendo los datos. Para no tener que hacer esto de forma manual, que no sería nada sostenible, vamos a usar una GitHub Action que se encargue a una hora del día de volver a solicitar el nuevo acces_token, solicitar las actividades y pintarlas en la tabla de Notion completamente actualizadas.
Esta serie son tres posts divididos en las siguientes partes:
1. Prepara tu repositorio en GitHub
Crea un nuevo repo en Github para el guardar el código que ejcutaremos y ponle el nombre por ejemplo de strava-to-notion.
Sincronízalo con tu carpeta local, que es en la que estábamos ejecutando para que pintara los datos en Notion.
2. Crea un archivo de workflow en GitHub Actions
Los workflows en GitHub Actions están definidos en archivos YAML dentro del directorio .github/workflows/ del repo. Vamos a crear un flujo de trabajo para automatizar la ejecución del script que sincroniza Strava con Notion.
Estructura básica del directorio workflows
3. Configura el archivo sync-strava.yml
Añadimos el siguiente código para ejecutar el flujo de trabajo en un horario definido:
4. Configura los secretos de GitHub
Los secretos son variables de entorno que se almacenan de manera segura en GitHub, y los usaremos para almacenar las credenciales sensibles como los tokens de acceso para Strava y Notion. Lo hacemos de la siguiente manera:
5. Actualiza tu archivo sync-strava.js
Es necesario actualizar el archivo principal con las variables de entorno, que son los Secretos de GitHub, y nos permitiran autenticarnos con Strava y acceder a los datos, así como también en Notion. También tenemos que actualizar el token de Strava cuando expire
6. Súbelo a GitHub y activa el workflow
Una vez que hayas configurado el archivo .github/workflows/sync-strava.yml y agregado los secretos, súbelo a tu repositorio en GitHub. GitHub Actions ya solo se encargará de ejecutar el workflow según la programación que hayas definido.
7. Comprueba que funciona bien el flujo de trabajo
Puedes ver la ejecución de los workflows directamente en GitHub:
Ahora ya, con este último post, deberías de poder ver en la base de datos de Notion como se actualiza las actividades según se vean generando nuevas en Strava. En Notion, ya puedes hacer infinidad de cosas para saber estadísticas o poder medir tu entrenamiento.
Si quieres comentar algo sobre este post o la serie sobre Strava puedes hacerlo en el siguiente hilo de Bluesky:

He escrito el primer post de como estoy visualizando mi actividades de Strava en Notion a través de su API : www.quiqueciria.es/activities_s...

[image or embed]

— Quique Ciria (@quiqueci.bsky.social) 2 de febrero de 2025, 11:01
Quique Ciria • 2025 • info @ quiqueciria.es