AutomationFlowsAI & RAG › Reddit Sentiment Analysis for Apple Wwdc25 with Gemini AI and Google Sheets

Reddit Sentiment Analysis for Apple Wwdc25 with Gemini AI and Google Sheets

ByZacharia Kimotho @imperolq on n8n.io

This workflow automates sentiment analysis of Reddit posts related to Apple's WWDC25 event. It extracts data, categorizes posts, analyzes sentiment of comments, and updates a Google Sheet with the results. Bright Data Account: You need a Bright Data account to scrape Reddit…

Event trigger★★★★☆ complexityAI-powered28 nodesHTTP RequestText ClassifierGoogle Gemini ChatGoogle SheetsSentiment Analysis
AI & RAG Trigger: Event Nodes: 28 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4980 — we link there as the canonical source.

This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d003d118-f10d-401b-9b48-642294003248",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -720,
        -440
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "69f49159-25a6-48e4-8040-20e2fd08d7e3",
      "name": "Get status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -280,
        -440
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer { your api key}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "17a043bf-9d13-4515-8b54-3689ff8d636b",
      "name": "Get data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        140,
        -520
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/s_mbtsa7xhm9v2pdx3l",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer { your api key}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "420403f7-ed02-40ee-b5d7-50d949c41705",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -80,
        -440
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "ready",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "cba64afb-644f-4fb2-8f47-f5f0926a31a6",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "ready"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "running",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "36e3dcef-e634-4cdc-a1df-536b3cfbc552",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "running"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "c0bad055-e7fc-4a9e-832a-faaa1fa03a86",
      "name": "scrap reddit",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -500,
        -440
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "[\n \n  {\n    \"keyword\": \"WWDC25\",\n    \"date\": \"Past month\",\n    \"num_of_posts\": 100,\n    \"sort_by\": \"New\"\n  }\n]",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "gd_lvz8ah06191smkebj4"
            },
            {
              "name": "include_errors",
              "value": "true"
            },
            {
              "name": "type",
              "value": "discover_new"
            },
            {
              "name": "discover_by",
              "value": "keyword"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer { your api key}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7051599d-a0b4-454b-8a56-49437d43388a",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        140,
        -320
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "e319d58e-bb9b-40b3-84ce-1386c2a1adac",
      "name": "Text Classifier",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        620,
        -320
      ],
      "parameters": {
        "options": {},
        "inputText": "=Post title :{{ $json.title }}\nPost description : {{ $json.description || \" \"}}",
        "categories": {
          "categories": [
            {
              "category": "WWDC events",
              "description": "=This includes all events that relate to the company APPLE and the latest events in WWDC. This excludes anything that does not refer to apple as a company "
            },
            {
              "category": "other",
              "description": "Any post that does not include APPLE company or related products."
            }
          ]
        }
      },
      "typeVersion": 1.1,
      "alwaysOutputData": false
    },
    {
      "id": "712010c8-688b-4f85-9809-a2489821e9b9",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        640,
        -140
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d5d29fe0-b1b5-4221-8bbd-d074247a1f8f",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        980,
        -420
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "72f15471-3e6a-4250-b18e-79e884d8d411",
              "name": "post_id",
              "type": "string",
              "value": "={{ $json.post_id }}"
            },
            {
              "id": "4c66a57a-79ec-4052-b332-822860b874db",
              "name": "url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "dc42a5d6-d601-422d-b4b1-48bf3a0e9840",
              "name": "user_posted",
              "type": "string",
              "value": "={{ $json.user_posted }}"
            },
            {
              "id": "842f3fc9-c2da-4eb6-8640-9b101531ec75",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "0a52a894-955d-45c0-8bc0-33a61bb562ef",
              "name": "description",
              "type": "string",
              "value": "={{ $json.description }}"
            },
            {
              "id": "0a7e5448-ffff-4f3c-a108-fae1974433be",
              "name": "num_comments",
              "type": "number",
              "value": "={{ $json.num_comments }}"
            },
            {
              "id": "0d6bdbb2-4735-4103-822f-6e3dcd0d0ff2",
              "name": "comments",
              "type": "array",
              "value": "={{ $json.comments }}"
            },
            {
              "id": "82d7814f-98a5-4b0f-aeda-e68321548bce",
              "name": "community_description",
              "type": "string",
              "value": "={{ $json.community_description }}"
            },
            {
              "id": "1c75b988-9ac6-4715-bbdd-c80856b878aa",
              "name": "community_name",
              "type": "string",
              "value": "={{ $json.community_name }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8d937cba-f73e-4c27-b387-656057a8e38c",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1500,
        -200
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-lite"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0bb0f19b-6879-4d1c-822d-e3cb2b66c4e4",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1140,
        -420
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "comments"
      },
      "typeVersion": 1
    },
    {
      "id": "06c2dace-86b3-4c42-82b4-2898b1c3701a",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        400,
        -520
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "db7d74db-cb3a-423e-be88-fb2a8d7a2439",
      "name": "format sentiment",
      "type": "n8n-nodes-base.set",
      "position": [
        2180,
        -420
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a7b1cb71-adcc-4b7d-a80d-a2f3fecf39e6",
              "name": "title",
              "type": "string",
              "value": "={{ $('Loop Over Items').first().json.title }}"
            },
            {
              "id": "d6203ecb-3c36-41a5-b3c9-13b04a960317",
              "name": "sentimentAnalysis",
              "type": "string",
              "value": "={{ $json.sentimentAnalysis.category }}"
            },
            {
              "id": "379bed7b-f754-4a61-a7e6-bfd7eb2c4430",
              "name": "post_id",
              "type": "string",
              "value": "={{ $('Loop Over Items').first().json.post_id }}"
            },
            {
              "id": "2eb5a2b7-0c37-4162-ad5c-b63b01343161",
              "name": "url",
              "type": "string",
              "value": "={{ $('Loop Over Items').first().json.url }}"
            },
            {
              "id": "cf66442b-5140-403d-a309-8714a19d742e",
              "name": "description",
              "type": "string",
              "value": "={{ $('Loop Over Items').first().json.description }}"
            },
            {
              "id": "9cff7650-8a0a-4f10-b920-1915fdfae3b6",
              "name": "community_name",
              "type": "string",
              "value": "={{ $('Loop Over Items').first().json.community_name }}"
            },
            {
              "id": "20b7a4ec-5be7-4506-b7f6-17adfd464ef2",
              "name": "category",
              "type": "string",
              "value": "={{ $json.category }}"
            },
            {
              "id": "db43d6dc-49f6-4b1b-96c3-6d440a445aac",
              "name": "comment",
              "type": "string",
              "value": "={{ $json.comment }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "e7969e75-f137-4d25-97b1-918549a419e6",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1940,
        -480
      ],
      "parameters": {
        "numberInputs": 6
      },
      "typeVersion": 3.2
    },
    {
      "id": "3e19ac8e-69e3-40c7-a4a7-7076e52ed0d5",
      "name": "Append Sentiments",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2580,
        -420
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "comment",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "comment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "user_commenting",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "user_commenting",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "description",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sentimentAnalysis",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sentimentAnalysis",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "post_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "post_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "community_name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "community_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "url"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 47236189,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/192dM77Cyn5Gei9GNLTRvQjmATLmKrVX3vyN03E4mW6Q/edit#gid=47236189",
          "cachedResultName": "Reddit Comments"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "192dM77Cyn5Gei9GNLTRvQjmATLmKrVX3vyN03E4mW6Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/192dM77Cyn5Gei9GNLTRvQjmATLmKrVX3vyN03E4mW6Q/edit?usp=drivesdk",
          "cachedResultName": "APPLE #WWDC25 Sentiments "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "7d73ce32-bea0-4b11-b062-f22752c2463b",
      "name": "Sentiment Analysis per comment",
      "type": "@n8n/n8n-nodes-langchain.sentimentAnalysis",
      "position": [
        1480,
        -420
      ],
      "parameters": {
        "options": {
          "categories": "Excited, Disappointed, Impressed, Indifferent, skeptical, Not clear",
          "systemPromptTemplate": "You are highly intelligent and accurate sentiment analyzer. Analyze the sentiment of the provided text. Categorize it into one of the following: {categories}. Use the provided formatting instructions. Only output the JSON.\n\nYou will try as much to relate he comment to the post to try and get more context of the users sentiment"
        },
        "inputText": "=title: {{ $('Loop Over Items').first().json.title }}\n\ndescription: {{ $('Loop Over Items').first().json.description }}\n\nComments: {{ $json.comment || \" \"}}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "c96807b8-c235-4ad7-bc60-c5009fa4f770",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        2380,
        -420
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "acd98194-7112-4756-9b46-da360559eddb",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.sentimentAnalysis }}",
              "rightValue": "Not clear"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2,
      "alwaysOutputData": true
    },
    {
      "id": "26187370-e043-4e93-9d22-96172fbd9c8e",
      "name": "No category",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        -200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "04e566e8-020b-44a8-9276-bc387b5a9ce7",
              "name": "response",
              "type": "string",
              "value": "No category"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "156e304d-5493-4416-bf45-0a6ebd267948",
      "name": "edit for Sentiment analysis",
      "type": "n8n-nodes-base.set",
      "position": [
        1300,
        -420
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "82f0938f-9286-41e7-bd12-23cf54595019",
              "name": "comment",
              "type": "string",
              "value": "={{ $json.comment }}"
            },
            {
              "id": "fc67ea4a-6d4f-46b9-ac97-22f3701ef1a0",
              "name": "user_commenting",
              "type": "string",
              "value": "={{ $json.user_commenting }}"
            },
            {
              "id": "157c0517-d139-4ce3-b916-9f03889d4abf",
              "name": "url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "d6e441f9-b96d-4f1d-a5ef-235b25e57690",
              "name": "description",
              "type": "string",
              "value": "={{ $('Edit Fields').item.json.description }}"
            },
            {
              "id": "ce00e4eb-26c5-4969-995b-fbe328b49d21",
              "name": "title",
              "type": "string",
              "value": "={{ $('Edit Fields').item.json.title }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ae9b39de-488b-4cee-a011-285bd344ed50",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -560
      ],
      "parameters": {
        "width": 200,
        "height": 440,
        "content": "Scrap Linkedin for all relevant posts"
      },
      "typeVersion": 1
    },
    {
      "id": "e6de27a3-09a2-4ace-9b0e-63a8d40acd3e",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -560
      ],
      "parameters": {
        "color": 4,
        "width": 380,
        "height": 440,
        "content": "Get the status of the scrap, IF running, we wait for a few seconds until the results are returned"
      },
      "typeVersion": 1
    },
    {
      "id": "b1e97d96-d03f-4bf4-8972-fb501b64cdc6",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        -560
      ],
      "parameters": {
        "color": 5,
        "width": 220,
        "height": 500,
        "content": "Fetch the response from the API call. This includes a list of all the reddit posts we have"
      },
      "typeVersion": 1
    },
    {
      "id": "a161c6ea-f338-40f6-bdb8-62ddfd973db8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -620
      ],
      "parameters": {
        "color": 4,
        "width": 200,
        "height": 540,
        "content": "Loop items so as not to overwhelm the AI with multiple searched"
      },
      "typeVersion": 1
    },
    {
      "id": "c8bc1a9c-00aa-4850-ac84-3b811de0e3b2",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -440
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 480,
        "content": "Text classification for only WWDC related events. We loop No category back to maintain the flow"
      },
      "typeVersion": 1
    },
    {
      "id": "1c064180-28d5-4490-b9f8-87694eb6b3b5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        -540
      ],
      "parameters": {
        "color": 4,
        "width": 500,
        "height": 580,
        "content": "Simple data transformation"
      },
      "typeVersion": 1
    },
    {
      "id": "2d35e7a8-c43f-4363-9eab-bd6d2a343748",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1460,
        -540
      ],
      "parameters": {
        "color": 2,
        "width": 380,
        "height": 580,
        "content": "Run Our Sentiment analysis via AI to understand what the users were feeling. This can be broken down into nuanced emotions to capture more details"
      },
      "typeVersion": 1
    },
    {
      "id": "b7e25c6d-ab06-46b5-9a26-d822c3696108",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        -540
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 440,
        "content": "Merge the paths and sentiments"
      },
      "typeVersion": 1
    },
    {
      "id": "9f5bdb9f-a0f8-42f5-940f-d83c364053f2",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2140,
        -540
      ],
      "parameters": {
        "width": 600,
        "height": 440,
        "content": "Filter only items that are of a clear sentiment and updates these to a table"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Get status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "format sentiment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Append Sentiments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Get data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "edit for Sentiment analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get status": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No category": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "scrap reddit": {
      "main": [
        [
          {
            "node": "Get status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Text Classifier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Classifier": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "format sentiment": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Sentiments": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Text Classifier",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Sentiment Analysis per comment",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "edit for Sentiment analysis": {
      "main": [
        [
          {
            "node": "Sentiment Analysis per comment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment Analysis per comment": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 3
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 4
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "scrap reddit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automates sentiment analysis of Reddit posts related to Apple's WWDC25 event. It extracts data, categorizes posts, analyzes sentiment of comments, and updates a Google Sheet with the results. Bright Data Account: You need a Bright Data account to scrape Reddit…

Source: https://n8n.io/workflows/4980/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow scrapes the top 10 pages on SERP and conducts an in-depth analysis of the keyword intent for each ranking keyword, saving the information to a Google Sheet for further analysis. We add o

HTTP Request, Google Sheets, Text Classifier +1
AI & RAG

This workflow automatically collects all comments from a specified YouTube video and analyzes the sentiment of each comment using an AI model (e.g., GPT, Claude or Gemini). The sentiment (Positive, Ne

Sentiment Analysis, Google Sheets, HTTP Request +2
AI & RAG

This workflow showcases various useful Gmail search, filter, and AI categorization operations and generates a knowledge graph for your mail using the InfraNodus GraphRAG API, which you can use to reve

HTTP Request, Google Gemini Chat, Gmail +3
AI & RAG

Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.

Telegram Trigger, OpenAI, Google Sheets +2
AI & RAG

Api Schema Extractor. Uses manualTrigger, httpRequest, splitOut, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 88 nodes.

HTTP Request, Text Splitter Recursive Character Text Splitter, Document Default Data Loader +9