Analyse automatisée du sentiment des avis clients avec Google Sheets
Ceci est unMarket Research, AI Summarizationworkflow d'automatisation du domainecontenant 6 nœuds.Utilise principalement des nœuds comme Code, GoogleSheets, GoogleSheetsTrigger. Analyser automatiquement le sentiment des avis clients avec Google Sheets
- •Informations d'identification Google Sheets API
Nœuds utilisés (6)
Catégorie
{
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "46064753-85fe-4f8e-aba1-0e3ba9b994b6",
"name": "Analyser le Sentiment",
"type": "n8n-nodes-base.code",
"position": [
272,
48
],
"parameters": {
"jsCode": "const reviewText = $input.first().json['Review Text'];\nconst reviewId = $input.first().json['Review ID'];\n\nlet sentiment = 'Neutral';\nconst positiveKeywords = ['great', 'excellent', 'amazing', 'happy', 'love', 'satisfied', 'good', 'fantastic', 'awesome', 'recommend'];\nconst negativeKeywords = ['bad', 'poor', 'disappointed', 'problem', 'unhappy', 'frustrating', 'issue', 'terrible', 'worst'];\n\nconst lowerCaseReview = reviewText.toLowerCase();\n\nlet positiveCount = 0;\npositiveKeywords.forEach(keyword => {\n if (lowerCaseReview.includes(keyword)) {\n positiveCount++;\n }\n});\n\nlet negativeCount = 0;\nnegativeKeywords.forEach(keyword => {\n if (lowerCaseReview.includes(keyword)) {\n negativeCount++;\n }\n});\n\nif (positiveCount > negativeCount) {\n sentiment = 'Positive';\n} else if (negativeCount > positiveCount) {\n sentiment = 'Negative';\n} else if (positiveCount > 0 && negativeCount > 0) {\n sentiment = 'Mixed'; // For cases with both positive and negative keywords\n}\n\nreturn [{ json: { sentiment: sentiment, reviewId: reviewId } }];"
},
"typeVersion": 2
},
{
"id": "c2830312-8cdc-446a-a0ea-cfecabca7e5e",
"name": "Mettre à jour la Feuille Google avec le Sentiment",
"type": "n8n-nodes-base.googleSheets",
"position": [
496,
48
],
"parameters": {
"columns": {
"value": {
"Review ID": "={{ $json.reviewId }}",
"row_number": 0
},
"schema": [
{
"id": "Timestamp",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Customer Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Customer Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Review Text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Review Text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Sentiment",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Review ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Review ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Review ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 789150459,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE/edit#gid=789150459",
"cachedResultName": "customer_reviews_template"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE/edit?usp=drivesdk",
"cachedResultName": "Customer Review "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "vL25dYTf9oT1CSvl",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.6
},
{
"id": "40bedf02-1897-4b02-b2c6-00e24d3352ff",
"name": "Déclencheur Google Sheets",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-224,
48
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 789150459,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE/edit#gid=789150459",
"cachedResultName": "customer_reviews_template"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SOxZwhOEI8XQNu-0wQ3TiWsf01aLEKu48IAgtbEt2CE/edit?usp=drivesdk",
"cachedResultName": "Customer Review "
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "Ummd8YuUEDil2T3f",
"name": "Google Sheets Trigger account 2"
}
},
"typeVersion": 1
},
{
"id": "41b7911b-7086-45a7-8b8d-dbf75b0351ec",
"name": "Note Adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-176
],
"parameters": {
"width": 320,
"height": 400,
"content": "## Customer Review Sentiment Analyzer (Google Sheets)\n**Author: David Olusola**\n\nThis workflow watches for new rows in a Google Sheet (e.g., where you manually log customer reviews) and uses a Code node to perform a simple sentiment analysis, then updates the same row with the detected sentiment.\n\nUse Case: Quickly gauge customer satisfaction, identify positive/negative trends, and prioritize follow-ups based on sentiment."
},
"typeVersion": 1
},
{
"id": "31fc4a2f-03c4-4cff-a766-c4b22d614a59",
"name": "Note Adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-208
],
"parameters": {
"height": 512,
"content": "## Setup Steps\n\nTo get this workflow up and running, follow these instructions:\n\nStep 1: Create Google Sheets Credentials in n8n\n\nIn your n8n instance, click on Credentials in the left sidebar.\n\nClick New Credential.\n\nSearch for and select \"Google Sheets OAuth2 API\" and follow the authentication steps with your Google account. Save it.\n\nMake note of the Credential Name (e.g., \"My Google Sheets Account\").\n\nStep 2: Make a copy of the Google Sheet [Customer Review](https://docs.google.com/spreadsheets/d/1XmyKfySCUAgyTgnAU3p0bz22D_ofAPoTAUw2HuBezrM/edit?usp=sharing)"
},
"typeVersion": 1
},
{
"id": "86cd2976-fe14-4238-a2a6-0400eb3f2cde",
"name": "Note Adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-192
],
"parameters": {
"height": 464,
"content": "## Activate and Test the Workflow\n\n\nClick the \"Activate\" toggle button in the top right corner of the n8n workflow editor.\n\nGo to your Google Sheet and manually add a new row with a \"Review Text\" (e.g., \"This product is great, I love it!\"). Leave the \"Sentiment\" column empty.\n\nThe workflow should trigger automatically (it polls every minute by default), analyze the sentiment, and update the \"Sentiment\" column in your Google Sheet. You can also manually \"Execute Workflow\" to test immediately."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"46064753-85fe-4f8e-aba1-0e3ba9b994b6": {
"main": [
[
{
"node": "c2830312-8cdc-446a-a0ea-cfecabca7e5e",
"type": "main",
"index": 0
}
]
]
},
"40bedf02-1897-4b02-b2c6-00e24d3352ff": {
"main": [
[
{
"node": "46064753-85fe-4f8e-aba1-0e3ba9b994b6",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Étude de marché, Résumé IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
David Olusola
@dae221I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com
Partager ce workflow