Ressources · Intégration n8n

Intégration Strava n8nAutomatiser Strava avec n8n.

Chaque sortie enregistrée dans Strava peut lancer un workflow. L'intégration Strava n8n ouvre 9 opérations sur la ressource Activity, et un trigger qui écoute 3 événements. Pensée pour les coachs, les clubs et tous ceux qui recopient encore leurs données d'entraînement à la main.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

Que fait vraiment l'intégration Strava n8n ?

Deux nœuds portent l'ensemble. Le nœud Strava interroge l'API de Strava à ta place : 9 opérations, toutes posées sur une seule ressource, Activity. Le Strava Trigger fait le travail inverse, il attend que Strava prévienne n8n qu'il s'est passé quelque chose et démarre le workflow à partir de là. Ensemble, ils permettent de lire une activité, de la recopier ailleurs, ou de renvoyer une correction vers Strava sans que personne n'ouvre l'application.

Le montage le plus courant, c'est l'archivage. Le workflow se déclenche sur create, récupère l'activité avec activity.get, puis ajoute une ligne via le nœud Google Sheets. Distance, durée et type d'activité atterrissent dans les colonnes que tu as choisies, et le carnet d'entraînement de la saison se construit pendant que tu cours. Un template n8n fait exactement ça, le workflow 2678.

Deuxième usage : le récap collectif. Une exécution planifiée lance activity.getAll avec Return All activé, va chercher les kudos et les commentaires de chaque sortie, puis publie le résumé dans un canal Slack. Les clubs s'en servent pour animer un groupe sans qu'un bénévole y passe son dimanche soir.

Le troisième écrit dans Strava. Les montres envoient souvent un nom générique, donc le workflow attrape l'événement create et appelle activity.update pour poser un Name propre, ajouter une Description, rattacher un Gear ID ou marquer la sortie comme trajet domicile-travail. Le fil reste net, sans une seule modification manuelle.

Reste à savoir où le nœud s'arrête. Il couvre la ressource Activity, ce que décrivent les 9 opérations. Quand l'endpoint dont tu as besoin n'en fait pas partie, le nœud HTTP Request appelle directement l'API Strava et réutilise le même credential grâce à l'authentification prédéfinie : rien à reconstruire côté connexion. Le nœud dédié va plus vite à configurer, HTTP Request est le repli qui débloque un workflow.

Deux comportements méritent d'être connus avant la mise en production. Strava n'autorise qu'un abonnement à la fois : un second workflow de trigger doit prendre la place avec Delete If Exist, et l'option supprime l'abonnement existant. Et tant que Resolve Data reste désactivé, le webhook ne transporte que l'identifiant de l'objet. Si tu hésites encore sur la plateforme, l'Avis n8n détaille les critères, et la Formation n8n reprend la syntaxe des expressions utilisée tout au long de cette page.

Connexion

Comment connecter Strava à n8n ?

  1. 01

    Créer une application Strava

    Dans ton compte Strava, va dans Settings puis API et crée une application. Strava génère alors un Client ID et un Client Secret, les deux valeurs attendues par n8n. Un compte Strava suffit comme prérequis, et l'application t'appartient : une seule couvre toutes les automatisations que tu monteras ensuite.

  2. 02

    Renseigner le domaine de callback

    Côté n8n, ouvre un nouveau credential Strava et copie l'OAuth Callback URL affichée. Cette valeur se colle dans ton application Strava, dans le champ Authorization Callback Domain, mais amputée : on enlève le protocole et l'URL relative. Une callback en https://oauth.n8n.cloud/oauth2/callback devient donc oauth.n8n.cloud chez Strava.

  3. 03

    Terminer la connexion OAuth2

    Recopie le Client ID et le Client Secret de l'application dans le credential n8n, puis lance la connexion. OAuth2 est la seule méthode d'authentification supportée ici : un aller-retour dans le navigateur où Strava te demande d'autoriser l'application. Un credential se crée une fois dans le menu Credentials, et le nœud comme le trigger le proposent ensuite dans leur liste déroulante.

Déclencheurs

Qu'est-ce qui déclenche un workflow Strava ?

Strava Trigger est le nœud qui démarre un workflow quand quelque chose se passe dans Strava. Il écoute 3 événements, listés ci-dessous par famille. Tu en choisis un ou plusieurs, tu actives le workflow : n8n enregistre le webhook (l'URL que Strava appelle) sur ton compte.

Ce que tu vois dans n8n

Tous les événements, par famille

Une ligne par objet, une puce par action. L'événement à cocher dans le nœud s'écrit objet.action ; survole une puce pour lire quand il se déclenche.

create.*1
  • create.
    • create
delete.*1
  • delete.
    • delete
update.*1
  • update.
    • update

Le trigger accepte aussi * (tout événement). Pratique pour du log, dangereux en production.

Notes de configuration

01Set up the Strava TriggerLe Strava Trigger enregistre un webhook, c'est-à-dire une URL que Strava appelle dès qu'il se passe quelque chose, et il l'enregistre au moment où tu actives le workflow. Chaque événement arrive ensuite en quelques secondes, sans boucle d'interrogation.

Le Strava Trigger enregistre un webhook, c'est-à-dire une URL que Strava appelle dès qu'il se passe quelque chose, et il l'enregistre au moment où tu actives le workflow. Chaque événement arrive ensuite en quelques secondes, sans boucle d'interrogation.

Paramètres clés

  • Event : lequel des 3 événements réveille le workflow. Une valeur joker existe si tu préfères tout faire entrer par la même porte.
  • Object : restreint le trigger à un type d'objet plutôt qu'une écoute large.
  • Resolve Data : désactivé par défaut, le webhook ne contient que l'identifiant de l'objet. Activé, n8n résout la donnée complète automatiquement.
  • Delete If Exist : Strava n'autorise qu'un abonnement à la fois, cette option supprime l'actuel pour laisser la place. L'opération est destructive.
Quand l'utiliser
dès que tu veux que Strava pousse l'information, plutôt qu'une exécution qui repose la question en boucle.
02CreatedL'événement create se déclenche quand un nouvel objet apparaît dans le compte. C'est le plus fréquent des 3 et celui sur lequel la plupart des automatisations reposent.

L'événement create se déclenche quand un nouvel objet apparaît dans le compte. C'est le plus fréquent des 3 et celui sur lequel la plupart des automatisations reposent.

Paramètres clés

  • Event : positionné sur create, le workflow ignore alors les modifications et les suppressions.
  • Resolve Data : utile ici, puisqu'un objet fraîchement créé arrive sous forme d'identifiant et que la suite a besoin de son contenu réel.
Cas d'usage
une sortie se termine, elle apparaît dans le fil, et le workflow l'archive, la renomme ou prévient le groupe d'entraînement. À combiner avec activity.get quand tu préfères aller chercher la fiche toi-même et maîtriser ce que reçoit le nœud suivant.
Quand l'utiliser
pour tout ce qui doit arriver une fois par nouvelle entrée, et jamais deux.
03UpdatedStrava émet update quand un objet existant change. Quelqu'un renomme une séance, corrige son type ou reprend la description, et le workflow est prévenu.

Strava émet update quand un objet existant change. Quelqu'un renomme une séance, corrige son type ou reprend la description, et le workflow est prévenu.

Paramètres clés

  • Event : update, ce qui tient les créations hors de cette branche.
  • Object : pratique quand un seul type d'objet compte et que le reste est du bruit.
Cas d'usage
garder une copie externe fidèle. Si la ligne existe déjà dans ton carnet, un événement de mise à jour dit de la rafraîchir au lieu d'en ajouter une seconde, et activity.get fournit les valeurs à jour. Un coach y voit aussi les corrections tardives sur une séance déjà commentée, bien après le débriefing.
Quand l'utiliser
quand la donnée vit à deux endroits et que la copie doit suivre l'original au lieu de s'en écarter petit à petit.
04DeletedLes suppressions remontent via delete. Le workflow apprend qu'un objet a disparu, information qu'aucune opération de lecture ne pourra donner après coup.

Les suppressions remontent via delete. Le workflow apprend qu'un objet a disparu, information qu'aucune opération de lecture ne pourra donner après coup.

Paramètres clés

  • Event : delete, sur sa propre branche ou fusionné avec les 2 autres via la valeur joker.
  • Resolve Data : à laisser désactivé ici. La fiche n'existe plus, c'est l'identifiant de l'objet qui sert de point d'accroche.
Cas d'usage
le ménage. Retirer la ligne correspondante d'un tableau, archiver la fiche, ou signaler le trou pour qu'un total mensuel ne compte pas une séance effacée volontairement. Conserver l'identifiant de l'objet à côté de chaque ligne écrite rend le rapprochement immédiat le jour où il faut retrouver la bonne entrée, et ça se décide dès le premier export.
Quand l'utiliser
quand un système externe conserverait sinon une donnée que Strava n'a plus, et que l'écart passerait inaperçu pendant des semaines.
Actions

Ce que le nœud Strava sait faire

Le nœud Strava expose 9 opérations sur 1 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.

Matrice ressources × opérations
RessourceCreateGetGet ManyUpdateGet CommentsGet KudosGet LapsGet StreamsGet Zones
Activity✓✓✓✓✓✓✓✓✓

Activity

9 opérations
01

Create an activity

activity.create

Ce que tu vois dans n8n

Notes & cas d'usage

Enregistre une séance dans Strava à partir de données déjà présentes dans le workflow, ce qui fait entrer dans le fil les entraînements captés ailleurs que sur une montre connectée.

Paramètres clés

  • Name : le nom de l'activité, requis et visible dans le fil.
  • Type : le type d'activité, par exemple Run ou Ride.
  • Start Date : une date et heure au format ISO 8601.
  • Elapsed Time (Seconds) : la durée en secondes, pas en minutes.
  • Additional Fields : 4 champs optionnels, Distance en mètres, Description, Commute et Trainer.
Cas d'usage
une séance de renforcement saisie dans un formulaire arrive dans Strava avec la bonne durée et le bon libellé.
02

Get an activity

activity.get

Ce que tu vois dans n8n

Notes & cas d'usage

Va chercher une activité complète, l'étape qui transforme un simple identifiant en fiche exploitable par la suite du workflow.

Paramètres clés

  • Activity ID : l'identifiant requis de l'activité, le plus souvent {{ $json.object_id }} quand il vient directement du trigger.
Cas d'usage
le trigger se déclenche sur une nouvelle sortie et ne te donne qu'un identifiant ; cette opération récupère la fiche derrière, pour que le nœud suivant écrive une vraie ligne et pas un nombre. C'est aussi le moyen le plus court de relire une séance avant de décider s'il faut la corriger.
03

Get all activity comments

activity.getComments

Ce que tu vois dans n8n

Notes & cas d'usage

Tous les commentaires laissés sous une activité reviennent par cet appel, un item par commentaire.

Paramètres clés

  • Activity ID : requis, l'activité dont tu veux les commentaires.
  • Return All : activé, n8n enchaîne les pages de l'API jusqu'au dernier commentaire. Désactivé, Limit fixe le nombre maximal renvoyé.
Cas d'usage
un récap de club qui reprend ce que les uns et les autres ont écrit sous la sortie du week-end. Pendant la phase de construction, laisse Return All désactivé sur une activité très commentée, les tests restent rapides.
04

Get all activity kudos

activity.getKudos

Ce que tu vois dans n8n

Notes & cas d'usage

Récupère les kudos déposés sur une activité, pour transformer l'engagement en une valeur que le workflow peut exploiter.

Paramètres clés

  • Activity ID : requis, l'activité que tu mesures.
  • Return All : coché, tous les kudos sont récupérés page après page ; décoché, Limit pose le plafond.
Cas d'usage
un classement mensuel des séances qui ont le plus réagi, ou une règle qui ne repartage une sortie qu'au-delà d'un seuil que tu définis. Compter les items renvoyés suffit en général, aucun appel supplémentaire à prévoir.
05

Get all activity laps

activity.getLaps

Ce que tu vois dans n8n

Notes & cas d'usage

Les tours reviennent un par item pour l'activité visée, et c'est là que le travail en fractionné devient lisible.

Paramètres clés

  • Activity ID : requis, la séance à découper.
  • Return All : activé pour la liste complète des tours, désactivé pour s'arrêter à Limit.
Cas d'usage
un coach pousse chaque tour d'une séance sur piste dans un tableau pour comparer les temps de passage d'une semaine à l'autre. Sur une séance à tours courts et nombreux, Return All compte vraiment : une liste tronquée masque la fin du travail.
06

Get many activities

activity.getAll

Ce que tu vois dans n8n

Notes & cas d'usage

Parcourt l'historique d'activités du compte au lieu de viser une séance, et c'est la seule opération de la liste qui ne demande aucun identifiant.

Paramètres clés

  • Return All : activé, n8n redemande des pages jusqu'à épuiser l'historique. Désactivé, Limit décide du nombre d'activités renvoyées.
Cas d'usage
le premier passage d'un export, qui remplit une saison d'entraînement en une exécution avant que le trigger prenne le relais sur les nouvelles séances. Pratique aussi pour un récap planifié qui n'a besoin que des dernières.
07

Get all activity streams

activity.getStreams

Ce que tu vois dans n8n

Notes & cas d'usage

Les streams sont les séries point par point derrière une activité, et cette opération renvoie celles que tu demandes.

Paramètres clés

  • Activity ID : requis, l'activité à lire.
  • Keys : les types de streams souhaités, à cocher dans une liste multiple. On y trouve entre autres heartrate, watts, altitude, cadence, latlng, velocity_smooth et grade_smooth.
Cas d'usage
sortir la fréquence cardiaque et la puissance d'une séance difficile pour la tracer ailleurs. Ne coche que les clés utiles, chacune ajoute une série entière au résultat.
08

Get all activity zones

activity.getZones

Ce que tu vois dans n8n

Notes & cas d'usage

Les données de zones d'une seule activité arrivent dans le workflow, prêtes à être stockées à côté de la séance concernée.

Paramètres clés

  • Activity ID : requis, la séance dont tu veux les zones.
  • Return All : actif, l'ensemble est récupéré ; inactif, Limit le réduit.
Cas d'usage
un carnet d'entraînement où chaque séance porte sa répartition par zone à côté de la distance et de la durée, pour relire un mois de travail par l'intensité et pas seulement par les kilomètres.
09

Update an activity

activity.update

Ce que tu vois dans n8n

Notes & cas d'usage

Modifie une activité qui existe déjà, et seuls les champs renseignés changent. Le reste demeure tel que Strava l'a enregistré.

Paramètres clés

  • Activity ID : requis, l'activité à modifier.
  • Update Fields : 8 champs optionnels, dont Name, Description, Sport Type à choisir dans la liste des sports, Gear ID, Commute, Trainer et Mute Activity, qui tient la séance hors des fils Home et Club.
Cas d'usage
renommer chaque envoi générique dès son arrivée, ou rattacher automatiquement la bonne paire de chaussures.
Besoin d'aide

Besoin d'aide pour automatiser Strava avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Strava et n8n, les questions qui reviennent

01L'intégration Strava n8n est-elle gratuite ?
Oui côté n8n. Le nœud Strava et le Strava Trigger sont livrés avec n8n : rien à installer, aucun coût supplémentaire pour les utiliser. C'est vrai sur n8n Cloud, l'offre hébergée par n8n, comme sur une instance auto-hébergée en Community Edition sous licence Sustainable Use. Un workflow se comporte de la même façon dans les deux cas, donc tu peux prototyper sur Cloud puis déplacer le tout sur ton propre serveur sans réécrire quoi que ce soit. Ce que coûte un compte Strava est une autre question, et cette page ne la traite pas.
02Quels credentials faut-il pour Strava dans n8n ?
OAuth2, et c'est la seule méthode d'authentification supportée. Tu crées une application Strava dans Settings puis API, ce qui génère un Client ID et un Client Secret. Les deux vont dans un credential Strava unique côté n8n, avec un détail de configuration à ne pas rater : l'OAuth Callback URL affichée par n8n doit être recopiée dans l'application Strava comme Authorization Callback Domain, sans le protocole et sans l'URL relative. Ce credential se crée une fois dans le menu Credentials, puis tous les workflows le réutilisent, le nœud comme le trigger le proposant dans leur liste.
03Quelles sont les limites du nœud Strava dans n8n ?
Il expose 9 opérations, posées sur une seule ressource, Activity. Quand l'endpoint recherché n'en fait pas partie, le nœud HTTP Request appelle directement l'API Strava et réutilise le même credential via l'authentification prédéfinie, donc rien n'est à reconstruire. Sur les lectures qui renvoient des listes, Return All enchaîne les pages de l'API jusqu'au bout, tandis que l'option désactivée plafonne le résultat à Limit. Une contrainte de plus se joue côté trigger : Strava n'autorise qu'un abonnement à la fois, donc un second workflow doit prendre la place avec Delete If Exist, une opération destructive.
04Le Strava Trigger réagit-il en temps réel ?
Oui. Il fonctionne par webhook, c'est-à-dire une URL que Strava appelle dès qu'un événement se produit. n8n enregistre cette URL auprès de Strava à l'activation du workflow, et chacun des 3 événements arrive en quelques secondes, sans interrogation régulière. Un détail change ce que tu reçois : par défaut le webhook ne transporte que l'identifiant de l'objet, donc active Resolve Data si le nœud suivant a besoin de la fiche complète. Sinon, passe l'identifiant à Get an activity et va chercher la donnée toi-même, tu gardes la main sur sa forme.
05n8n ou Make pour Strava ?
Ça dépend de l'endroit où tu veux tes données et de la façon dont tu veux payer. Make est une plateforme d'automatisation hébergée, sans option d'auto-hébergement, facturée à l'opération : la note suit le volume. n8n s'installe sur ton serveur via Docker ou npm, ou s'utilise sur n8n Cloud si tu préfères ne rien administrer, et le workflow reste identique dans les deux cas. Pour Strava, les deux approches tapent sur la même API : la vraie question porte sur la maîtrise des données et le modèle de coût au volume attendu. La logique visuelle diffère aussi, et là, c'est une affaire d'habitude.