n8n est un outil d'automatisation de flux opensource pouvant être auto-hébergé. Parmi ce genre d'outil, Zapier et IFTTT sont les plus connus mais ne sont pas totalement gratuits et les limites sont rapidement atteintes. Découvrons n8n, un outil prometteur dans le secteur !

Ce genre de plateformes vous permet d'interagir entre différentes applications, outils, sites, fichiers, dans le but d'automatiser des tâches. Concrêtement, par exemple, vous pouvez ajouter les commentaires récoltés sur un Typeform dans une Google Sheet puis lancer une alerte sur pratiquement n'importe quelle messagerie instantanée (Slack, Telegram, Pushbullet, ...).

Voici la vidéo de démonstration de n8n :


Jan Oberhauser a créé n8n parce qu'il en avait marre de perdre du temps à écrire les parties génériques des scripts qu'il pouvait produire.
Au passage, n8n signifie "nodemation" qui est logiquement la contraction de "node" et de "automation" et est prononcé "n-huit-n".

Le code source de n8n est disponible sur GitHub.

Je ne vais pas lister toutes les applications connectées et les possibilités d'interaction (plus de 200), mais en voici quelques unes :

  • AWS, Box, Dropbox, NextCloud
  • Microsoft Teams, Discord, Disqus, Pushbullet, Zoom, Telegram, Slack, Mattermost
  • GitHub, GitLab
  • Google Drive, Sheets, Gmail
  • Jira Software, Coda, Asana, Salesforce, Zoho CRM, Trello, Toggl
  • Airtable, GraphQL, Kafka, Google Cloud Firestore
  • Mailchimp, MailerLite, SurveyMonkey, Typeform
  • Twitter, LinkedIn, YouTube, Spotify
  • MongoDB, MySQL, Postgres
  • RabbitMQ, Redis
  • Microsoft Excel
  • OpenWeatherMap, RSS Read, Rundeck, Shopify, Bitly, Philips Hue
  • ...

Parmi les fonctions disponibles, voici quelques composants :

  • Cron
  • Date & Time
  • Edit image
  • Execute command
  • FTP
  • Function
  • HTTP Extract
  • HTTP Response
  • IF
  • Merge
  • Read PDF
  • Split in batches
  • Switch
  • XML

Le site de n8n contient une page listant beaucoup de workflows déjà établis. Vous pouvez les copier ou vous en inspirer.

Vous pouvez installer n8n sur votre propre machine ou sur un serveur. Si vous ne pouvez pas héberger une instance de n8n, vous pouvez souscrire à un abonnement sur n8n.cloud.

Pour exécuter simplement n8n sur votre machine, lancez cette commande en prenant soin d'avoir NodeJS installé :

npx n8n

Si vous voulez l'installer, lancez :

npm install -g n8n

Pour exécuter n8n, lancez soit n8n, soit n8n start. Votre serveur sera accessible via l'URL transmise.

Vous pouvez également installer n8n à partir de Docker. Plusieurs configurations sont possibles et sont détaillées dans la documentation.
Par défaut, n8n utilise une base de données SQLite. Vous pouvez utiliser à la place une base MySQL, MongoDB ou Postgres.

L'utilisation de n8n est facilitée grâce à une interface performante. Il vous suffit de choisir des applications et composants, de renseigner leurs paramètres pour que n8n puisse s'y connecter (à travers les API des sites) et de suivre les différentes étapes.

La documentation de n8n est très complète et bien écrite. Vous trouverez également pléthore de tutoriels ici.

Dans un prochain article, nous verrons comment créer un workflow simple : récupération de la météo du jour et envoi d'une notification Pushbullet, un peu à la manière du script Python précédemment réalisé.