AutomationFlowsAI & RAG › Track Customer Nps Scores Across Platforms with Bright Data and Openai

Track Customer Nps Scores Across Platforms with Bright Data and Openai

ByYaron Been @yaron-nofluff on n8n.io

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Cron / scheduled trigger★★★★☆ complexityAI-powered16 nodesAgentGoogle SheetsOpenAI ChatN8N Nodes McpOutput Parser AutofixingOutput Parser Structured
AI & RAG Trigger: Cron / scheduled Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Google Sheets 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
{
  "id": "wRFk4MmXtL2en4zX",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "24 Track Satisfaction Scores",
  "tags": [],
  "nodes": [
    {
      "id": "5418cb29-421a-4087-9206-af79d036fd7f",
      "name": "\u23f0 Run Weekly NPS Tracker",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                1
              ],
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "aed37f9d-27db-4123-9f05-01bb5164f7d3",
      "name": "\u270f\ufe0f Set Survey Page URL",
      "type": "n8n-nodes-base.set",
      "position": [
        200,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "96319b57-b99b-460e-ae2c-9927de713274",
              "name": "url",
              "type": "string",
              "value": "https://www.trustpilot.com/review/shopify.com"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "eb159575-b6d9-49ef-af47-05f7dac4d818",
      "name": "\ud83e\udde0 Scrape Reviews with Agent (MCP)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        440,
        0
      ],
      "parameters": {
        "text": "=Extract Customer reviews, Star ratings (1 to 5 stars), Comments (optional for deeper insight) and Date of review from the following url\n\nURL: {{ $json.url }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "ba4c9999-6ff5-4cb8-a882-5adfe19ca5a0",
      "name": "\ud83d\udcca Calculate NPS from Ratings",
      "type": "n8n-nodes-base.code",
      "position": [
        920,
        0
      ],
      "parameters": {
        "jsCode": "const reviews = items[0].json.output; // The agent output you provided\nlet promoters = 0;\nlet passives = 0;\nlet detractors = 0;\n\nfor (const review of reviews) {\n  const starRating = review.rating;\n\n  // Convert 1\u20135 stars to 0\u201310 scale\n  const score = starRating * 2;\n\n  // Categorize into NPS groups\n  if (score >= 9) {\n    promoters += 1;\n  } else if (score >= 7) {\n    passives += 1;\n  } else {\n    detractors += 1;\n  }\n}\n\n// NPS Calculation\nconst total = promoters + passives + detractors;\nconst nps = total > 0 ? ((promoters - detractors) / total) * 100 : 0;\n\nreturn [\n  {\n    json: {\n      totalResponses: total,\n      promoters,\n      passives,\n      detractors,\n      nps: Math.round(nps),\n      message: `NPS Score is ${Math.round(nps)} based on ${total} responses.`\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "533563dd-4258-4e18-bd94-ecbfead0416f",
      "name": "\ud83d\udcc4 Log NPS to Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1100,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "NPS": "={{ $json.nps }}",
            "Passive": "={{ $json.passives }}",
            "summary": "={{ $json.message }}",
            "Detractor": "={{ $json.detractors }}",
            "Promoters": "={{ $json.promoters }}",
            "Total Responses": "={{ $json.totalResponses }}"
          },
          "schema": [
            {
              "id": "Total Responses",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Total Responses",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Promoters",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Promoters",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Passive",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Passive",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Detractor",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Detractor",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "NPS",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "NPS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k/edit?usp=drivesdk",
          "cachedResultName": "NPS Score"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "19e2572a-9823-4520-9de5-abb3bac64d85",
      "name": "\ud83c\udfaf Prompt & Guide Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        400,
        260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "101f8b62-352e-4e28-b5ef-da401e626750",
      "name": "\ud83c\udf10 Execute Web Scrape (Bright Data)",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        580,
        260
      ],
      "parameters": {
        "toolName": "scrape_as_markdown",
        "operation": "executeTool",
        "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
      },
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ac4346c1-57fa-402e-ab9f-2a94ca5125e5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -840
      ],
      "parameters": {
        "color": 5,
        "width": 360,
        "height": 1020,
        "content": "## \ud83d\udd36 **Section 1: Set the Target Survey Page**\n\n### \ud83e\udde9 Nodes:\n\n* `\u23f0 Run Weekly NPS Tracker` *(Schedule Trigger)*\n* `\u270f\ufe0f Set Survey Page URL` *(Edit Fields)*\n\n### \ud83d\udcdd What This Does:\n\nThis section controls **when** and **where** to begin.\n\n* The **Schedule Trigger** node is set to run automatically \u2014 for example, **every Monday at 10 AM** \u2014 to check the latest customer satisfaction reviews from a specific website like Trustpilot.\n* The **Edit Fields** node allows you to define or update the **target survey/review page URL** (e.g., Shopify\u2019s Trustpilot page). You can also set any other optional config like number of reviews, date range, etc.\n\n### \ud83e\udde0 Why It Matters:\n\n* Allows **automation** instead of manual monitoring.\n* Keeps your system flexible \u2014 you can easily change the source URL without editing the rest of the workflow.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3d7ce000-5de1-4c4f-a15b-f10fc1f68010",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -1100
      ],
      "parameters": {
        "color": 3,
        "width": 340,
        "height": 1280,
        "content": "## \ud83e\udd16 **Section 2: Scrape Reviews Using AI Agent**\n\n### \ud83e\udde9 Nodes:\n\n* `\ud83e\udde0 Scrape Reviews with Agent (MCP)` *(AI Agent)*\n\n  * \ud83d\udd0c `\ud83c\udfaf Prompt & Guide Agent` *(OpenAI Chat Model)*\n  * \ud83c\udf10 `Execute Web Scrape (Bright Data)` *(MCP Client)*\n  * \ud83d\udce6 `Parse Agent Response` *(Structured Output Parser)*\n\n### \ud83d\udcdd What This Does:\n\nThis is where the **magic** happens \u2014 using AI + Bright Data to fetch live reviews.\n\n* The **AI Agent** launches a **headless browser** via Bright Data's Mobile Carrier Proxy (MCP), mimicking a real user to visit the review site.\n* It\u2019s guided by an OpenAI model that understands natural prompts, like:\n  *\u201cExtract customer ratings, comments, and dates from Trustpilot\u201d.*\n* After scraping, the **Structured Output Parser** turns unstructured HTML into clean JSON data \u2014 a list of reviews like:\n\n  ```json\n  { \"rating\": 2, \"comment\": \"...\" }\n  ```\n\n### \ud83e\udde0 Why It Matters:\n\n* Many review sites use JavaScript \u2014 Bright Data MCP bypasses anti-bot detection.\n* No need to write complex scraping code \u2014 just describe what you want in plain English.\n* This is your **data foundation** \u2014 reliable, structured, fresh.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1c2c8d84-137a-490a-b178-67a831c94a40",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -860
      ],
      "parameters": {
        "color": 6,
        "width": 360,
        "height": 1040,
        "content": "## \ud83d\udcc8 **Section 3: Analyze & Log NPS Results**\n\n### \ud83e\udde9 Nodes:\n\n* `\ud83d\udcca Calculate NPS from Ratings` *(Code Function)*\n* `\ud83d\udcc4 Log NPS to Google Sheet` *(Google Sheets)*\n\n### \ud83d\udcdd What This Does:\n\nThis is your **data analysis and reporting** layer.\n\n* The **Function node** receives the scraped review data, calculates **Net Promoter Score (NPS)** by:\n\n  * Mapping 1\u20135 star reviews into a 0\u201310 scale.\n  * Categorizing users as:\n\n    * \ud83d\ude0d **Promoters** (9\u201310)\n    * \ud83d\ude10 **Passives** (7\u20138)\n    * \ud83d\ude20 **Detractors** (0\u20136)\n  * Calculating:\n    **NPS = (% Promoters \u2212 % Detractors) \u00d7 100**\n\n* The **Google Sheets node** appends this NPS result to a spreadsheet with columns like:\n\n  ```\n  Date | Total Responses | Promoters | Passives | Detractors | NPS Score\n  ```\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2d67aa1b-4816-4177-b12f-fa317f183fb2",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1720,
        -840
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e28e886d-519d-4941-99cf-ee546cb28944",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1720,
        -500
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2778,
        "content": "# \ud83d\udcca **Track Satisfaction Scores Workflow**\n\n### \u2728 *Automatically scrape survey reviews, calculate Net Promoter Score (NPS), and log results to Google Sheets for leadership insights.*\n\n---\n\n## \ud83d\udd36 **Section 1: Set the Target Survey Page**\n\n### \ud83e\udde9 Nodes:\n\n* `\u23f0 Run Weekly NPS Tracker` *(Schedule Trigger)*\n* `\u270f\ufe0f Set Survey Page URL` *(Edit Fields)*\n\n### \ud83d\udcdd What This Does:\n\nThis section controls **when** and **where** to begin.\n\n* The **Schedule Trigger** node is set to run automatically \u2014 for example, **every Monday at 10 AM** \u2014 to check the latest customer satisfaction reviews from a specific website like Trustpilot.\n* The **Edit Fields** node allows you to define or update the **target survey/review page URL** (e.g., Shopify\u2019s Trustpilot page). You can also set any other optional config like number of reviews, date range, etc.\n\n### \ud83e\udde0 Why It Matters:\n\n* Allows **automation** instead of manual monitoring.\n* Keeps your system flexible \u2014 you can easily change the source URL without editing the rest of the workflow.\n\n---\n\n## \ud83e\udd16 **Section 2: Scrape Reviews Using AI Agent**\n\n### \ud83e\udde9 Nodes:\n\n* `\ud83e\udde0 Scrape Reviews with Agent (MCP)` *(AI Agent)*\n\n  * \ud83d\udd0c `\ud83c\udfaf Prompt & Guide Agent` *(OpenAI Chat Model)*\n  * \ud83c\udf10 `Execute Web Scrape (Bright Data)` *(MCP Client)*\n  * \ud83d\udce6 `Parse Agent Response` *(Structured Output Parser)*\n\n### \ud83d\udcdd What This Does:\n\nThis is where the **magic** happens \u2014 using AI + Bright Data to fetch live reviews.\n\n* The **AI Agent** launches a **headless browser** via Bright Data's Mobile Carrier Proxy (MCP), mimicking a real user to visit the review site.\n* It\u2019s guided by an OpenAI model that understands natural prompts, like:\n  *\u201cExtract customer ratings, comments, and dates from Trustpilot\u201d.*\n* After scraping, the **Structured Output Parser** turns unstructured HTML into clean JSON data \u2014 a list of reviews like:\n\n  ```json\n  { \"rating\": 2, \"comment\": \"...\" }\n  ```\n\n### \ud83e\udde0 Why It Matters:\n\n* Many review sites use JavaScript \u2014 Bright Data MCP bypasses anti-bot detection.\n* No need to write complex scraping code \u2014 just describe what you want in plain English.\n* This is your **data foundation** \u2014 reliable, structured, fresh.\n\n---\n\n## \ud83d\udcc8 **Section 3: Analyze & Log NPS Results**\n\n### \ud83e\udde9 Nodes:\n\n* `\ud83d\udcca Calculate NPS from Ratings` *(Code Function)*\n* `\ud83d\udcc4 Log NPS to Google Sheet` *(Google Sheets)*\n\n### \ud83d\udcdd What This Does:\n\nThis is your **data analysis and reporting** layer.\n\n* The **Function node** receives the scraped review data, calculates **Net Promoter Score (NPS)** by:\n\n  * Mapping 1\u20135 star reviews into a 0\u201310 scale.\n  * Categorizing users as:\n\n    * \ud83d\ude0d **Promoters** (9\u201310)\n    * \ud83d\ude10 **Passives** (7\u20138)\n    * \ud83d\ude20 **Detractors** (0\u20136)\n  * Calculating:\n    **NPS = (% Promoters \u2212 % Detractors) \u00d7 100**\n\n* The **Google Sheets node** appends this NPS result to a spreadsheet with columns like:\n\n  ```\n  Date | Total Responses | Promoters | Passives | Detractors | NPS Score\n  ```\n\n### \ud83e\udde0 Why It Matters:\n\n* Helps your leadership team **track trends** over time.\n* Spot dips in customer satisfaction before they turn into churn.\n* All automated \u2014 no spreadsheets, no manual scraping, just insights.\n\n---\n\n## \ud83c\udf1f Final Output Example:\n\n| Date       | Responses | Promoters | Detractors | NPS  |\n| ---------- | --------- | --------- | ---------- | ---- |\n| 2025-07-06 | 4         | 0         | 4          | -100 |\n\n\ud83d\udca1 Imagine your manager getting this **every Monday morning** \u2014 it's like having a customer success analyst on autopilot!\n\n---\n\n## \u2705 Takeaways for Beginners\n\n| \ud83d\udd27 Feature | \ud83d\udccc Benefit                                                 |\n| ---------- | ---------------------------------------------------------- |\n| No-code    | You didn\u2019t write a single scraper \u2014 just configured blocks |\n| Dynamic    | URLs, prompts, and responses are editable                  |\n| Scalable   | You can run this for 1 site or 100 with minor tweaks       |\n| Actionable | Leadership gets real-time feedback in sheets or Slack      |\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9f4ab1c3-7645-41db-88de-a909f2dc3eb1",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1340,
        -860
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    },
    {
      "id": "01b5ab5b-d3f3-4c26-8d27-7a360f51b91f",
      "name": "Auto-fixing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        720,
        260
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "67963b9e-df9f-49c2-957b-b3c698bbfb7c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        700,
        480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "00af00b9-e6c0-4106-ba81-cc60d52ce2d7",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        860,
        480
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"rating\": 1,\n    \"comment\": \"Avoid at all costs they don\u2019t support businesses from fraud, they always side with customer chargebacks! And charge fees for nothing, your loss of stock, money, time, postage, and fees!\",\n    \"date\": \"2 days ago\",\n    \"user\": \"Monisha\"\n  },\n  {\n    \"rating\": 2,\n    \"comment\": \"Shopify is too big of a company to hold payments or not payout next day; with Shopify you will only get two deposits a week.\",\n    \"date\": \"13 hours ago\",\n    \"user\": \"Komplex Fitness\"\n  },\n  {\n    \"rating\": 1,\n    \"comment\": \"Shopify requires access to reading my email messages, cannot do anything without it.\",\n    \"date\": \"2 days ago\",\n    \"user\": \"Andre Tuseyev\"\n  },\n  {\n    \"rating\": 1,\n    \"comment\": \"Bought a pair of Hugo Italian design black leather trainers. Opened the package and my utter disappointment, they were not leather, they are certainly not Italian design.\",\n    \"date\": \"6 days ago\",\n    \"user\": \"ROGER EGERTON\"\n  },\n  {\n    \"rating\": 3,\n    \"comment\": \"Despite many negative reviews, we\u2019ve been using Shopify for nearly 10 years.\",\n    \"date\": \"6 days ago\",\n    \"user\": \"Mandy\"\n  },\n  {\n    \"rating\": 5,\n    \"comment\": \"Great platform to manage my online store efficiently.\",\n    \"date\": \"1 week ago\",\n    \"user\": \"Sarah H.\"\n  }\n]\n"
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e8e2c0a0-956b-4b35-96a3-882f6d618498",
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Auto-fixing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "\ud83e\udde0 Scrape Reviews with Agent (MCP)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "\ud83c\udfaf Prompt & Guide Agent": {
      "ai_languageModel": [
        [
          {
            "node": "\ud83e\udde0 Scrape Reviews with Agent (MCP)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "\u23f0 Run Weekly NPS Tracker": {
      "main": [
        [
          {
            "node": "\u270f\ufe0f Set Survey Page URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u270f\ufe0f Set Survey Page URL": {
      "main": [
        [
          {
            "node": "\ud83e\udde0 Scrape Reviews with Agent (MCP)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcca Calculate NPS from Ratings": {
      "main": [
        [
          {
            "node": "\ud83d\udcc4 Log NPS to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83e\udde0 Scrape Reviews with Agent (MCP)": {
      "main": [
        [
          {
            "node": "\ud83d\udcca Calculate NPS from Ratings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83c\udf10 Execute Web Scrape (Bright Data)": {
      "ai_tool": [
        [
          {
            "node": "\ud83e\udde0 Scrape Reviews with Agent (MCP)",
            "type": "ai_tool",
            "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 contains community nodes that are only compatible with the self-hosted version of n8n.

Source: https://n8n.io/workflows/5967/ — 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

Note: This template is for self-hosted n8n instances only

Output Parser Structured, Google Sheets, Agent +6
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

OpenAI Chat, N8N Nodes Mcp, Agent +3
AI & RAG

This workflow automatically monitors competitor pricing across multiple products and services to track market positioning and pricing strategies. It saves you time by eliminating the need to manually

OpenAI Chat, N8N Nodes Mcp, Agent +4
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

OpenAI Chat, N8N Nodes Mcp, Agent +4
AI & RAG

This workflow automatically analyzes sales territory performance, comparing revenue, win rates, and activity across regions. Remove the guesswork from territory planning and drive balanced growth.

Agent, Gmail, Google Sheets +4