Exemple de réalisation de workflows n8n

By 4 juillet 2022avril 9th, 2024Technique

Exemple 1: Envoi d’un Gmail :

L’une des applications sur Internet que nous utilisons le plus est Gmail. En utilisant l’API Gmail, nous pouvons accéder à nos comptes avec n8n et effectuer diverses transactions. Voici un exemple de la façon d’envoyer un mail en utilisant n8n.

Après avoir trouvé l’application Gmail dans le menu des nœuds, nous commençons à écrire nos paramètres.

Avant de saisir les informations d’identification, il faut choisir OAuth2 pour l’authentification. En créant un nouveau compte avec les informations d’identification de l’API OAuth2 de Gmail, nous obtenons une URL de redirection OAuth. Cette URL sera utilisée pour obtenir les identifiants de Google Cloud Platform. Sur Google Cloud Platform, dans le menu de gauche, nous choisissons « API et services » puis « Identifiants ». En cliquant sur « Créer des identifiants », nous créons un nouvel « OAuth client ID ». Après avoir choisi l’application web, l’URL que nous avons obtenue de n8n peut être ajoutée à l’URI de redirection autorisée.

En créant ce nouvel identifiant, nous obtenons les informations d’identification nécessaires pour remplir les champs du n8n. En se connectant avec google, le compte peut être à présent facilement connecté.

Pour le champ de la ressource, sélectionnez « Message » et pour le champ de l’opération, il faut choisir « Envoyer ».  Pour le champ sujet et message et courrier du destinataire, peuvent être choisi comme l’utilisateur le souhaite en fonction du message qui doit être envoyé. Si l’on souhaite, un courrier électronique cc ou bbc, une pièce jointe sous forme binaire et le nom de l’expéditeur peuvent être aussi ajoutés au courrier.

Exemple 2 : Message d’Anniversaire

Le plan général

Dans cet exemple, nous allons envoyer des mails les personnes dont c’est l’anniversaire en extrayant des informations d’un Google Sheets existante. Pour cette automatisation, nous allons utiliser quatre nœuds. Pour le nœud de départ, nous utiliserons un nœud Cron. Le nœud Cron est un nœud de déclenchement qui permet à l’utilisateur de programmer l’exécution périodique des flux de travail à des dates, heures ou intervalles fixes. Nous allons connecter le nœud Cron avec un nœud Function qui nous permettra de trouver la date actuelle. Après ce nœud, nous utiliserons le nœud Google Sheets pour extraire les informations nécessaires. Enfin, le nœud Gmail sera utilisé pour envoyer les mails. Votre flux de travail devrait ressembler alors à ceci :

Nœud de déclenchement : Cron

Dans ce nœud, l’utilisateur peut choisir le mode et le moment souhaités pour l’exécution. Comme nous allons utiliser un déclencheur basé sur l’heure, il est suggéré de vérifier votre fuseau horaire dans les paramètres et de le corriger si nécessaire.

Nœud Régulière : Function

Le nœud de fonction est un nœud où l’on peut manipuler les éléments. Les éléments sont sous la forme de JSON, par conséquent, dans le nœud de fonction, JavaScript est utilisé pour la manipulation des éléments. Dans ce nœud, nous allons utiliser un code JavaScript pour obtenir le jour et le mois actuels. Le code ci-dessous peut être utilisé pour cette fonction.

//trouve le mois actuel
var month = new Date().getMonth();

//trouve la date actuel
var day1 = new Date().getDate();

// crée une liste composée des mois
const months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre"];

//crée un élément avec la date et le mois sous la forme de " 9 Juin"
items[0].json.date = day1 + " " + months[month];

//renvoie les éléments créés comme données de sortie
return items;

Nœud de Google Sheets :

Avec l’aide de ce nœud, nous allons lire et extraire des informations d’un Google Sheets déjà existante.  Tout d’abord, vous devez créer une feuille de Google Sheets avec trois colonnes : nom, mails et les anniversaires ( Les anniversaires doivent être dans le même format que la sortie du nœud Function). Pour le nœud Google Sheet, OAuth2 sera utilisé pour l’authentification nécessaire. En créant un nouvel ID client OAuth dans votre Google Cloud Platform en utilisant l’URL donnée, vous pouvez obtenir les informations d’identification de l’ID client et du secret client (expliqué en détail dans l’exemple d’Envoi d’un Gmail). Une fois le compte connecté avec succès, il faut choisir « Sheet » comme « Ressource » et « Lookup » comme « Opération ».  Pour l’ID de la feuille de calcul, il s’agit de l’ID de votre feuille.

Vous devez écrire la plage, la ligne de début des données, la ligne clé et le nom de la colonne de consultation en fonction de votre feuille. Pour la valeur de consultation, la sortie du nœud de fonction sera utilisée comme valeur d’entrée. Cliquez sur les options de paramètres et ajoutez l’expression, pour trouver les données de sortie vous devez cliquer dans cet ordre : Nodes > Function > Output Data > JSON > date. Vous devez activer l’option « Retourner toutes les correspondances » dans le menu « Options » , sinon seule la première ligne trouvée sera retournée, même s’il existe plusieurs anniversaires identiques.

Nœud de Gmail :

Nous allons utiliser le nœud Gmail pour envoyer des courriels si aujourd’hui correspond à l’un des anniversaires dans le fichier Google Sheets. Pour le nœud Gmail, nous utiliserons la même méthode d’authentification que pour le Google Sheets (authentification OAuth2). Pour envoyer des courriels, il faut choisir « Message » comme « Ressource » et « Envoyer » comme « Opération ». Le sujet et le message peuvent être choisis comme l’utilisateur le souhaite. Si vous le souhaitez, le nom généré par le nœud Google Sheets peut être utilisé dans le message écrit ou le sujet en ajoutant une expression.  Pour le courrier du destinataire, nous utiliserons les données de sortie du nœud Google Sheets en ajoutant une expression : Nœuds > Fonction > Données de sortie > JSON > mail. Des champs supplémentaires peuvent être ajoutés selon les souhaits de l’utilisateur.

Exécution :

Lorsque vous cliquez sur Exécuter le flux de travail, votre flux de travail sera exécuté manuellement. S’il n’y a pas d’erreur, le message « Workflow exécuté avec succès » apparaîtra dans le coin inférieur droit du n8n, sinon l’erreur sera affichée sous forme de message. Pour que le nœud Cron déclenche des exécutions selon le calendrier défini, vous devez activer l’automatisation et assurez-vous que votre flux de travail est enregistré.

Workflow d’Erreur:

Un workflow d’erreur peut être utilisé pour tout workflow d’activation nécessaire. Le nœud « Error Trigger » sera utilisé pour exécuter le programme. Ce nœud peut être connecté à n’importe quel nœud qui peut envoyer un message à l’utilisateur (nœud Gmail par exemple).

Dans le nœud du déclencheur d’erreur, un exemple de données de sortie est visible lorsque l’on clique sur le bouton « Listen For Event ». L’utilisateur peut utiliser les données de sortie pour envoyer un message plus spécifique lorsque le flux de travail échoue (par exemple, le nom du flux de travail qui a échoué peut-être ajouter au message). Après avoir complété le workflow d’erreur, il doit être ajouté au workflow original. Pour cela, l’utilisateur doit ouvrir son flux de travail d’origine et, à partir des paramètres, choisir le nom de son flux de travail d’erreur comme flux de travail d’erreur. Comme indiqué au début, les flux d’erreurs ne fonctionnent que pour les flux qui s’exécutent lorsqu’ils sont activés.

Exemple 3 : Sign Up

Le plan général

Dans cette automatisation, nous allons construire un processus d’inscription en utilisant le nœud Webhook Trigger. Pour cette automatisation, nous allons utiliser trois flux de travail distincts. Chacun commençant par un nœud Webhook. Le premier contient uniquement le nœud Webhook et Set. Le deuxième workflow contiendra le nœud Webhook après un nœud qui peut être utilisé pour envoyer des messages ( Exemple : le nœud Gmai) puis un nœud Set. Le troisième workflow sera le même que le premier. Une fois que le flux de travail général est correctement réalisé, il devrait ressembler à ce qui suit :

Après avoir placé tous les noeuds, la connexion entre le noeud Gmail et le deuxième webhook doit être supprimée. Puisque nous n’avons pas rempli les paramètres nécessaires dans le nœud Gmail, le programme donnera une erreur si nous voulons tester les flux de travail.

Nœuds de Webhook:

Pour l’authentification des nœuds de Webhook, nous choisirons aucune car nous voulons que chaque utilisateur ait accès à notre page d’inscription.  Pour les trois noeuds du Webhook, il faut choisir « GET » comme « Méthode HTTP », le chemin peut être choisi par l’utilisateur en fonction de l’objectif ( Exemple : inscription pour le premier, enregistrement pour le deuxième et verification pour le troisième), « Quand le dernier noeud se termine » comme « Réponse », « 200 » comme « Code de réponse », « Première entrée JSON » comme « Données de réponse ». Ensuite, dans les « Options », il faut ajouter « Property Name », qui peut être nommé « data » pour chaque noeud.

Premier Nœud de Set :

Dans le premier Set Node nous allons construire notre page d’inscription. Pour cela, nous utiliserons le langage HTML. Tout d’abord, il faut choisir « Keep Only Set » et écrire « data » comme nom de propriété pour le string. Nous utiliserons les mêmes propriétés pour les autres nœuds Set afin qu’il soit possible de les créer en doublant ce nœud. Comme pour la valeur du string nous utiliserons un code basé sur le langage HTML (n’oubliez pas de changer l’URL dans le code en fonction du vôtre, nous utiliserons l’URL de test lors de la construction de notre Workflow) :

<form method="GET" action = "https://n8n.example.com/ (URL du deuxieme Webhook) ">

   // Écrit "Email"
   <label for = "email">Email</label>

   // Crée un espace à remplir pour l'e-mail
   <input type "email" id="email" name="email"/>

   //Écrit “Nom”
   <label for = "Nom">Nom</label>

   // Crée un espace à remplir pour le nom
   <input type "nom" id="nom" name="nom"/>

   // Crée un bouton pour soumettre qui est écrit "S’abonner" sur lui
   <button type="S’abonner" >Subscribe</button>

</form>

Pour tester si le premier workflow fonctionne, nous exécutons le workflow, copions l’URL de test du premier Webhook et l’ouvrons dans un nouveau navigateur. Nous devrions voir la page ci-dessous:

Après avoir rempli les espaces email et nom, nous devons réexécuter le workflow pour que le deuxième Webhook puisse commencer à fonctionner. Comme nous n’avons pas écrit à l’intérieur du bouton set ou de notre nœud Gmail, cliquer sur le bouton s’abonner nous donnera une page blanche.

Nœud de Gmail:

Nous utiliserons ce nœud pour demander une vérification à l’abonné. Pour le nœud Gmail, OAuth2 sera utilisé pour l’authentification nécessaire. En créant un nouvel ID client OAuth dans votre Google Cloud Platform en utilisant l’URL donnée, vous pouvez obtenir les informations d’identification de l’ID client et du secret client. Pour le champ de la ressource, sélectionnez « Message » et pour le champ de l’opération, il faut choisir « Envoyer ». Le sujet peut être choisis comme l’utilisateur le souhaite. Pour le courrier du destinataire, nous utiliserons les données de sortie du nœud deuxième Webhook en ajoutant une expression : Current Node > Input Data > JSON > query > email. Pour le message, nous mettrons la troisième URL de test de Webhook comme adresse de vérification, des textes supplémentaires peuvent également être écrits dans le message ( Exemple : Veuillez vérifier votre adresse email en cliquant sur cette adresse : https://n8n.example.com/ (URL du troisieme Webhook) )

Deuxieme Nœud de Set :

Dans ce nœud, nous allons écrire le message qui sera affiché lorsque nous cliquerons sur le bouton d’abonnement. Après avoir rempli les paramètres nécessaires (la même avec le premier nœud de Set), pour la valeur du string nous utiliserons le code ci-dessous :

<hl>Vous êtes enregistré</hl>

Troisieme Nœud de Set :

Dans ce nœud, nous allons écrire le message qui sera affiché lorsque nous cliquerons le URL de vérification qui était envoyé par le nœud de Gmail. Après avoir rempli les paramètres nécessaires (la même avec le premier nœud de Set),  Pour la valeur du string nous utiliserons le code ci-dessous :

<hl>Votre adresse e-mail est vérifiée<hl>

Exécution :

Maintenant, pour contrôler notre flux de travail, nous pouvons l’exécuter. Il ne faut pas oublier qu’avant d’utiliser les URL, le flux de travail doit être réexécuté. ( Cela fait trois exécutions pour cette automatisation : avant d’ouvrir la page d’inscription, avant de cliquer sur le bouton d’abonnement, avant de cliquer sur le lien de vérification. )

Si chaque flux de travail s’exécute avec succès, nous pouvons maintenant activer le flux de travail. En activant le flux de travail, il ne sera plus nécessaire d’exécuter le flux de travail manuellement, mais il sera exécuté chaque fois que l’URL est ouverte. Après l’activation du flux de travail, chaque lien URL de test des Webhook doit être remplacé par les URL de production dans le flux de travail.

Comme il s’agit d’un flux de travail activé, un flux de travail d’erreur peut également être ajouté à partir des paramètres du flux de travail si vous le souhaitez. (Expliqué dans l’Exemple 2: Message d’Anniversaire)