
Dans ce tutoriel, on vous montre comment automatiser l’intégration de contacts dans Mautic à partir d’un fichier CSV stocké sur un serveur distant.
Objectif : Récupérer automatiquement un fichier via FTP, nettoyer et enrichir les données, puis les injecter dans Mautic (création ou mise à jour de contacts).
🛠 Prérequis : un accès FTP, une instance Mautic connectée via OAuth2, et un n8n fonctionnel.
Étape 1 : déclenchement automatique
Le workflow démarre avec un Schedule Trigger, ici configuré pour s’exécuter tous les jours à 5h du matin.
Un nœud JavaScript génère ensuite la date du jour précédent, utilisée pour composer dynamiquement le nom du fichier attendu.
const inputDate = new Date($input.first().json.timestamp);
inputDate.setDate(inputDate.getDate() - 1);
const formattedDate = inputDate.toISOString().split('T')[0];
return [{ formattedDate }];
Étape 2 : récupération du fichier CSV
Un nœud FTP est utilisé pour récupérer un fichier dont le nom est construit à partir de la date du jour précédent (par exemple leads_2025-04-07.csv
).
On le lit ensuite via un nœud “Extract from File“, qui convertit le contenu en objets exploitables.
Étape 3 : nettoyage et structuration des données
Un nœud Code
permet de :
- Corriger les noms de colonnes (par exemple, “email” mal encodé)
- Convertir les dates (notamment les formats Excel)
- Grouper les lignes par contact
- Compter les occurrences (ex : nombre de téléchargements, commandes, etc.)
- Regrouper des références multiples en une seule valeur
On obtient ainsi un tableau propre, structuré et prêt à être injecté dans Mautic.
Étape 4 : vérification dans Mautic
Un nœud HTTP Request envoie une requête à l’API Mautic pour savoir si chaque contact (identifié par son email) existe déjà.
La réponse est ensuite analysée via un nœud IF :
- Si le contact n’existe pas : on le crée avec un nœud Mautic → Create Contact
- S’il existe déjà : on prépare les données à mettre à jour
Étape 5 : fusion des données existantes
Si le contact est déjà présent, on fusionne les données existantes (issues de Mautic) avec les nouvelles données du fichier.
Exemple typique : additionner un nombre de téléchargements cumulés sur plusieurs fichiers.
const totalDownloads = mauticDownloads + csvDownloads;
Ce traitement permet de conserver l’historique tout en gardant un contact à jour.
Étape 6 : création ou mise à jour dans Mautic
Deux actions possibles ici :
- Création d’un nouveau contact avec tous les champs renseignés (standard + personnalisés)
- Mise à jour du contact existant avec les nouvelles valeurs (nom, entreprise, adresse, champs spécifiques…)
Les champs personnalisés peuvent être adaptés à votre cas d’usage : provenance, nombre d’actions, secteur, date de dernière interaction, etc.
Étape 7 : gestion des erreurs
En cas d’erreur lors de la création ou mise à jour, une alerte automatique est envoyée par e-mail à l’équipe.
Cela permet de détecter rapidement les anomalies et d’assurer une fiabilité maximale de l’import.
Étape 8 : nettoyage des anciens fichiers (optionnel)
Un second Schedule Trigger (par exemple à 8h) permet de :
- Lister les fichiers du serveur FTP
- Supprimer ceux modifiés il y a plus de 7 jours
Cela permet de garder votre serveur propre, sans intervention manuelle.
Résultat
Avec ce workflow n8n, vous pouvez automatiser l’import de fichiers CSV provenant de n’importe quelle source : plateformes partenaires, exports CRM, campagnes événementielles, etc.
Fini les imports manuels dans Mautic : vous avez un flux fiable, automatisé, et prêt à scaler.
Besoin de créer votre propre connecteur ou de faire évoluer vos automatisations Mautic ?
Contactez notre équipe : https://www.webanyone.net/contact/
