N8N & Workflows Automatisation IA

Automatiser ses relances clients avec N8N + GPT-4 : guide complet

MC
Maxime Choinet
Automatiser ses relances clients avec N8N + GPT-4 : guide complet

Vous avez envoyé un devis il y a 10 jours. Pas de nouvelles. Vous pensez à relancer, mais entre deux urgences, ça passe à la trappe. Ou pire : vous relancez avec un email générique — et le client ne répond pas parce que le message ressemble à un copier-coller sans âme.

Les relances clients, c’est l’une des tâches les plus chronophages et les plus mal faites en entreprise. En moyenne, une TPE/PME passe 3 à 5 heures par semaine à relancer manuellement : devis sans réponse, factures impayées, clients silencieux. Et avec un taux de personnalisation quasi nul, les résultats sont décevants.

La combinaison N8N + GPT-4 change la donne : des relances automatiques, personnalisées, envoyées au bon moment, sans intervention humaine. Résultat mesuré sur nos déploiements : -80% de temps de relance et +25% de taux de règlement sur les factures échues.

Ce guide vous donne trois workflows prêts à l’emploi, avec les prompts GPT-4 complets à copier dans vos workflows N8N.

Prérequis

Avant de commencer, vous avez besoin de :

  • N8N installé (self-hosted via Docker ou compte cloud n8n.io) — voir notre comparatif N8N vs Make pour choisir votre mode
  • Clé API OpenAI avec accès GPT-5 (modèle recommandé pour le rapport qualité/coût)
  • Accès API à votre CRM ou logiciel de facturation : HubSpot, Pipedrive, Pennylane, Sellsy, Axonaut, ou tout outil avec une API REST
  • Compte Gmail ou Outlook connecté à N8N via OAuth2

Pas de connaissances en code requises — N8N est visuel. Mais quelques notions de JSON et d’expressions N8N ({{ $json.field }}) sont un plus.


Workflow 1 : Relance automatique des devis sans réponse

Vue d’ensemble

Ce workflow se déclenche chaque matin, récupère tous les devis envoyés sans réponse, et envoie un email personnalisé adapté au délai écoulé. GPT-4 rédige chaque email en tenant compte du contexte client — un email J+3 sera chaleureux, J+7 plus direct, J+14 créera une légère urgence.

Étapes du workflow

1. Trigger : Schedule (Cron)

  • Fréquence : tous les jours à 8h30
  • Expression cron : 30 8 * * 1-5 (lundi au vendredi)

2. Récupération des devis depuis le CRM

Dans N8N, ajoutez un nœud HTTP Request vers l’API de votre CRM. Exemple avec HubSpot :

GET https://api.hubapi.com/crm/v3/objects/deals
?properties=dealname,amount,createdate,hubspot_owner_id,hs_deal_stage_probability
&filterGroups[0][filters][0][propertyName]=dealstage
&filterGroups[0][filters][0][operator]=EQ
&filterGroups[0][filters][0][value]=presentationscheduled

3. Calcul du délai

Ajoutez un nœud Code (JavaScript) pour calculer les jours écoulés et segmenter :

const today = new Date();
const items = $input.all();

return items.map(item => {
  const sendDate = new Date(item.json.properties.createdate);
  const diffDays = Math.floor((today - sendDate) / (1000 * 60 * 60 * 24));

  let relanceType = null;
  if (diffDays === 3) relanceType = 'j3';
  else if (diffDays === 7) relanceType = 'j7';
  else if (diffDays === 14) relanceType = 'j14';

  return {
    json: {
      ...item.json,
      diffDays,
      relanceType,
      shouldRelance: relanceType !== null
    }
  };
}).filter(item => item.json.shouldRelance);

4. Génération de l’email via GPT-4 (nœud OpenAI)

Modèle : gpt-4o Temperature : 0.7

Prompt système :

Tu es un expert en relation client pour une PME française.
Tu rédiges des emails de relance professionnels, chaleureux et personnalisés.
L'email doit être court (5-8 lignes max), naturel, sans formule toute faite.
Réponds uniquement avec le corps de l'email, sans objet, sans signature.

Prompt utilisateur dynamique (expression N8N) :

Rédige un email de relance de type "{{ $json.relanceType }}" pour ce devis :

- Nom du prospect : {{ $json.contact.firstname }} {{ $json.contact.lastname }}
- Entreprise : {{ $json.contact.company }}
- Objet du devis : {{ $json.properties.dealname }}
- Montant estimé : {{ $json.properties.amount }}€
- Date d'envoi : {{ $json.properties.createdate }}
- Jours sans réponse : {{ $json.diffDays }}

Règles selon le type :
- j3 : ton très chaleureux, simple prise de contact, demander si le devis est bien arrivé
- j7 : ton direct mais cordial, proposer un appel de 15 min pour répondre aux questions
- j14 : créer une légère urgence (disponibilité, délai de production), rester professionnel

Utilise le prénom du prospect. Ne mentionne jamais que l'email est automatique.

5. Envoi via Gmail/Outlook

Nœud Gmail ou Microsoft Outlook :

  • To : {{ $json.contact.email }}
  • Subject : Re : Votre devis {{ $json.properties.dealname }}
  • Body : {{ $json.message.content }}

6. Mise à jour dans le CRM + log

Nœud HTTP Request vers l’API CRM pour :

  • Ajouter une note d’activité (type : “Email de relance automatique J+{{ $json.diffDays }}”)
  • Ajouter le tag relancé-auto sur le deal
  • Mettre à jour la date de dernière relance

Structure JSON du workflow (squelette)

{
  "nodes": [
    { "type": "n8n-nodes-base.scheduleTrigger", "name": "Cron 8h30" },
    { "type": "n8n-nodes-base.httpRequest", "name": "Récupérer devis CRM" },
    { "type": "n8n-nodes-base.code", "name": "Calculer délai et segmenter" },
    { "type": "n8n-nodes-base.openAi", "name": "Générer email GPT-4" },
    { "type": "n8n-nodes-base.gmail", "name": "Envoyer email" },
    { "type": "n8n-nodes-base.httpRequest", "name": "Logger dans CRM" }
  ],
  "connections": {
    "Cron 8h30": { "main": [[ { "node": "Récupérer devis CRM" } ]] },
    "Récupérer devis CRM": { "main": [[ { "node": "Calculer délai et segmenter" } ]] },
    "Calculer délai et segmenter": { "main": [[ { "node": "Générer email GPT-4" } ]] },
    "Générer email GPT-4": { "main": [[ { "node": "Envoyer email" } ]] },
    "Envoyer email": { "main": [[ { "node": "Logger dans CRM" } ]] }
  }
}

Workflow 2 : Relance automatique des factures impayées

Vue d’ensemble

Ce workflow gère l’escalade progressive des relances de factures : du rappel cordial à la relance ferme, en passant par l’avertissement. GPT-4 adapte le ton selon l’ancienneté de l’impayé et l’historique de paiement du client.

Segmentation par ancienneté

// Nœud Code N8N
const items = $input.all();

return items.map(item => {
  const echeance = new Date(item.json.due_date);
  const today = new Date();
  const retard = Math.floor((today - echeance) / (1000 * 60 * 60 * 24));

  let niveau = null;
  let urgence = '';

  if (retard >= 1 && retard <= 7) {
    niveau = 1;
    urgence = 'rappel_cordial';
  } else if (retard >= 8 && retard <= 30) {
    niveau = 2;
    urgence = 'relance_ferme';
  } else if (retard > 30) {
    niveau = 3;
    urgence = 'mise_en_demeure';
  }

  return { json: { ...item.json, retard, niveau, urgence } };
}).filter(i => i.json.niveau !== null);

Prompts GPT-4 pour chaque niveau

Niveau 1 — Rappel cordial (1-7 jours)

Tu rédiges un premier rappel de facture pour une PME française.
Contexte :
- Client : {{ $json.client_name }}
- N° facture : {{ $json.invoice_number }}
- Montant TTC : {{ $json.amount_ttc }}€
- Date d'échéance : {{ $json.due_date }}
- Jours de retard : {{ $json.retard }}
- Historique : client depuis {{ $json.client_since }}, {{ $json.nb_invoices_paid }} factures réglées par le passé

Rédige un rappel très courtois. Supposer que c'est un oubli ou un problème technique.
Proposer de vérifier si la facture est bien parvenue. Indiquer les coordonnées de paiement.
Ton : chaleureux, bienveillant, 4-6 lignes maximum.

Niveau 2 — Relance ferme (8-30 jours)

Tu rédiges une relance ferme pour une facture impayée.
Contexte :
- Client : {{ $json.client_name }}
- N° facture : {{ $json.invoice_number }}
- Montant TTC : {{ $json.amount_ttc }}€
- Retard : {{ $json.retard }} jours
- Rappels déjà envoyés : {{ $json.nb_relances }}

Ton : professionnel et direct. Rappeler l'obligation contractuelle.
Demander une confirmation de paiement ou un plan d'apurement sous 48h.
Ne pas menacer mais être ferme. 6-8 lignes.

Niveau 3 — Mise en demeure (>30 jours)

Tu rédiges une mise en demeure formelle pour une facture très en retard.
Contexte :
- Client : {{ $json.client_name }}
- N° facture : {{ $json.invoice_number }}
- Montant TTC : {{ $json.amount_ttc }}€
- Retard : {{ $json.retard }} jours
- Total rappels envoyés : {{ $json.nb_relances }}

Ton : formel, légal mais non menaçant. Mentionner les recours possibles (injonction de payer).
Donner un délai de règlement de 8 jours. Proposer un accord amiable en dernier recours.
Structure : formule d'appel formelle → rappel des faits → demande de règlement → conséquences → formule de politesse.

Connecteurs compatibles

  • Pennylane : API REST, endpoint /invoices?status=overdue
  • Sellsy : API v2, filter payment_status=unpaid
  • Axonaut : API REST, filtrage par due_date et paid=false
  • Dolibarr : API REST native, endpoint /invoices?status=1 (statut “impayé”)

Workflow 3 : Réactivation des clients inactifs

Vue d’ensemble

Ce workflow cible les clients qui n’ont pas commandé ou interagi depuis 90 jours. GPT-4 analyse leur historique d’achat pour rédiger une offre de réactivation réellement personnalisée — pas un banal “Vous nous manquez”.

Récupération et contexte client

Le nœud Code prépare le contexte enrichi pour GPT-4 :

const client = $json;

// Construire un résumé de l'historique pour GPT-4
const historiqueResume = client.past_orders
  .slice(0, 5)
  .map(o => `- ${o.product_name} (${o.date}, ${o.amount}€)`)
  .join('\n');

return {
  json: {
    ...client,
    historiqueResume,
    derniereCommande: client.past_orders[0]?.product_name || 'inconnu',
    categoriePreferee: client.top_category,
    montantMoyen: client.avg_order_value
  }
};

Prompt GPT-4 réactivation

Tu rédiges un email de réactivation pour un client inactif depuis {{ $json.inactive_days }} jours.

Profil client :
- Prénom : {{ $json.firstname }}
- Historique d'achats :
{{ $json.historiqueResume }}
- Catégorie préférée : {{ $json.categoriePreferee }}
- Panier moyen : {{ $json.montantMoyen }}€
- Dernière commande : {{ $json.derniereCommande }}

Rédige un email de réactivation personnalisé qui :
1. Fait référence à un achat précis du client (sans avoir l'air de fouiller ses données)
2. Propose une nouveauté ou une offre liée à sa catégorie préférée
3. Inclut une incitation à revenir (offre limitée, nouveau service, amélioration produit)
4. Ton : chaleureux, comme si vous vous souveniez vraiment de ce client

Ne pas utiliser "Vous nous manquez". Être original. 6-10 lignes.

Extension SMS avec Twilio

Si votre client a un numéro de mobile renseigné, N8N peut envoyer un SMS en parallèle de l’email :

// Nœud IF : vérifier si numéro mobile disponible
// Condition : {{ $json.mobile }} !== null && {{ $json.mobile }}.length > 9

Nœud Twilio :

  • To : {{ $json.mobile }}
  • Body : Version courte générée par GPT-4 en 160 caractères max (ajouter une instruction dans le prompt)

Les règles d’or pour des relances IA efficaces

1. Personnalisation réelle, pas cosmétique

Insérer le prénom ne suffit pas. GPT-4 doit avoir accès à des données contextuelles : montant, historique, délai, type de relation. Plus le contexte est riche, plus l’email sera convaincant.

2. Adapter le ton à l’ancienneté de la relation

Un client de 5 ans mérite un ton différent d’un prospect inconnu. Passez l’information client_since dans le prompt et demandez à GPT-4 d’en tenir compte.

3. Heure d’envoi optimale

Configurez votre cron pour envoyer entre 9h et 11h, du mardi au jeudi. Évitez le lundi matin (inbox chargée) et le vendredi après-midi (weekend mental). En N8N, utilisez le nœud Wait pour décaler l’envoi si le trigger se lance à un moment non optimal.

4. Limiter le nombre de relances

Ajoutez une condition dans le nœud Code : si nb_relances >= 3, exclure du workflow et alerter le commercial. Relancer indéfiniment nuit à votre réputation d’expéditeur et agace les clients.

5. Conformité RGPD

  • Incluez systématiquement un lien de désinscription dans chaque email
  • Conservez un log des envois dans votre CRM (preuve de consentement légitime)
  • Respectez la base légale “intérêt légitime” pour les clients existants
  • Pour les prospects froids, vérifiez le consentement RGPD avant d’envoyer

6. Gérer les erreurs

Ajoutez un nœud Error Trigger dans N8N pour capturer les échecs (email invalide, API down) et envoyer une alerte Slack ou email interne. Un workflow silencieux qui échoue est pire qu’un workflow inexistant.


Résultats mesurés : avant / après

Voici les chiffres consolidés sur nos déploiements chez des clients TPE/PME (secteurs : conseil, BTP, services B2B) :

IndicateurAvant (manuel)Après (N8N + GPT-4)Gain
Temps de relance/semaine4h3045 min (supervision)-83%
Taux de réponse devis28%41%+46%
Taux de règlement factures72% à 30j89% à 30j+24%
Délai moyen de règlement38 jours22 jours-42%
Clients réactivés (90j inactifs)8%19%+137%
Taux d’ouverture email relance31%54%+74%

Ces résultats s’expliquent par trois facteurs : la régularité (aucun oubli), la personnalisation (emails adaptés au contexte) et le timing (envoi aux bons intervalles, aux bonnes heures).


Aller plus loin

Ce type de workflow s’intègre dans une stratégie d’automatisation plus large. Vous pouvez notamment :

  • Connecter un agent IA qui analyse les réponses reçues et met à jour le CRM automatiquement
  • Ajouter un scoring : GPT-4 évalue la probabilité de conversion et priorise les relances commerciales
  • Croiser avec votre comptabilité : alertes automatiques au-delà d’un certain montant cumulé d’impayés

Les workflows N8N décrits ici sont la base. Chaque entreprise a ses spécificités — secteur, CRM, processus commerciaux — et les prompts doivent être affinés sur la durée.

Si vous souhaitez déployer ce système sans vous occuper de la technique, notre équipe peut mettre en place l’ensemble en quelques jours, avec vos outils existants et vos données. Demandez un audit gratuit pour évaluer le potentiel de vos relances actuelles.


Conclusion

Automatiser vos relances clients avec N8N et GPT-4, c’est transformer une tâche répétitive et négligée en un système fiable qui travaille pendant que vous vous concentrez sur votre cœur de métier. La clé, c’est la qualité du prompt et la richesse du contexte fourni à GPT-4 — un email généré avec un bon contexte est indiscernable d’un email écrit à la main.

Les trois workflows présentés ici couvrent l’essentiel : devis sans réponse, factures impayées, clients inactifs. Commencez par un seul — le plus douloureux pour vous — et mesurez les résultats avant d’industrialiser.

Vos relances ne devrait plus jamais tomber dans l’oubli.

🚀

Partagez cette page

Faites découvrir nos conseils experts à votre réseau

💡 Partagez nos conseils d'experts avec votre réseau professionnel

🎯
Découvrez votre potentiel d'automatisation

Répondez à 5 questions — obtenez votre score et 3 recommandations personnalisées en 2 minutes

⚡ Résultat immédiat 🔒 Sans engagement
Lancer l'audit express

Passez à l'action

Prêt à automatiser votre entreprise ?

Audit gratuit en 48h — ROI estimé, plan d'action personnalisé, sans engagement.