FlowKit

Automatiser les rappels d'entretien et de contrôle technique pour un garage avec n8n

Par Clément Lacaille (Tech-Bharat) · Publié le 7 septembre 2026 · 7 min de lecture · notre méthode

Bundle FlowKit Complet — 269 €

12 workflows n8n prêts à importer, guide en français, garantie 14 jours

Voir le bundle

Un garage qui gère ses rappels d'entretien et de contrôle technique « à la mémoire » ou sur un tableur qu'on ouvre une fois par mois perd mécaniquement des visites : le client oublie, découvre l'échéance dépassée en circulant, ou va chez le concurrent qui l'a relancé le premier. Le contrôle technique en particulier ne laisse aucune marge — en France, aucun délai de tolérance ne s'applique après l'expiration, et rouler avec un contrôle technique expiré expose à une amende forfaitaire de 135 € ainsi qu'à une possible immobilisation du véhicule (économie.gouv.fr, fiche pratique contrôle technique). Ce guide construit un workflow n8n qui surveille chaque véhicule, calcule les échéances d'entretien et de contrôle technique, et envoie un rappel personnalisé au bon moment — avec, si possible, un créneau de réservation directement proposé dans le message.

Pourquoi le rappel change le taux de reprise, pas seulement le confort du client

Un rappel qui se contente de signaler une échéance reste une information abstraite que le client reporte mentalement à plus tard. Peter Gollwitzer a montré, dans un article fondateur de la littérature sur la motivation, que transformer une intention vague en un plan concret — quand, où, comment — multiplie fortement le taux de passage à l'action : c'est ce qu'il nomme une implementation intention (Gollwitzer, 1999, Implementation intentions: Strong effects of simple plans, American Psychologist — voir). Katy Milkman et ses co-auteurs ont testé ce principe à grande échelle sur une population de plus de 3 000 employés autour de la vaccination antigrippale : ceux qui recevaient un rappel les invitant à noter une date et une heure précises se sont fait vacciner nettement plus souvent que ceux qui recevaient un rappel générique (Milkman, Beshears, Choi, Laibson & Madrian, 2011, Using implementation intentions prompts to enhance influenza vaccination rates, PNAS — voir). Appliqué à un garage, cela veut dire une chose très concrète : un rappel qui propose un créneau précis et cliquable convertit mieux qu'un rappel qui se contente de dire « votre contrôle technique arrive à échéance ».

Construire la base véhicules

Le workflow s'appuie sur une source de données simple, dans Google Sheets ou Airtable selon vos habitudes — les deux disposent d'un node n8n natif. Une ligne par véhicule, avec au minimum ces colonnes :

Colonne Exemple Usage
immatriculation AB-123-CD Identifiant unique du véhicule
client_nom / client_telephone / client_email Julien Marchand / +33612345678 / julien@... Coordonnées de contact
derniere_revision 2026-03-12 Date de dernière visite atelier
kilometrage_derniere_revision 68 400 Pour estimer la prochaine échéance kilométrique
date_controle_technique 2026-10-02 Date d'expiration du CT en cours
dernier_rappel_envoye (vide) Mise à jour par le workflow, évite les doublons

Cette base peut être alimentée manuellement au fil des passages atelier, ou synchronisée depuis un logiciel de caisse existant via son export CSV — l'important est que date_controle_technique et derniere_revision restent à jour, puisque tout le calcul d'échéance en dépend.

Le workflow n8n complet

Schedule Trigger (tous les jours à 8h, fuseau Europe/Paris)
  → Google Sheets / Airtable (lire toutes les lignes)
  → Code (calculer les jours restants avant CT et avant révision estimée)
  → Filter (échéance à J-30, J-7 ou J-1, et pas déjà relancé dans les 6 derniers jours)
  → Switch (canal selon l'urgence : email si J-30, SMS si J-7 ou J-1)
  → AI Agent ou Set (personnaliser le message)
  → Gmail / Twilio (envoi)
  → Google Sheets / Airtable (mettre à jour dernier_rappel_envoye)

Le Schedule Trigger tourne une fois par jour, tôt le matin, dans le fuseau de l'établissement — un rappel envoyé à 2 h du matin par erreur de fuseau ne construit pas la confiance du client.

Calculer les échéances avec un node Code

Le calcul combine deux échéances (contrôle technique et révision estimée à intervalle kilométrique ou temporel) : la logique conditionnelle qui en résulte dépasse ce qu'un seul node Date & Time traite proprement, un node Code est ici la bonne option :

const items = $input.all();
const now = DateTime.now().setZone('Europe/Paris');

return items.map(item => {
  const ct = DateTime.fromISO(item.json.date_controle_technique);
  const joursAvantCT = Math.floor(ct.diff(now, 'days').days);

  const derniereRevision = DateTime.fromISO(item.json.derniere_revision);
  const prochaineRevisionEstimee = derniereRevision.plus({ months: 12 });
  const joursAvantRevision = Math.floor(prochaineRevisionEstimee.diff(now, 'days').days);

  const dernierRappel = item.json.dernier_rappel_envoye
    ? DateTime.fromISO(item.json.dernier_rappel_envoye)
    : null;
  const joursDepuisRappel = dernierRappel
    ? Math.floor(now.diff(dernierRappel, 'days').days)
    : 999;

  return {
    json: {
      ...item.json,
      joursAvantCT,
      joursAvantRevision,
      joursDepuisRappel,
      echeanceType: joursAvantCT <= joursAvantRevision ? 'controle_technique' : 'revision',
      joursAvantEcheance: Math.min(joursAvantCT, joursAvantRevision),
    },
  };
});

Le node Filter qui suit ne garde que les véhicules dont joursAvantEcheance correspond à un palier de rappel (30, 7 ou 1) et dont joursDepuisRappel dépasse 6 — cette seconde condition est ce qui évite le rappel envoyé en double si le workflow tourne un jour où le palier n'a pas bougé.

Router le canal selon l'urgence

Un node Switch oriente ensuite chaque véhicule selon joursAvantEcheance : email pour un rappel à J-30 (le coût marginal est nul, et il n'y a pas d'urgence à occuper le canal le plus intrusif), SMS via Twilio pour J-7 et J-1, là où la vitesse de lecture compte réellement. C'est le même principe de réservation du SMS aux échéances qui comptent que celui détaillé dans notre guide sur l'envoi de SMS avec n8n : ne pas en faire un canal de notification par défaut.

Personnaliser le message et proposer un créneau

Un gabarit avec le node Set suffit pour un message correct : « Bonjour {{ $json.client_nom }}, le contrôle technique de votre véhicule {{ $json.immatriculation }} arrive à échéance le {{ $json.date_controle_technique }}. » Pour aller plus loin, un AI Agent adapte le ton selon l'urgence (rappel informatif à J-30, message plus direct à J-1) et peut intégrer un lien de réservation généré dynamiquement — via Cal.com ou un simple lien Calendly propre à l'atelier. C'est précisément ce lien cliquable, avec des créneaux visibles, qui transforme l'échéance abstraite en plan concret au sens de Gollwitzer : le client n'a plus à chercher un moment, il choisit un créneau déjà affiché.

Mesurer ce que le rappel change réellement

Trois indicateurs suffisent à savoir si le workflow tient ses promesses, à consigner dans la même base ou dans un onglet dédié :

  • Taux de reprise : proportion des rappels envoyés qui débouchent sur une visite atelier avant l'échéance, à comparer au taux observé avant l'automatisation.
  • Répartition par palier : si la majorité des reprises viennent des rappels à J-1 plutôt que J-30, cela indique que le rappel précoce est ignoré et que le canal ou le ton à J-30 mérite d'être retravaillé.
  • Délai entre rappel et réservation : un délai qui se raccourcit avec le lien de créneau intégré confirme l'effet « plan concret » plutôt qu'une simple coïncidence de calendrier.

Comme pour tout changement de processus, laissez tourner l'automatisation plusieurs semaines avant de tirer des conclusions, et ne modifiez pas simultanément le ton du message et le canal d'envoi — sinon impossible de savoir lequel des deux a fait la différence.

Pièges et conformité RGPD

Le numéro de téléphone et l'historique de véhicule d'un client sont des données personnelles au même titre que dans n'importe quel autre traitement automatisé — les principes détaillés dans notre guide sur le traitement des demandes RGPD avec n8n s'appliquent : base légale (intérêt légitime ou consentement selon le contexte), durée de conservation limitée, et droit d'opposition à mentionner dans les SMS commerciaux. Si le garage traite déjà d'autres processus sensibles, consigner l'envoi de chaque rappel (destinataire, canal, date) dans une piste d'audit dédiée évite d'avoir à reconstituer l'historique a posteriori en cas de réclamation.

Trois erreurs reviennent le plus souvent en pratique :

  • Estimer la révision sur un seul critère. Un intervalle purement temporel (12 mois) ignore le kilométrage réel ; pour un parc hétérogène (véhicules professionnels à fort kilométrage), croisez les deux critères plutôt que de vous fier à un seul.
  • Oublier la mise à jour de dernier_rappel_envoye. Sans cette écriture après chaque envoi réussi, le filtre anti-doublon ne sert à rien : vérifiez que le node d'écriture s'exécute bien après un envoi confirmé, pas avant.
  • Rappeler un véhicule vendu ou un client parti. Une colonne statut (actif/inactif) filtrée en amont du workflow évite d'envoyer un rappel de contrôle technique à l'ancien propriétaire d'un véhicule revendu.

En résumé

Le workflow tient en une base véhicules à jour, un calcul d'échéance qui combine contrôle technique et révision, un routage du canal selon l'urgence, et un message qui propose directement un créneau plutôt qu'une simple information. Rien de tout cela ne demande une infrastructure lourde : Google Sheets ou Airtable, un Schedule Trigger quotidien, et les nodes Twilio et Gmail déjà couverts ailleurs sur ce blog suffisent à construire la version complète en une demi-journée. Si vous avez déjà besoin d'un tri intelligent de la boîte mail entrante pour les demandes de rendez-vous qui arrivent en retour, le Pack Inbox IA (79 €) fournit une base directement réutilisable pour ce second flux.

FAQ

Questions fréquentes

Faut-il un CRM spécialisé garage pour automatiser ces rappels ?

Non. Un simple Google Sheet ou une base Airtable avec une ligne par véhicule (immatriculation, client, dernière visite, kilométrage, date de contrôle technique) suffit pour démarrer. n8n vient lire cette base à intervalle régulier ; l'outil de stockage compte moins que la fiabilité du calcul des échéances et de l'envoi. Un CRM métier reste utile plus tard pour la facturation ou l'historique complet, mais n'est pas un prérequis pour ce workflow.

Comment éviter d'envoyer un rappel en double au même client ?

En ajoutant une colonne « dernier rappel envoyé » (date) dans la base, mise à jour par n8n immédiatement après chaque envoi réussi. Le filtre du workflow doit exclure tout véhicule déjà relancé dans les X derniers jours, pas seulement vérifier l'échéance : c'est cette double condition qui évite le SMS envoyé deux fois parce que le Schedule Trigger tourne chaque jour.

Le SMS est-il vraiment nécessaire, ou l'email suffit-il ?

Cela dépend de l'urgence de l'échéance. Pour un rappel à 30 jours, l'email suffit et coûte quasiment rien. Pour une relance à J-3 ou J-1 d'un contrôle technique qui expire, le SMS a un taux de lecture nettement supérieur dans l'heure — c'est le canal à réserver aux échéances qui approchent vraiment, pas à généraliser à tous les rappels sous peine de coût et de lassitude du client.

Peut-on personnaliser le message sans faire appel à un LLM ?

Oui, un simple gabarit avec des champs interpolés (prénom, modèle, date d'échéance) fonctionne très bien et coûte zéro appel API. L'IA apporte une valeur réelle quand le ton doit varier selon le contexte (relance amicale à J-30 vs. message plus direct à J-1) ou quand le message doit intégrer une information variable comme l'historique d'entretien du véhicule — sinon un gabarit n8n classique avec le node Set suffit.

Bundle FlowKit Complet

269 €