Saviez-vous que Free met à disposition une API SMS pour envoyer des notifications SMS directement sur votre téléphone ?
Note : L’API permet d’envoyer des notifications uniquement à votre numéro de téléphone Free, elle ne permet pas d’envoyer des SMS à d’autres numéros, mais c’est parfait pour un système de notification.
Activer la fonctionnalité “notification par sms”
Bien entendu, il faut disposer d’un numéro de téléphone Free pour accéder à cette fonctionnalité. Ensuite, il faut vous rendre dans les paramètres de votre compte Free mobile (https://mobile.free.fr/account/mes-options):
Activer la fonctionnalité (dans “mes options > notification par sms”) :
Copier la clé API pour le besoin juste après.
Utiliser l’API dans n8n
Pour l’exemple, on va créer un workflow qui notifie par sms. On va faire en sorte que ce workflow s’exécute, par le biais d’un autre workflow.
On va créer ceci :
Faire un node Set avec les variables suivantes :
On va définir :
user => votre numéro d’utilisateur Free mobile
pass => la clé API de notification SMS
Pourquoi ne pas définir sous forme de Credential ?
Les variables, user, pass et mess sont directement encoder dans l’url, pour le moment d’après mes recherches, on peut pas créer de Credential n8n pour les mettre directement dans une URL. Si j’ai faux, merci de me le signaler en commentaire 😄.
Comme nous allons envoyer le message comme variable dans l’url, nous allons créer un node pour encoder le message dans l’url :
Pour pouvoir l’utiliser à partir d’un autre workflow on va utiliser le trigger “Execute Workflow Trigger”. Ce trigger prend en paramètre le résultat d’un node précédent, on va le voir après, lors d’un déclenchement à partir d’un autre workflow.
Test avec un autre workflow
Dans le node “Envoi message” on crée une variable “mess” avec notre message test qui sera pris en paramètre du précédent workflow.
Pour le node execute Workflow :
Dans Workflow ID on va mette l’ID du workflow.
Comment obtenir l’ID ?
Tout simplement avec l’URL du Workflow en question :
https://n8n.monlab.fr/workflow/4LjGtoFyzPKgn2xr
Voici un exemple de résultat si c’est ok :
Conclusion
On a vu dans ce tutoriel :
Comment activer les notification SMS avec Free mobile
n8n : Peut-on créer des tâches Notion à partir d’un shortcut IOS ?
Introduction
Nous pouvons faire bien des choses avec n8n. Dans cet article nous allons voir comment on peut lancer un workflow n8n à partir d’un shortcut sur ios (l’application Raccourcis en français 😄), mais également ce que l’on peut faire avec. Si vous ne connaissez pas encore n8n je vous invites à lire mon article sur celui-ci.
L’intérêt de cette exercice est par exemple de déclencher un Workflow depuis un iphone/ipad/mac 🍎.
Note : utilisation en direct de l’API Notion
Nous pouvons en effet utiliser directement l’API de Notion depuis un shortcut, mais l’avantage d’utiliser n8n va être dans l’utilisation d’autres outils, tel que Telegram pour envoyer une notification ou encore utiliser une variable “choix” pour choisir de créer une tâche dans Notion ou Trello par exemple.
Voici le résultat :
Lancer un workflow à partir d’un shortcut ios ?
Pour commencer, nous allons donc lancer un workflow n8n à partir d’un shortcut. Une manière simple d’y parvenir est d’utiliser un appel webhook. Un webhook est une fonction de rappel basée sur le protocole HTTP.
Sur n8n, on va utiliser le déclencheur “on webhook call” :
Je vais vous détailler certains paramètres car ceci peuvent être utile pour votre workflow :
“Test URL” -> Quand vous appuyer sur le “Listen For Test event” c’est l’url qui faudra appeler pour déclencher le Workflow pendant vos tests.
“Production URL” -> L’URL qu’il faudrait appelé quand votre workflow sera en production, par “production” n8n veut dire quand le workflow sera “actif”.
“Authentification” -> comme son nom l’indique cela permet de rajouter une authentification à votre appel webhook typiquement pour éviter que n’importe qui puisse déclencher le workflow.
“HTTP Method” -> Vous pouvez indiquer ici, s’il s’agit d’un GET, POST ou autres méthodes HTTP.
“Path” -> Permet de personnaliser l’url d’appel du webhook.
On va personnaliser le Path en “test-webhook” (1) pour simplifier un peu et rajouter une authentification (2-3) :
Pour l’authentification basique, ajouter un utilisateur et un mot de passe (dans mon authentification, j’ai utilisé login: test, password : test) :
Maintenant, allons du côté de l’application shortcut :
Je défini une variable “login” qui servira pour les identifiants de l’API, il faudra ensuite l’encoder en base64.
Je défini ensuite mon url en méthode GET dans mon cas, n’oubliez pas d’adapter le l’url par rapport à votre path. On va ensuite utiliser “obtenir le contenu de l’url” (prendre l’url précédente en variable). Ajouter les 2 clés d’en-têtes (Content-Type : application/json & Authorization : Basic suivi de votre variable login).
Cliquer ensuite sur “Listen for test Event” sur n8n, pour lancer le test, puis exécuter le shortcut sur votre iphone.
Félicitation, vous venez dans lancer un workflow n8n depuis un shortcut ios ! 😄
On peut maintenant envoyer de la donnée au Workflow.
Dans le shortcut nous allons :
Demander du texte (1)
Définir une variable “tache” avec l’entrée indiquée (2)
Dans “obtenir le contenu url”, on va envoyer notre variable “tache” pour la récupérer dans n8n. Passer la requête en “POST” pour pouvoir envoyer de la données et mettre la variable dans le corps de la requête. (3)
Pareil dans n8n.
Vous pouvez à présent cliquer sur “listen for test event” dans n8n , puis exécuter le Workflow, définir votre texte. Vous pouvez retrouver ensuite vos données dans n8n comme ceci :
Créer une tâche et renvoyer le lien vers celle-ci
On va maintenant envoyer des données dans Notion pour créer une tâche et renvoyer le lien de la tâche précédemment crée vers le shortcut.
Dans Shortcuts :
A la suite du shortcut précédent :
On va obtenir le contenu de l’URL pour récupérer “le retour” de n8n.
On va mettre l’étape “URL” sur “Décoder” puis la variable sur “Contenu de l’URL”, on va ensuite “obtenir la valeur du dictionnaire” une fois pour url et pour tache que l’on va ensuite définir dans la variable url-respond et tache-respond.
On va ensuite envoyer une alerte à l’utilisateur une alerte avec le nom de la tâche et lui proposer d’ouvrir le lien vers la tâche.
Dans n8n :
Dans n8n, nous allons donc récupérer l’appel API et les données, ainsi que répondre avec l’url de la tâche Notion crée :
On va modifier notre webhook :
HTTP Method -> Passer à POST
Respond -> Passer à “Using ‘respond to Webhook’ Node”
On rajouter d’ailleurs, le node en question :
On va renvoyer les données en json à notre shortcut avec les bonnes variables :
Conclusion
Nous venons de voir :
Comment déclencher une action dans n8n avec un shortcut IOS et transmettre des données
Comment fonctionne les webhook sur n8n
Comment renvoyer des données a un shortcut IOS
Un éventail de possibilité s’offre maintenant à vous pour vos workflows 🤩
Aujourd’hui je vous présente N8N, un outil que j’utilise souvent dans le cadre de projet personnel ou professionnel qui permet d’interconnecté différentes API et d’effectuer des transformation, insertion et suppressions par le biais d’une interface facile à prendre en main. Un outil très utiliser par les “no-codeur”. En NO-CODE on parle également d’outil d’automatisation.
Capture d’écran d’un exemple de Workflow sur le site de N8N
L’intérêt de N8N est qu’il s’agit d’un projet “faircode” (on reviendra après sur cette licence) souvent mis à jours et que vous pouvez avoir une version héberger chez vous.
Un marché très concurrentiel
N8N n’est pas le seul sur le marché, bien au contraire. Il existe bon nombre d’outil plus où moins cher sur le marché voici quelques exemples :
Zapier (0€ pour 100 tâches par mois, puis à partir de 18,26€ par mois pour 750 tâches par mois)
Make (0$ par mois pour 1000 ops, puis à partir de 9$ par mois pour 10 000 ops)
IFTTT (0€ par mois pour 2 Applets, puis à partir 2,30€ par mois)
Les prix qui sont notés ici sont datés de l’écriture de ce billet. Il faut également faire attention, la “tâche”, “opération” ou “workflow” ce défini de façon différente selon les outils, il est important de faire différents tests d’un même workflow sur plusieurs outils pour comparer. Par exemple, une “ops” sous Make va représenter souvent simplement l’envoi d’une ligne alors que sous Zapier il s’agit d’une exécution d’un workflow (ou Zaps) en entier.
Je vais pas faire de comparaison pousser ici, mais de ce que j’ai pu voir, Zapier à plus de paramètres et il conviendra mieux aux développeurs, Make est très “user friendly” avec une interface facile à prendre en main et donc idéal pour les débutants. Pour IFTTT (ou définition), il dispose de beaucoup d’intégration disponible pour IOT, il conviendra donc mieux à ceux qui cherchent à automatiser leurs objets connectés. Pour Microsoft Power Automate, il sera forcément mieux intégré à un environnement Microsoft.
Pourquoi utiliser N8N ?
Du coup, pourquoi choisir N8N qui n’est pas dans la liste précédente ? 😄
Le prix est le premier argument : en hébergeant la solution moi-même avec du docker, je ne paye pas l’exécution d’un Workflow et j’ai un nombre de Workflow illimités. Par contre si vous souhaitez ne pas héberger la solution, vous pouvez toujours prendre un instance chez N8N voici les prix (selon les modèles, vous pouvez bénéficier d’autres fonctionnalités tel que le versionning, la sauvegarde des identifiants dans un vault ou le SSO pour le modèle entreprise par exemple.) :
Tarification sur le site de N8N
“FairCode” (pas d’open-source mais l’accès au code) : Et oui vous pouvez accéder au code source de N8N (lien vers le github). Vous pouvez contribuer, à la documentation mais également proposer vos propre node sur npm (les nodes sont les nœuds qui permettent de communiquer avec une API existante ou effectuer des transformation de données).
❓
“Faircode licence” ? N8N est un logiciel Fair-code, c’est à dire qu’il est qu’il est libre d’utilisation, son code est généralement publique mais il peut être limité en fonctionnalité par ces auteurs. Pour plus information vous pouvez allez à la page dédié sur la documentation de N8N.
Pourquoi ne pas utiliser N8N ?
Il y a aussi des mauvais côtés que j’ai noté :
Pas de possibilité de testé N8N sur leurs serveurs sans payer (comme noté plus haut sauf si vous utilisez du docker, l’intérêt est de l’installer sous cette configuration.)
Les applications de bureau sont arrivées en fin de support : avant on pouvez installer N8N directement sous Windows avec un .exe ou sur MacOS avec une application, mais N8N a arrêter le support.
Certains node ne dispose pas de tous les appels API et ne sont pas toujours mis à jours.
Il est possible d’insérer du code mais uniquement en Javascript pour le moment (le python en bêta).
Peut ce montrer moins “user friendly” que Make ou Zapier par moment.
Installation de N8N avec docker-compose
💡
Passer cette étape si vous souhaité utiliser la version SAAS de l’outil
Maintenant que les présentation sont fait avec N8N, on va passer à l’installation. La suite, dans le cadre où vous n’utilisez pasla version SAASde l’outil.
CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
EOSQL
else
echo"SETUP INFO: No Environment variables given!"
fi
N’oublier pas de changer les droits du fichier :
chmod 755 init-data.sh
Utilisation de N8N
Bon maintenant que l’installation de nos conteneurs docker est terminé, si on passé aux choses intéressantes ?
Un peu de vocabulaire :
Les workflows -> Un workflow est un ensemble nodes qui sont exécutés pour effectuer des actions qui permettent de faire des choses. Il sont exécutés par un “trigger”
Les triggers -> Les triggers sont des nodes permettent de déclencher des Workflows (Ex: Toutes les heures, quand un webhook est appelé ou via un autre workflow 😊)
Les nodes -> les nodes, c’est un peu coeur de N8N, si c’était de la programmation ce serait des fonctions. il permettent d’effectuer une action sur une API (récupérer des informations, poster un message…etc) ou une transformation (convertir une date, enlever du texte dans une phrase…etc)
Les credentials -> La où vous enregistrerez vos identifiants pour vous connecter aux applications.
Après que vous aillez crée votre compte et que vous vous soyez connectez. Voici l’interface d’accueil :
Interface d’accueil d’N8N
Exemple de Workflow N8N (Notion + Telegram)
Dans cette exemple “basique” de Workflow je vous montre comment envoyer une notification Telegram quand une nouvelle page est ajouté à Notion.
Une fois l’intégration crée, pensez à copier l’integration secret nous en aurons besoin juste après.
Dans Notion les intégrations n’accède pas à toutes les BDD (et tant mieux 😊) il va falloir lui dire à qu’elle BDD nous souhaitons lui donner accès.
Prenons par exemple une liste des tâches simple. Vous pouvez en cliquant sur les options de la BDD ajouter une nouvelle connections vers votre integration :
Une fois ceci fait vous pouvez voir les droits que l’integration a sur votre BDD :
Ajouter le credential Notion dans N8N :
Allez dans credentials (menu à gauche) > add credentials :
Ajouter un credential dans N8N
Entrer votre secret que vous avez précédemment récupéré (vous pouvez renommer le credential pour ne pas vous y perdre quand vous en avez beaucoup) :
Une fois entrée, un test confirme la connexion.
On va tout de suite tester que notre BDD remonte bien :
Dans Workflows > add Workflow :
On va ensuite rajouter notre premier node : un trigger manually. Ceci va permettre d’executer le Workflow lors de l’appui du bouton en bas au centre.
Création du trigger “manually”
Cliquer ensuite sur le ”+” à coté du node “Manually” pour relier un nouveau node et chercher les nodes Notion :
Choisir “get many database pages” pour récupérer toutes les pages d’une BDD.
Dans “credential” choisir le credential que vous venez de créer :
Choix du credential dans le node
Choisir ensuite votre BDD Notion (seul les BDD que vous avez autorisé préalablement peuvent remonter). Le “Return All” permet de remonter tous les éléments d’une BDD (par défaut 50 éléments ) :
Choix de la BDD Notion dans le node Notion
Vous pouvez quitter l’édition du node (en cliquant en dehors de celui-ci).
Il ne vous reste plus qu’à executer :
Execution du Workflow
Si vous double cliquer sur notion vous pouvez voir dans l’édition du node :
1. L’entrée des données dans le node (ici rien car il s’agit d’un trigger manually)
2. La sortie du node Notion avec nos différentes page de notre Base de données
3. Les boutons permettant de voir les données avec différentes vue (sous format Table, sous format JSON ou sous format de schema)
Interface d’un node
Félicitation vous venez de remonter des données de Notion dans N8N ! 👏
Passons à la phase suivante -> Le bot Telegram.
La première étape est d’entamé la conversation avec le BotFather, c’est l’outil de Telegram pour créer les bots 🤠 (un bot pour crée des bot en somme).
Le BotFather
Commencé par lui demander de crée un nouveau bot avec la commande :
Fenêtre de terminal
/newbot
création du bot
Une fois ceci fait, donner un nom à votre bot (attention celui-ci doit finir par bot à la fin). Vous obtenez alors une clé api :
Clé API pour pouvoir utiliser un bot Telegram
Copier cette clé en cliquant dessus et ajouter la aux credentials N8N :
Une fois ceci fait lancer une conversation avec votre nouveau bot :
Première échange avec notre chatbot
Ce /start que nous venons d’envoyer en débutant la conversation va nous permettre de récupérer l’id de cette conversation avec notre bot.
Pour récupérer l’id de la conversation avec notre bot, on peut utiliser N8N avec un Telegram Trigger connecté à notre credential précédemment rajouté. Il faut cliquer sur le bouton “Listen for Event” pour récupérer l’évènement du /start écris à notre bot. L’ID de la conversation sera dans la sortie
Vous allez pouvoir ensuite envoyer un message test avec un node Telegram send message comme ceci :
Envoi d’un message test dans Telegram
Si tout ce passe bien vous devriez recevoir ceci via Telegram :
Pour désactiver le “This message was sent automatically with n8n” regarder du côté des Additional Fields.
Revenons à notre but principal : envoyé une notification Telegram quand une tâche dans Notion est crée.
Pour cela on va faire un algorithme très simple avec N8N :
Algorithme de notre Workflow pour N8N
⁉️
Pourquoi décochée la notif Telegram dans Notion ? Tout simplement pour éviter de recevoir plusieurs fois la notification. Comme notre Workflow va s’executer plusieurs fois (exemple : toutes les 5 minutes) il faut empêcher le Workflow de renvoyer la même notification.
Dans Notion on va crée un nouveau champ “Notif Telegram” :
Création du nouveau champ Notif Telegram
Dans N8N on va rajouter un if juste après notre Node Notion qui permet de récupérer la BDD :
Ajout du if dans N8N
Puis dans notre “if” :
1. On va mettre une condition type “Boolean” (car la case à cochée sous Notion retourne True ou False).
2. On va utiliser une valeur de type “Expression” ceci pour permettre d’utiliser les variables dans N8N.
3. On clique/glisse notre variable qui contient la case à cochée
4. On clique sur le bouton pour l’activer, cela permet de passer la valeur qui répondra à l’opération “Equal” à “True”
En conclusion de cette étape cela permet de dire “si la case est cochée dans Notion pour notre page, alors on continu vers le prochain node”.
Si “Notif Telegram” est cochée
💡
Pour l’exemple, cochée une case de la base Notion et cliquer sur “Execute Workflow”
On va ensuite relier nos différents N_odes_ comme ceci :
Notre Workflow qui avance
Dans le nodeTelegram on va faire quelques modification pour ajouter des indications 😎 :
Avec les expressions nous rajoutons des informations à notre notification
On peut exécuter pour tester :
Génial vous avez votre belle notification 👏 !!!
Il nous manque une chose pour que la notification de tâche ne s’exécute qu’une fois, pour cela rien de plus simple, on va rajouter un node pour modifier une propriété de la page :
modifier une page d’un database
Ensuite on va mettre le node de modification de notre page à la suite du “if” comme ceci :
Ensuite il suffit d’indiquer l’url de la page Notion à modifier puis de mettre notre propriété “Notif Telegram” en décochée :
Il ne vous reste plus qu’à remplacer le trigger Manually par un trigger “On a schedule” pour exécuter notre Workflow toutes les 5 minutes (par exemple, mais selon votre besoin).
Mise en place du Cron
Votre Workflow final est enfin celui-ci :
Le Workflow final
Conclusion
N8N est un outil puissant permettant d’automatiser des tâches et de transformer la donnée. Les workflow sont simple à mettre en place, mais demandes plus de base en programmation que ces concurrents (notamment pour l’utilisation des expressions). Dans les autres avantages que l’on pourra citer, la capacité d’être selfHosted et un coût mieux maîtriser que ces concurrents.
Je continuerai à faire des articles dédiés à des Workflow N8N dans les prochaines semaines pour vous montrer les possibilités de l’outil.