Bonjour ! Bienvenue dans cette nouvelle leçon, qui est un exercice pratique de synthèse.
Dans les leçons précédentes, vous avez appris à interagir avec HubSpot pour créer et mettre à jour des contacts, ainsi qu'à manipuler des données dans Google Sheets. Vous êtes maintenant équipé pour construire l'un des workflows d'automatisation les plus courants et les plus utiles : la synchronisation de nouvelles prospects depuis une feuille de calcul vers votre CRM.
Objectif de la leçon : Construire un workflow qui synchronise les nouvelles lignes d'un Google Sheets vers des contacts HubSpot.
Cet exercice vous permettra de combiner vos compétences en une solution concrète. Nous allons configurer un déclencheur qui surveille une feuille Google Sheets et qui, pour chaque nouvelle ligne ajoutée, crée ou met à jour un contact dans HubSpot. C'est le pilier de nombreux systèmes de gestion de leads.
1. Préparation de l'environnement
Avant de commencer à construire le workflow, assurons-nous que tout est en place.
a) Le Google Sheet
Créez une nouvelle feuille de calcul dans votre Google Drive. Nommez-la Nouveaux Leads par exemple.
Dans la première ligne, définissez les en-têtes de colonnes suivants :Prénom, Nom, Email, Entreprise
Ajoutez une ou deux lignes de données fictives pour les tests initiaux. Par exemple :
| Prénom | Nom | Entreprise | |
|---|---|---|---|
| Jeanne | Dupont | jeanne.dupont@example.com | TechCorp |
| Paul | Martin | paul.martin@example.com | InnovateInc |
Important : Si vous utilisez un Compte de Service pour la connexion (comme recommandé dans la leçon précédente), n'oubliez pas de partager cette feuille de calcul avec l'adresse email de votre compte de service en lui donnant des droits d'éditeur.
b) Les credentials n8n
Assurez-vous que vos identifiants (credentials) pour Google Sheets et HubSpot sont bien configurés et fonctionnels dans votre instance n8n. Nous les avons configurés dans les leçons 7.1 et 7.3.
2. Construction du Workflow étape par étape
Créons maintenant le workflow dans n8n. La logique est simple : un déclencheur et une action.
Étape 1 : Le Déclencheur Google Sheets
Contrairement à la leçon précédente où nous utilisions le nœud Google Sheets pour des opérations ponctuelles, nous allons ici l'utiliser comme déclencheur (trigger). Il surveillera activement notre feuille et démarrera le workflow à chaque ajout de ligne.
- Créez un nouveau workflow et, à la place du nœud
Start, supprimez-le et ajoutez un nœud Google Sheets Trigger. - Sélectionnez vos identifiants Google Sheets.
- Dans le champ Trigger On, choisissez
On Row Added. - Dans Document ID, sélectionnez votre feuille de calcul
Nouveaux Leads. - Dans Sheet Name, sélectionnez la feuille (onglet) correspondante.
- Vous pouvez laisser l'intervalle de vérification (Poll Times) par défaut (toutes les minutes).
Ce nœud va maintenant s'exécuter périodiquement. S'il trouve une nouvelle ligne depuis sa dernière vérification, il démarrera le workflow en passant les données de cette ligne dans sa sortie.
Étape 2 : Le Nœud d'Action HubSpot
Connectez un nœud HubSpot à la sortie du déclencheur Google Sheets. C'est ce nœud qui se chargera de la création du contact.
- Sélectionnez vos identifiants HubSpot.
- Resource:
Contact. - Operation:
Create or Update. C'est une pratique essentielle pour éviter de créer des doublons. Si un contact avec le même identifiant existe déjà, il sera mis à jour. Sinon, il sera créé. - Contact Identifier:
Email. HubSpot utilisera l'adresse email comme clé unique pour identifier les contacts existants. - Email: Utilisez l'éditeur d'expressions pour mapper l'email provenant du déclencheur. La donnée se trouve dans
{{ $json.body.Email }}. - Dépliez la section Properties pour mapper les autres champs :
- First Name:
{{ $json.body.Prénom }} - Last Name:
{{ $json.body.Nom }} - Company:
{{ $json.body.Entreprise }}
- First Name:
Votre workflow est maintenant complet ! Il devrait ressembler à ceci : Google Sheets Trigger → HubSpot.
L'article suivant, bien qu'il inclue des étapes supplémentaires comme des notifications Slack, décrit précisément le cœur de la logique que nous venons de construire.
Automate Lead Management With N8n: Google Sheets To HubSpot ...
Cet article de BULDRR AI détaille un workflow similaire. Il vous donnera une bonne perspective sur la structure et les étapes de configuration.
Veuillez lire les sections suivantes pour consolider votre compréhension : What This Automation Does : Pour un aperçu du fonctionnement. How This Workflow Works (Input → Process → Output) : Pour comprendre le flux de données, en vous concentrant sur les parties Google Sheets et HubSpot. Beginner Step-by-Step: How to Use This Workflow in n8n : Pour revoir les étapes de configuration des nœuds, qui sont très similaires à ce que nous venons de faire.
3. Test et Validation
Il est temps de vérifier que notre automatisation fonctionne comme prévu.
- Enregistrez et activez votre workflow en basculant l'interrupteur en haut à droite de l'éditeur n8n.
- Retournez dans votre feuille Google Sheets
Nouveaux Leads. - Ajoutez une nouvelle ligne avec les informations d'un contact fictif.
- Patientez (jusqu'à une minute, selon votre configuration de polling) et consultez l'onglet "Executions" dans n8n. Vous devriez voir une exécution réussie.
- Connectez-vous à votre compte HubSpot et vérifiez que le nouveau contact a bien été créé.
- Test de la mise à jour : Ajoutez une autre ligne dans votre Google Sheet, mais en utilisant le même email que le contact précédent, et changez par exemple le nom de l'entreprise. Vérifiez dans HubSpot que la fiche du contact existant a bien été mise à jour avec la nouvelle information, sans créer de doublon.
4. Solution de l'Exercice
Comme demandé, voici le code JSON complet du workflow. Vous pouvez l'importer dans n8n (via Import > From Clipboard) pour comparer avec votre propre solution ou pour vous débloquer si nécessaire.
N'oubliez pas de remplacer les valeurs YOUR_... par vos propres ID de document, noms de feuille et identifiants de credentials.
{
"name": "Sync Google Sheets to HubSpot",
"nodes": [
{
"parameters": {
"pollTimes": {
"mode": "everyX",
"value": 1,
"unit": "minutes"
},
"documentId": "YOUR_SHEET_ID_HERE",
"sheetName": "YOUR_SHEET_NAME_HERE",
"options": {}
},
"name": "Google Sheets Trigger",
"type": "n8n-nodes-base.googleSheetsTrigger",
"typeVersion": 1,
"position": [
450,
300
],
"credentials": {
"googleSheetsApi": {
"id": "YOUR_GOOGLE_CREDENTIALS_ID",
"name": "Your Google Sheets Credentials"
}
}
},
{
"parameters": {
"resource": "contact",
"operation": "createOrUpdate",
"contactIdentifier": "email",
"email": "{{$json.body.Email}}",
"properties": {
"firstname": "{{$json.body.Prénom}}",
"lastname": "{{$json.body.Nom}}",
"company": "{{$json.body.Entreprise}}"
},
"options": {}
},
"name": "HubSpot",
"type": "n8n-nodes-base.hubSpot",
"typeVersion": 1,
"position": [
680,
300
],
"credentials": {
"hubSpotApi": {
"id": "YOUR_HUBSPOT_CREDENTIALS_ID",
"name": "Your HubSpot Credentials"
}
}
}
],
"connections": {
"Google Sheets Trigger": {
"main": [
[
{
"node": "HubSpot",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {},
"id": "sync-gs-to-hs"
}
Conclusion
Félicitations ! Vous avez construit un workflow de synchronisation de données robuste et fonctionnel. C'est une étape majeure qui combine plusieurs concepts clés de n8n.
Points clés à retenir :
- Le nœud Google Sheets peut agir comme un déclencheur (
Trigger) pour surveiller les ajouts (ou modifications) de lignes. - L'opération
Create or Updateest fondamentale pour construire des workflows idempotents, c'est-à-dire des workflows qui peuvent être exécutés plusieurs fois sans produire d'effets de bord indésirables comme des doublons. - Le mappage de données via les expressions est au cœur de n8n pour faire transiter l'information d'un service à un autre.
Dans la prochaine leçon, nous aborderons le problème inverse : comment récupérer les contacts mis à jour dans HubSpot et mettre à jour une feuille Google Sheets correspondante. Cela vous donnera les outils pour construire une synchronisation bidirectionnelle. À très bientôt