Bonjour !
Dans nos leçons précédentes, nous avons couvert séparément la surveillance des emails, l'extraction de leur contenu, et l'envoi de notifications. Il est maintenant temps de synthétiser ces compétences dans un projet concret qui reflète un véritable cas d'usage métier.
La leçon précédente nous a appris à configurer des notifications vers Slack et Microsoft Teams. Nous allons réutiliser cette compétence comme dernière étape d'un workflow plus complet.
Objectif de la leçon : Construire un workflow qui surveille une boîte mail, extrait les infos des pièces jointes, et envoie un résumé sur Slack.
Cet exercice pratique vous guidera à travers la construction d'un système d'automatisation de bout en bout. Nous allons configurer un déclencheur pour intercepter des emails avec des factures en pièce jointe, utiliser un nœud spécial pour "lire" le contenu de ces PDF, et enfin notifier une équipe sur Slack avec les informations clés extraites.
Aperçu du Workflow
Avant de commencer, visualisons le flux que nous allons construire. Il comportera les étapes suivantes :
- Déclencheur (Trigger) : Un nœud
Gmail(ouIMAP) qui se déclenche à la réception d'un nouvel email. - Filtre : Un nœud
IFpour s'assurer que l'email contient bien une pièce jointe. - Extraction : Un nœud pour extraire des données structurées (ex: numéro de facture, montant) directement depuis la pièce jointe PDF.
- Notification : Un nœud
Slackpour envoyer un message formaté contenant les données extraites.

Étape 1 : Configurer le Déclencheur pour Télécharger les Pièces Jointes
La première étape consiste à configurer un déclencheur qui non seulement détecte les nouveaux emails mais télécharge aussi leurs pièces jointes sous forme de données binaires, prêtes à être traitées.
Automatise ta boite mail de ZÉRO avec N8N (Guide Débutant)
Pour commencer, visionnez cette vidéo de Julien Sanson qui explique comment configurer un déclencheur Gmail. C'est une excellente base pour notre première étape.
Regardez la section de 00:32 à 02:40. Concentrez-vous sur la création du nœud Gmail, la configuration des 'credentials', et la planification (Poll Times). Julien explique aussi la différence entre le mode 'simplify' et le mode complet, qui est cruciale pour nous.
Pour notre exercice, il est impératif d'accéder aux pièces jointes. Pour cela, vous devez effectuer une configuration spécifique qui n'est pas activée par défaut.
Automatically Download & Save Gmail Attachments with N8N
Cette seconde vidéo, bien qu'en anglais, montre précisément l'option à activer pour télécharger les pièces jointes. Votre expérience technique vous permettra de suivre facilement.
Regardez de 01:25 à 02:17. Le point clé est de décocher l'option Simplify. Cela fera apparaître une nouvelle section d'options, où vous devrez cocher Download Attachments. C'est cette action qui permet à n8n de récupérer le fichier en tant que donnée binaire.
Instructions pratiques :
- Créez un nouveau workflow et ajoutez un nœud
Gmailcomme déclencheur. - Configurez vos
credentialssi ce n'est pas déjà fait. - Dans les paramètres du nœud, assurez-vous que l'option
Simplifyest décochée. - Activez l'option
Download Attachments. - Exécutez
Fetch test eventpour récupérer un email de test contenant une pièce jointe (vous pouvez vous en envoyer un à vous-même). Vous devriez voir dans la sortie du nœud une propriétébinarycontenant les données du fichier.
Pour rendre notre workflow plus robuste, ajoutons un nœud IF juste après le déclencheur pour ne continuer l'exécution que si une pièce jointe a effectivement été téléchargée.
- Nœud :
IF - Condition : Dans
Value 1, utilisez une expression pour vérifier si la propriété binaire existe. Par exemple :{{ $json.binary.attachment_0 }}. - Operation :
Is Not Empty
Étape 2 : Extraire les Informations de la Pièce Jointe
C'est le cœur de notre exercice. Nous allons supposer que la pièce jointe est une facture au format PDF et que nous voulons en extraire le numéro de facture et le montant total.
n8n propose des nœuds basés sur l'IA qui simplifient grandement cette tâche. Nous allons utiliser le nœud Extract from PDF.
10 exemples de workflows n8n pour l'automatisation d'entreprise
Cet article de Hostinger, en français, décrit un cas d'usage d'extraction de données depuis un PDF, ce qui correspond exactement à notre objectif. Les images sont particulièrement utiles pour visualiser les nœuds.
Faites défiler jusqu'à la section 'Workflows de traitement des documents' et regardez la sous-section 'Extraction de données de documents'. Observez l'enchaînement des nœuds : Email Trigger -> Extract from PDF -> ... -> Send to Slack. C'est le modèle que nous suivons.
Instructions pratiques :
-
Préparez un PDF de test : Créez un simple fichier PDF contenant du texte comme :
Facture N°: FACT-2024-001etMontant Total: 149.99 EUR. Envoyez-le par email à la boîte que votre workflow surveille. -
Ajoutez le nœud
Extract from PDFaprès la sortietruede votre nœudIF. -
Configurez le nœud :
- Source Data is:
Binary. - Binary Property: Utilisez l'éditeur d'expressions pour pointer vers les données binaires de votre pièce jointe. Le chemin sera probablement
{{ $json.binary.attachment_0 }}. Le_0à la fin indique qu'il s'agit de la première pièce jointe. - Extraction Values: C'est ici que vous décrivez à l'IA ce que vous cherchez.
- Cliquez sur
Add Value. - Name:
invoice_number, Type:String, Description:Le numéro de la facture, souvent précédé des mots 'Facture N°' ou 'Invoice Number'. - Cliquez à nouveau sur
Add Value. - Name:
total_amount, Type:Number, Description:Le montant total final de la facture, souvent indiqué comme 'Total' ou 'Grand Total'.
- Cliquez sur
- Source Data is:
-
Testez le nœud. Exécutez-le avec les données de l'étape précédente (vous pouvez "épingler" la sortie du nœud
Gmailpour la réutiliser sans refaire defetch). En sortie, vous devriez obtenir un objet JSON contenant les propriétésinvoice_numberettotal_amountavec les valeurs extraites de votre PDF.
Étape 3 : Envoyer un Résumé sur Slack
Nous avons maintenant toutes les informations nécessaires : les détails de l'email initial et les données extraites du PDF. Il ne reste plus qu'à les assembler dans un message Slack clair et concis. Cette étape est une application directe de ce que nous avons vu dans la leçon précédente.
Automatise ta boite mail de ZÉRO avec N8N (Guide Débutant)
Pour rappel, cette section de la vidéo de Julien Sanson montre comment configurer le nœud Slack et y insérer des données dynamiques.
Regardez la section de 21:15 à 23:44. Observez comment : Le nœud 'Slack' est ajouté et configuré (credentials, canal). Le message est composé en utilisant des expressions pour piocher des données des nœuds précédents (expéditeur de l'email, contenu, etc.). Une option utile est de décocher 'Include Link to Workflow' pour un message plus propre.
Instructions pratiques :
-
Ajoutez un nœud
Slackaprès le nœudExtract from PDF. -
Configurez-le :
- Sélectionnez vos
credentialsSlack. - Operation:
Send Message. - Channel: Choisissez le canal de destination (ex:
#invoices). - Message Text: Composez un message dynamique en utilisant les données des nœuds
Gmail TriggeretExtract from PDF.
Par exemple :Nouvelle facture reçue ! :page_with_curl: *De :* {{ $node["Gmail Trigger"].json.from.address }} *Sujet :* {{ $node["Gmail Trigger"].json.subject }} --- *Numéro de facture :* {{ $node["Extract from PDF"].json.invoice_number }} *Montant Total :* {{ $node["Extract from PDF"].json.total_amount }} EUR - Astuce : L'utilisation de Markdown (comme
*texte*pour l'italique) rendra votre notification beaucoup plus lisible.
- Sélectionnez vos
-
Testez le nœud et vérifiez que vous recevez bien la notification dans votre canal Slack avec les bonnes informations.
Étape 4 : Finalisation et Activation
Votre workflow est maintenant complet ! Avant de l'activer pour qu'il s'exécute en continu, il est bon de tout vérifier.
- Nommez vos nœuds de manière descriptive (ex:
Get New Email,Extract Invoice Data,Notify Slack). - Sauvegardez votre workflow.
- Activez-le en basculant l'interrupteur
Activeen haut à droite de l'éditeur.
Votre système est désormais opérationnel. Chaque fois qu'un email avec une pièce jointe arrivera dans la boîte mail surveillée, le workflow s'exécutera, tentera d'extraire les informations de la facture, et vous notifiera sur Slack.
Conclusion
Félicitations ! Vous avez construit un workflow d'automatisation complet et à forte valeur ajoutée. Cet exercice consolide de nombreuses compétences fondamentales de n8n.
Points clés à retenir :
- Pour traiter les pièces jointes, il est essentiel de configurer le déclencheur d'email pour désactiver
Simplifyet activerDownload Attachments. - Les nœuds d'IA comme
Extract from PDFpermettent d'extraire des données structurées à partir de fichiers non structurés, directement au sein de n8n. - La composition de messages dynamiques avec des données provenant de plusieurs nœuds précédents est la clé pour créer des notifications riches et contextuelles.
- Un workflow bien construit est une suite logique de petites étapes : Déclencher -> Filtrer -> Traiter -> Notifier.
Dans le prochain module, nous aborderons un autre aspect fondamental de nombreux systèmes d'automatisation : le stockage de données. La première leçon portera sur la connexion de n8n à des bases de données comme PostgreSQL ou MySQL pour y lire et écrire des informations, ce qui serait l'étape logique suivante pour notre workflow de factures.