Automatisation Google Sheets avec n8n : gestion des avis clients
Ce workflow n8n a pour objectif d'automatiser la gestion des avis clients en intégrant des données provenant de G2 et en les stockant dans Google Sheets. Grâce à cette automatisation n8n, les entreprises peuvent suivre les avis de leurs concurrents et réagir rapidement aux nouvelles évaluations. Le processus commence par un déclencheur programmé qui exécute le workflow chaque jour. Ensuite, il utilise ScrapingBee pour récupérer les données des avis sur G2. Une fois les données extraites, le workflow analyse le contenu HTML des avis pour en extraire des informations structurées. Les avis sont ensuite convertis en format Markdown pour une meilleure lisibilité. Après cela, le workflow compare les nouveaux avis avec ceux déjà présents dans Google Sheets. Si un nouvel avis est détecté, il est envoyé à un canal Slack pour une notification instantanée et ajouté à la feuille de calcul Google Sheets pour un suivi continu. Cette automatisation permet aux équipes marketing et aux responsables de la relation client de rester informés des retours clients, d'améliorer leur réactivité et de prendre des décisions basées sur des données concrètes, renforçant ainsi leur stratégie de gestion de la réputation.
Workflow n8n Google Sheets, Scraping, avis clients : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Google Sheets, Scraping, avis clients : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
{
"id": "bd34c2fb-9892-408e-be1f-a25f6f9970ad",
"name": "Add your competitors here",
"type": "n8n-nodes-base.code",
"position": [
1260,
800
],
"parameters": {
"jsCode": "return [\n {\"competitor\":\"zendesk\"},\n {\"competitor\":\"intercom\"},\n {\"competitor\":\"dixa\"}\n]"
},
"typeVersion": 2
},
{
"id": "ec726fe0-e85f-47b3-8cd9-05b94fc5f8ab",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
600
],
"parameters": {
"color": 7,
"width": 235.65210573476693,
"height": 396.04301075268825,
"content": "Add your API key here\n\n1. Sign up here\nhttps://app.scrapingbee.com/\n\n2. Get your API key\n\n3. Paste it the node"
},
"typeVersion": 1
},
{
"id": "fd7b88e5-ef30-488e-803e-aec43334c41b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
460
],
"parameters": {
"width": 465,
"height": 342.8125,
"content": "# Read me\nThis workflow monitor G2 reviews URLS. \n\nWhen a new review is published, it will: \n- trigger a Slack notification \n- record the review in Google Sheets\n\n\nTo install it, you'll need access to Slack, Google Sheets and ScrapingBee\n\n### Full guide here: https://lempire.notion.site/Scrape-G2-reviews-with-n8n-3f46e280e8f24a68b3797f98d2fba433?pvs=4"
},
"typeVersion": 1
},
{
"id": "925c9ce9-1691-47bd-b184-5532cfa85da5",
"name": "Execute workflow every day",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
980,
560
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 8
}
]
}
},
"typeVersion": 1.1
},
{
"id": "2dc9997d-fd94-4beb-b5be-8ec16b70f060",
"name": "Get G2 data with ScrapingBee",
"type": "n8n-nodes-base.httpRequest",
"position": [
1460,
800
],
"parameters": {
"url": "https://app.scrapingbee.com/api/v1",
"options": {
"batching": {
"batch": {
"batchSize": 3
}
}
},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "api_key",
"value": "YOUR_API_KEY"
},
{
"name": "url",
"value": "=https://www.g2.com/products/{{ $json.competitor }}/reviews?utf8=%E2%9C%93&order=most_recent "
},
{
"name": "premium_proxy",
"value": "true"
},
{
"name": "country_code",
"value": "us"
},
{
"name": "stealth_proxy",
"value": "true"
}
]
}
},
"typeVersion": 4.1
},
{
"id": "b7472e8d-5abb-489b-bf32-5d36e7bce5cc",
"name": "Get review section HTML",
"type": "n8n-nodes-base.html",
"position": [
1680,
800
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "divs",
"cssSelector": "div.paper.paper--white.paper--box.mb-2.position-relative.border-bottom",
"returnArray": true,
"returnValue": "html"
}
]
}
},
"typeVersion": 1
},
{
"id": "9ad1fb30-c388-4ad9-a299-9fb508b01a57",
"name": "Iterate on reviews",
"type": "n8n-nodes-base.itemLists",
"position": [
1840,
800
],
"parameters": {
"options": {},
"fieldToSplitOut": "divs"
},
"typeVersion": 3
},
{
"id": "cb25b05d-2543-4d42-9c7e-2db5f534db2a",
"name": "Extract structured data",
"type": "n8n-nodes-base.html",
"position": [
2020,
800
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"dataPropertyName": "divs",
"extractionValues": {
"values": [
{
"key": "date",
"cssSelector": "div.d-f.mb-1"
},
{
"key": "reviewHtml",
"cssSelector": "div[itemprop=reviewBody]",
"returnValue": "html"
},
{
"key": "user_profile",
"attribute": "href",
"cssSelector": "a.td-n",
"returnValue": "attribute"
},
{
"key": "rating",
"attribute": "content",
"cssSelector": "meta[itemprop=ratingValue]",
"returnValue": "attribute"
},
{
"key": "reviewUrl",
"attribute": "href",
"cssSelector": "a.pjax",
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1
},
{
"id": "4b2d088c-afc8-4bd9-80e1-0ef78fe94597",
"name": "Convert Review HTML to Markdown",
"type": "n8n-nodes-base.markdown",
"position": [
2200,
800
],
"parameters": {
"html": "={{ $json.reviewHtml }}",
"options": {},
"destinationKey": "review"
},
"typeVersion": 1
},
{
"id": "0c03c9a2-0ee8-4700-bf9d-f07b01fd9590",
"name": "Get all past reviews",
"type": "n8n-nodes-base.googleSheets",
"position": [
1260,
460
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Khbjjt_Dw0LdggwEE6sj300McXelmSR1ttoG8UNojyY/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1Khbjjt_Dw0LdggwEE6sj300McXelmSR1ttoG8UNojyY/edit#gid=0"
}
},
"typeVersion": 4
},
{
"id": "27d41c8f-694b-49bf-9ea7-24964e00b9b4",
"name": "Continue only if review is new",
"type": "n8n-nodes-base.merge",
"position": [
2420,
480
],
"parameters": {
"mode": "combine",
"options": {},
"joinMode": "keepNonMatches",
"mergeByFields": {
"values": [
{
"field1": "reviewUrl",
"field2": "reviewUrl"
}
]
},
"outputDataFrom": "input2"
},
"typeVersion": 2.1
},
{
"id": "f4574136-c4ab-44ce-bf06-17b3c487867c",
"name": "Send new review to Slack",
"type": "n8n-nodes-base.slack",
"position": [
2760,
480
],
"parameters": {
"text": "=🚨 New review in G2\n\nRating: {{ $json[\"rating\"] }}\n<{{ $json[\"user_profile\"]}}|See user in G2>\n<{{$json[\"reviewUrl\"]}}|See review in G2>\n\nReview Content:\n{{ $json.review }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "g2_reviews"
},
"otherOptions": {
"botProfile": {
"imageValues": {
"icon_url": "https://upload.wikimedia.org/wikipedia/en/thumb/3/38/G2_Crowd_logo.svg/640px-G2_Crowd_logo.svg.png",
"profilePhotoType": "image"
}
},
"includeLinkToWorkflow": false
}
},
"typeVersion": 2.1
},
{
"id": "09076f69-32a4-4ddf-a662-10c0c0e35e7f",
"name": "Add new review to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2760,
700
],
"parameters": {
"columns": {
"value": {
"date": "={{ $json.date }}",
"rating": "={{ $json.rating }}",
"review": "={{ $json.review }}",
"reviewUrl": "={{ $json.reviewUrl }}",
"user_profile": "={{ $json.user_profile }}"
},
"schema": [
{
"id": "date",
"type": "string",
"display": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "rating",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review",
"type": "string",
"display": true,
"required": false,
"displayName": "review",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "user_profile",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "user_profile",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reviewUrl",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "reviewUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"reviewUrl"
]
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Khbjjt_Dw0LdggwEE6sj300McXelmSR1ttoG8UNojyY/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1Khbjjt_Dw0LdggwEE6sj300McXelmSR1ttoG8UNojyY/edit#gid=0"
}
},
"typeVersion": 4
}
],
"pinData": {},
"connections": {
"Iterate on reviews": {
"main": [
[
{
"node": "Extract structured data",
"type": "main",
"index": 0
}
]
]
},
"Get all past reviews": {
"main": [
[
{
"node": "Continue only if review is new",
"type": "main",
"index": 0
}
]
]
},
"Extract structured data": {
"main": [
[
{
"node": "Convert Review HTML to Markdown",
"type": "main",
"index": 0
}
]
]
},
"Get review section HTML": {
"main": [
[
{
"node": "Iterate on reviews",
"type": "main",
"index": 0
}
]
]
},
"Add your competitors here": {
"main": [
[
{
"node": "Get G2 data with ScrapingBee",
"type": "main",
"index": 0
}
]
]
},
"Execute workflow every day": {
"main": [
[
{
"node": "Get all past reviews",
"type": "main",
"index": 0
},
{
"node": "Add your competitors here",
"type": "main",
"index": 0
}
]
]
},
"Get G2 data with ScrapingBee": {
"main": [
[
{
"node": "Get review section HTML",
"type": "main",
"index": 0
}
]
]
},
"Continue only if review is new": {
"main": [
[
{
"node": "Add new review to Google Sheets",
"type": "main",
"index": 0
},
{
"node": "Send new review to Slack",
"type": "main",
"index": 0
}
]
]
},
"Convert Review HTML to Markdown": {
"main": [
[
{
"node": "Continue only if review is new",
"type": "main",
"index": 1
}
]
]
}
}
}Workflow n8n Google Sheets, Scraping, avis clients : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes marketing, aux responsables de la relation client et aux PME souhaitant automatiser la gestion des avis clients. Il est idéal pour les entreprises qui utilisent Google Sheets pour le suivi de leurs données et qui souhaitent intégrer des informations provenant de plateformes externes comme G2. Un niveau technique intermédiaire est recommandé pour personnaliser le workflow.
Workflow n8n Google Sheets, Scraping, avis clients : problème résolu
Ce workflow résout le problème de la gestion manuelle des avis clients, qui peut être chronophage et source d'erreurs. En automatisant la collecte et l'analyse des avis, les entreprises peuvent réduire le temps consacré à cette tâche et minimiser le risque de manquer des retours importants. Les utilisateurs bénéficient d'une visibilité accrue sur la perception de leur marque et peuvent réagir rapidement aux nouvelles évaluations, améliorant ainsi leur réputation en ligne.
Workflow n8n Google Sheets, Scraping, avis clients : étapes du workflow
Étape 1 : Le workflow est déclenché quotidiennement par un planificateur.
- Étape 1 : Il utilise ScrapingBee pour récupérer les données des avis sur G2.
- Étape 2 : Le contenu HTML des avis est extrait pour obtenir des données structurées.
- Étape 3 : Les avis sont convertis en format Markdown pour une meilleure présentation.
- Étape 4 : Le workflow compare les nouveaux avis avec ceux déjà stockés dans Google Sheets.
- Étape 5 : Si un nouvel avis est trouvé, il est envoyé à Slack pour notification et ajouté à Google Sheets pour un suivi continu.
Workflow n8n Google Sheets, Scraping, avis clients : guide de personnalisation
Pour personnaliser ce workflow, commencez par modifier l'URL de ScrapingBee pour cibler la page d'avis de votre choix. Assurez-vous également que le document Google Sheets est correctement configuré avec les colonnes appropriées pour accueillir les nouveaux avis. Vous pouvez ajuster les paramètres de notification Slack pour choisir le canal approprié. Pensez à sécuriser votre workflow en configurant des autorisations d'accès pour les outils utilisés et en surveillant les exécutions pour détecter d'éventuelles erreurs.