Aller au contenu

Tutorieln8nClaude10 septembre 2026 · 14 min

Transformer un formulaire en chaîne de traitement avec n8n

Un formulaire qui dépose un email dans une boîte partagée ne sert à rien. Voici comment le transformer en chaîne complète : réception, qualification par l'IA, création de tâche CRM et brouillon de réponse — avec les pièges rencontrés en production.

Ce que vous aurez à la fin

Une demande envoyée depuis votre site arrive dans n8n, est qualifiée par un modèle, crée un contact et une tâche dans votre CRM, et dépose un brouillon de réponse dans votre boîte. Le tout en moins de trois secondes, et sans qu'aucun email ne parte automatiquement.

Comptez deux à trois heures pour la première mise en place, une fois les accès réunis.

1. Recevoir la demande

Créez un workflow avec un nœud Webhook en méthode POST. n8n vous donne deux URLs : une de test, une de production. Notez bien que l'URL de test n'écoute que pendant que vous cliquez sur « Listen for test event » — c'est la première source de confusion.

Configurez votre formulaire pour envoyer vers cette URL un objet de la forme :

json
{
  "nom": "...",
  "email": "...",
  "entreprise": "...",
  "message": "...",
  "source": "formulaire-contact"
}

Le piège du spam

Avant toute chose, ajoutez un nœud IF qui écarte les robots. Deux contrôles suffisent à éliminer l'essentiel :

  • un champ caché (honeypot) qui doit rester vide
  • un horodatage d'ouverture du formulaire : une soumission en moins de deux secondes est presque toujours automatisée

Sans ce filtre, vous paierez des appels de modèle pour qualifier du spam.

2. Qualifier avec un modèle

Ajoutez un nœud AI Agent. Le prompt système est la partie qui demande le plus d'itérations. Celui-ci fonctionne bien en production :

Tu classes des demandes entrantes pour une PME de services.

Réponds UNIQUEMENT en JSON valide, sans texte autour :
{
  "categorie": "devis" | "support" | "partenariat" | "recrutement" | "autre",
  "urgence": "haute" | "normale" | "basse",
  "score": 0-100,
  "justification": "une phrase, 20 mots maximum"
}

Règles :
- score > 70 seulement si la demande mentionne un besoin précis ET un contexte d'entreprise
- urgence haute seulement si un blocage ou une échéance est explicitement mentionné
- si la demande est trop vague pour être classée, categorie = "autre" et score < 30
- ne devine jamais le budget s'il n'est pas écrit

Deux points qui font la différence :

Demandez une justification. Elle ne coûte presque rien et rend le score vérifiable. Sans elle, vous aurez un nombre que personne ne saura contester ni corriger.

Interdisez explicitement de deviner. Sans cette instruction, un modèle produira un budget estimé à partir de rien, et quelqu'un finira par s'en servir.

Sécuriser la sortie JSON

Un modèle renvoie parfois du texte autour du JSON. Ajoutez un nœud Code juste après :

javascript
const brut = $input.first().json.output ?? ''
const debut = brut.indexOf('{')
const fin = brut.lastIndexOf('}')

if (debut === -1 || fin === -1) {
  return [{ json: { erreur: 'sortie non exploitable', brut } }]
}

try {
  return [{ json: JSON.parse(brut.slice(debut, fin + 1)) }]
} catch (e) {
  return [{ json: { erreur: 'JSON invalide', brut } }]
}

Remarquez qu'on ne lance pas d'exception : on renvoie un objet d'erreur. Une exception arrête le workflow et la demande est perdue. Ici elle continue, avec un marqueur qui la routera vers un humain.

3. Router selon le score

Un nœud Switch sur le champ score :

ConditionSortie
erreur présentfile humaine, notification immédiate
score ≥ 70notification Slack + tâche CRM prioritaire
40 ≤ score < 70tâche CRM normale
score < 40archivage + accusé de réception

La première ligne compte autant que les autres. Un workflow qui ne prévoit pas son propre échec perd des demandes en silence.

4. Créer le contact et la tâche

Le nœud CRM dépend de votre outil. Trois précautions valables partout :

Cherchez avant de créer. Un nœud de recherche par email en amont évite de multiplier les doublons. La plupart des intégrations proposent un mode « create or update » : utilisez-le.

Écrivez la justification dans une note. C'est ce qui permet au commercial de comprendre pourquoi la demande est arrivée en haut de sa pile.

Ne mettez pas le score dans un champ obligatoire du CRM. Vous changerez d'échelle, et un champ obligatoire mal rempli bloque les créations.

5. Préparer le brouillon — sans jamais envoyer

Un second nœud AI Agent rédige la réponse. Le point important est le nœud suivant : utilisez l'opération « Create draft » de Gmail ou Microsoft 365, jamais « Send ».

C'est une décision de conception, pas une précaution temporaire. Un brouillon relu en trente secondes vaut mieux qu'une réponse automatique qui se trompe une fois sur vingt — et cette fois-là coûte un client.

6. Ce qui casse en production

Quatre problèmes rencontrés systématiquement :

Les limites de débit du modèle. En cas de pic, les appels échouent. Configurez le nœud avec un retry et un délai croissant. Sans cela, une rafale de dix demandes en perd trois.

Les champs vides. Un formulaire renvoie parfois entreprise: "". Le modèle interprète la chaîne vide comme une information. Nettoyez en amont avec un nœud Set.

Les accents dans les webhooks. Vérifiez l'encodage du formulaire. Un é à la place d'un é dégrade la qualification du modèle de façon mesurable.

Le workflow désactivé sans que personne ne le sache. Ajoutez un nœud Schedule qui vérifie chaque matin qu'au moins une exécution a eu lieu dans les 24 heures ouvrées, et alerte sinon. C'est le garde-fou le plus rentable de tous.

7. Mesurer

Ajoutez une ligne dans un tableau — Airtable, Notion ou Google Sheets — à chaque exécution : horodatage, catégorie, score, et si un humain a corrigé le classement.

Cette dernière colonne est celle qui compte. Un taux de correction supérieur à 20 % signifie que votre prompt est mal calibré, pas que « l'IA se trompe ».

Et ensuite

Une fois cette chaîne en production, deux extensions se justifient : la relance automatique des demandes sans réponse après 48 heures, et l'enrichissement du contact à partir du domaine de l'email.

Aucune des deux ne vaut la peine tant que la chaîne de base n'a pas tourné un mois sans intervention.

Diagnostic

Ce sujet vous concerne directement ?

En 45 minutes on regarde si ce cas s'applique chez vous, ce qu'il coûterait, et s'il mérite d'être le premier.

Transformer un formulaire en chaîne de traitement avec n8n