Analyse automatisée du sentiment des avis clients avec Google Sheets

Intermédiaire

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

Prérequis
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds6
Catégorie2
Types de nœuds4
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
David Olusola

David Olusola

@dae221

I 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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34