FlowKit

Information Extractor dans n8n : transformer du texte libre en données structurées

Publié le 30 juillet 2026 · 4 min de lecture

Un email de commande, un ticket support, un CV, une description d'annonce : l'information dont vos workflows ont besoin est le plus souvent enfermée dans du texte libre. Le node Information Extractor de n8n a une seule mission : en extraire des champs structurés — nom, montant, date, référence, liste de produits — exploitables par le reste du workflow. C'est l'un des nodes IA les plus rentables du catalogue, et l'état de la recherche confirme la maturité de l'approche : une vaste étude de Xu et al. publiée en 2024 dans Frontiers of Computer Science (« Large language models for generative information extraction: a survey », voir sur Google Scholar) recense l'essor des LLM sur toutes les sous-tâches d'extraction d'information — entités, relations, événements — là où il fallait auparavant entraîner un modèle spécialisé par cas d'usage.

Le principe : des attributs, pas un prompt

Là où un appel LLM classique vous demande d'écrire un prompt, de spécifier le format de sortie et de parser la réponse, l'Information Extractor inverse la logique : vous déclarez les attributs à extraire, et le node se charge du prompt, de la contrainte de format et du parsing. Connectez-lui un Chat Model en sous-node (OpenAI ou Claude, Mistral, ou un modèle local Ollama pour les données sensibles), mappez le texte source, et définissez ce que vous cherchez.

Deux modes de définition des attributs :

  • From Attribute Descriptions : le mode simple. Chaque attribut a un nom, un type et une description en langage naturel. Parfait pour des champs plats : client_nom, montant_ttc, date_souhaitee.
  • Define using JSON Schema : le mode précis. Vous fournissez un schéma JSON complet, avec objets imbriqués, tableaux, énumérations et champs requis. Indispensable dès qu'un texte contient des listes.
{
  "type": "object",
  "properties": {
    "client": { "type": "string", "description": "Nom complet du client" },
    "urgence": { "type": "string", "enum": ["haute", "normale", "basse"] },
    "produits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reference": { "type": "string" },
          "quantite": { "type": "number" }
        }
      }
    }
  },
  "required": ["client"]
}

La logique est la même que celle détaillée dans notre guide du Structured Output Parser — mais ici, le schéma est le cœur du node, pas un accessoire branché sur un agent.

Les descriptions font la précision

Comme pour le Text Classifier, la qualité de l'extraction se joue dans les descriptions de champs. « montant : le montant » ne suffit pas ; « montant_ttc : montant total TTC en euros, nombre sans symbole, ex. 1249.90 » élimine l'essentiel des ambiguïtés (HT ou TTC ? avec ou sans devise ? virgule ou point ?). Trois pratiques qui changent tout :

  • Précisez le format attendu : dates en ISO 8601, montants en nombre, téléphones sans espaces. Vous éviterez un node de normalisation derrière.
  • Utilisez des énumérations dès qu'un champ a des valeurs finies : le modèle ne pourra pas inventer une variante (« élevée » au lieu de « haute »).
  • Dites quoi faire de l'absence : un champ optionnel doit rester vide plutôt qu'être deviné. C'est le meilleur antidote aux hallucinations en extraction.

Cas d'usage éprouvés

Commandes et demandes par email. Extraire client, produits, quantités et adresse d'emails non structurés, avant injection dans le flux de traitement des commandes e-commerce ou un Google Sheets. Couplé à un trigger Gmail ou IMAP, c'est un assistant de saisie qui travaille en continu.

Factures et documents PDF. L'Information Extractor traite le texte extrait du PDF ; notre guide dédié à l'extraction de données de factures PDF par IA détaille la chaîne complète, de l'extraction du texte à la validation comptable.

Tickets et formulaires. Extraire produit concerné, version, gravité et comportement attendu d'un ticket rédigé librement, pour alimenter le scoring des tickets support ou créer une issue proprement qualifiée via l'intégration Jira.

CV et candidatures. Extraire compétences, expériences et coordonnées pour le tri de CV et candidatures par IA — en gardant un humain dans la boucle pour toute décision.

Fiabiliser en production

L'extraction IA doit être traitée comme n'importe quelle entrée non fiable. Le pattern robuste tient en trois étages :

  1. Extraction par l'Information Extractor, champs optionnels par défaut.
  2. Validation programmée dans un node Code ou un IF : les invariants métier (total = somme des lignes, date plausible, référence au bon format) sont vérifiés par du code, pas par l'IA.
  3. Routage des échecs vers une file de revue humaine — un canal Slack avec approbation humaine via le node Wait, plutôt qu'un échec silencieux.

Ajoutez un Error Workflow pour les pannes d'API, et si le flux est volumineux, un modèle économique suffit largement — mesurez avec notre méthode de suivi du coût des appels IA.

C'est exactement cette architecture extraction → validation → trace qui structure le Pack Conformité & Audit (149 €) : chaque donnée extraite y est enregistrée avec sa source et son statut de validation, ce qui rend le pipeline auditable de bout en bout.

En résumé

L'Information Extractor transforme le problème « faire parler du texte libre » en un problème de définition de schéma : décrivez précisément vos champs, contraignez les formats, laissez vide ce qui est absent, validez par du code ce qui est critique. Bien configuré, il remplace des heures de saisie manuelle par un flux continu de données propres — et s'améliore d'un simple ajustement de descriptions, sans réentraîner quoi que ce soit.

FAQ

Questions fréquentes

Quelle différence entre l'Information Extractor et le Structured Output Parser ?

Le Structured Output Parser est un sous-node qui se branche sur un AI Agent ou une chaîne LLM pour contraindre le format de la réponse générée. L'Information Extractor est un node autonome dont l'unique mission est l'extraction : vous lui donnez un texte et une liste d'attributs, il retourne un JSON. Pour de l'extraction pure, l'Information Extractor est plus simple ; dès que l'extraction s'inscrit dans un raisonnement plus large (agent avec outils), passez par l'Agent et son parser.

Que se passe-t-il si une information est absente du texte ?

Chaque attribut peut être marqué obligatoire ou optionnel. Un attribut optionnel absent revient null ou est omis — c'est le comportement souhaitable : mieux vaut un champ vide qu'une valeur inventée. Ne marquez « required » que les champs dont l'absence doit faire échouer l'item, et traitez ces échecs dans une branche d'erreur dédiée.

Peut-on extraire plusieurs occurrences (une liste) d'un même texte ?

Oui : définissez l'attribut comme un tableau dans le schéma JSON (par exemple une liste de produits commandés avec quantité et prix unitaire). C'est le mode « Define using JSON Schema » qui donne ce niveau de contrôle, avec des types imbriqués, des énumérations et des descriptions par champ.

L'extraction par IA est-elle assez fiable pour de la comptabilité ou du juridique ?

Assez fiable pour préparer le travail, pas pour le remplacer sans contrôle. La bonne architecture : extraction IA, puis validation programmée des invariants (un total doit égaler la somme des lignes, une date doit être plausible), puis revue humaine des seuls items qui échouent à ces contrôles. Vous automatisez 90 % du volume et concentrez l'humain sur les 10 % douteux.

Bundle FlowKit Complet

269 €