16 競合企業価格を監視
上級
これはMarket Research, AI Summarization分野の自動化ワークフローで、18個のノードを含みます。主にSet, Code, Gmail, GoogleSheets, McpClientToolなどのノードを使用。 Bright Data MCP と Google Sheets に基づく自動化された競合他社の価格設定モニタリング
前提条件
- •Googleアカウント + Gmail API認証情報
- •Google Sheets API認証情報
- •OpenAI API Key
使用ノード (18)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "D2S34DY7VfnEPpyB",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "16 Monitor Competitor Pricing",
"tags": [],
"nodes": [
{
"id": "605a1234-c0e6-4536-b77f-6847f00373ce",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
420,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "555eb402-b520-43e2-95cd-bd17346d03db",
"name": "MCP Client",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
600,
260
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"id": "eqq94k789oJCd6jU",
"name": "MCP Client (STDIO) account"
}
},
"typeVersion": 1
},
{
"id": "2a0c20ec-11ed-47ab-9d72-386aae3abcfb",
"name": "📅 週次チェック実行",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-60,
0
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1
],
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c3b79dd1-be34-4f56-82a2-7f5bfad4277b",
"name": "🛒 商品ページURL",
"type": "n8n-nodes-base.set",
"position": [
120,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "29b0aaf6-ddbb-4f33-a937-6528a9c1ef13",
"name": "url",
"type": "string",
"value": "https://www.nike.com/w/training-gym-clothing-58jtoz6ymx6"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "807fbabc-d4b7-4ab8-82fe-733df05d9a7f",
"name": "🤖 競合価格スクレイピング (MCP Agent)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
440,
0
],
"parameters": {
"text": "=scrape all the details about every product from the following url:\n{{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "52f014cb-7795-4461-b6f0-ba361ac0fc47",
"name": "📧 通知: 価格シート記録完了",
"type": "n8n-nodes-base.gmail",
"position": [
900,
-200
],
"webhookId": "20bff4a7-f214-4471-8cab-e9669040b7eb",
"parameters": {
"sendTo": "shahkar.genai@gmail.com",
"message": "The Competitor pricing has just logged into google sheets.\n\nPlease take a look and adjust the prices",
"options": {},
"subject": "Competitor product pricing has just logged into google sheets",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "AQDSl75AdzK3vmqJ",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "118a498c-ee93-4a4c-88a5-9455985e515d",
"name": "🧹 Google Sheets用商品データ整形",
"type": "n8n-nodes-base.code",
"position": [
1200,
180
],
"parameters": {
"jsCode": "// Input: 1 item with `output` containing an array of product objects\nconst products = items[0].json.output;\n\n// Return each product as its own item for Google Sheets\nreturn products.map(product => {\n return {\n json: {\n name: product.name,\n description: product.description,\n price: product.price,\n url: product.url\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "24a199a7-2cc5-46bd-9b92-0d9878088136",
"name": "📄 Google Sheets保存 (競合価格ログ)",
"type": "n8n-nodes-base.googleSheets",
"position": [
1420,
180
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $json.url }}",
"Name": "={{ $json.name }}",
"Price": "={{ $json.price }}",
"Description": "={{ $json.description }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Price",
"type": "string",
"display": true,
"required": false,
"displayName": "Price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"required": false,
"displayName": "URL",
"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/11NLHG0clJ78pV6YWc_Nt3Q8pjzrojiuwDOuvASViOI4/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "11NLHG0clJ78pV6YWc_Nt3Q8pjzrojiuwDOuvASViOI4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11NLHG0clJ78pV6YWc_Nt3Q8pjzrojiuwDOuvASViOI4/edit?usp=drivesdk",
"cachedResultName": "Competitor product pricing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "r2mDaisH6e9VkwHl",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "c8056167-a856-4bf6-9552-eb37194309b0",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
-660
],
"parameters": {
"color": 5,
"width": 360,
"height": 840,
"content": "### 🔹 **Section 1: Schedule & Input Configuration**\n\n#### 🧩 Nodes:\n\n* `📅 Run Daily Check` *(Schedule Trigger)*\n* `🛒 Product Page URL` *(Edit Fields)*\n\n#### 🔍 **What’s Happening?**\n\nThis section **starts the workflow** at a scheduled time — daily, weekly, or hourly depending on your setup.\nThen, the `Edit Fields` node optionally allows you to **manually enter or override** the product URL(s) to track. This makes your workflow flexible.\n\n#### 💡 **Beginner Tips:**\n\n* Use `Edit Fields` when you want to quickly test a new product without changing the backend.\n* Use the schedule to **automate price checks daily**, saving manual effort.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "7c59258a-4dc0-4b13-8852-22c2b2576d8a",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
-820
],
"parameters": {
"color": 3,
"width": 300,
"height": 1000,
"content": "### 🤖 **Section 2: Competitor Price Scraping via Agent**\n\n#### 🧩 Nodes:\n\n* `🤖 Scrape Competitor Prices (MCP Agent)`\n* 🌐 `MCP Client`\n* 💬 `OpenAI Chat Model`\n* 🧩 `Structured Output Parser`\n\n#### 🔍 **What’s Happening?**\n\nThis is the **core engine** of the workflow. It uses an AI-powered agent connected to **Bright Data’s MCP (Mobile Carrier Proxy)** to:\n\n1. Access dynamic websites like Nike.\n2. Scrape product data even if the content loads via JavaScript.\n3. Use OpenAI to intelligently plan scraping steps (optional).\n4. Parse the messy data into **structured JSON** (via the parser).\n\n#### 💡 **Beginner Tips:**\n\n* **Bright Data MCP** handles anti-bot tech on complex sites.\n* No coding needed — the agent knows how to fetch prices, descriptions, and links.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "38bfe2a4-a4a9-4969-b44f-50ba7db6b915",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
840,
-1000
],
"parameters": {
"color": 6,
"width": 220,
"height": 980,
"content": "### 📧 **Section 3: Email Notification**\n\n#### 🧩 Node:\n\n* `📧 Notify: Prices Logged in Sheet` *(Gmail)*\n\n#### 🔍 **What’s Happening?**\n\nOnce the data is successfully scraped, this node **sends an email notification** to let you (or your team) know that competitor prices are now stored in Google Sheets.\n\nThe email could say something like:\n\n> ✅ “New competitor pricing data has been added to the sheet. Click here to review.”\n\n#### 💡 **Beginner Tips:**\n\n* You’ll always stay **in the loop** — no need to check the sheet manually.\n* You can customize this email (add buttons, links, summaries, etc.).\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "93966003-b316-4c00-a830-afe8649e16df",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1160,
-580
],
"parameters": {
"color": 2,
"width": 420,
"height": 960,
"content": "### 📄 **Section 4: Data Transformation & Storage**\n\n#### 🧩 Nodes:\n\n* `🧹 Format Products for Google Sheets` *(Code)*\n* `📄 Save to Google Sheets (Competitor Pricing Log)` *(Google Sheets)*\n\n#### 🔍 **What’s Happening?**\n\nThis final section processes the raw data and **converts it into individual product rows** so that Google Sheets can store each one neatly.\n\nThe Code node:\n\n* Breaks the product list into single entries\n* Extracts: name, price, description, URL\n\nThen the Google Sheets node:\n\n* Appends each product to a **new row** in your sheet (like a live price tracker)\n\n#### 💡 **Beginner Tips:**\n\n* View trends over time in the sheet 📊\n* Filter or sort based on price changes\n* Use Google Sheets charts for visuals!\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "07140bb3-58b6-458e-8e9d-f52c81997164",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1680,
-580
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "55412999-3cad-4a90-9753-a13e14d40bd1",
"name": "付箋9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1920,
-640
],
"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": "26435f82-80f8-4f71-bb8d-64959689c338",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1920,
-300
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2538,
"content": "## 💼 Workflow Title: **Competitor Price Tracker & Logger**\n\n> 📌 This n8n automation regularly scrapes product prices from competitor websites (like Nike), stores the results in Google Sheets, and alerts you via email when new data is logged.\n\n---\n\n### 🔹 **Section 1: Schedule & Input Configuration**\n\n#### 🧩 Nodes:\n\n* `📅 Run Daily Check` *(Schedule Trigger)*\n* `🛒 Product Page URL` *(Edit Fields)*\n\n#### 🔍 **What’s Happening?**\n\nThis section **starts the workflow** at a scheduled time — daily, weekly, or hourly depending on your setup.\nThen, the `Edit Fields` node optionally allows you to **manually enter or override** the product URL(s) to track. This makes your workflow flexible.\n\n#### 💡 **Beginner Tips:**\n\n* Use `Edit Fields` when you want to quickly test a new product without changing the backend.\n* Use the schedule to **automate price checks daily**, saving manual effort.\n\n---\n\n### 🤖 **Section 2: Competitor Price Scraping via Agent**\n\n#### 🧩 Nodes:\n\n* `🤖 Scrape Competitor Prices (MCP Agent)`\n* 🌐 `MCP Client`\n* 💬 `OpenAI Chat Model`\n* 🧩 `Structured Output Parser`\n\n#### 🔍 **What’s Happening?**\n\nThis is the **core engine** of the workflow. It uses an AI-powered agent connected to **Bright Data’s MCP (Mobile Carrier Proxy)** to:\n\n1. Access dynamic websites like Nike.\n2. Scrape product data even if the content loads via JavaScript.\n3. Use OpenAI to intelligently plan scraping steps (optional).\n4. Parse the messy data into **structured JSON** (via the parser).\n\n#### 💡 **Beginner Tips:**\n\n* **Bright Data MCP** handles anti-bot tech on complex sites.\n* No coding needed — the agent knows how to fetch prices, descriptions, and links.\n\n---\n\n### 📧 **Section 3: Email Notification**\n\n#### 🧩 Node:\n\n* `📧 Notify: Prices Logged in Sheet` *(Gmail)*\n\n#### 🔍 **What’s Happening?**\n\nOnce the data is successfully scraped, this node **sends an email notification** to let you (or your team) know that competitor prices are now stored in Google Sheets.\n\nThe email could say something like:\n\n> ✅ “New competitor pricing data has been added to the sheet. Click here to review.”\n\n#### 💡 **Beginner Tips:**\n\n* You’ll always stay **in the loop** — no need to check the sheet manually.\n* You can customize this email (add buttons, links, summaries, etc.).\n\n---\n\n### 📄 **Section 4: Data Transformation & Storage**\n\n#### 🧩 Nodes:\n\n* `🧹 Format Products for Google Sheets` *(Code)*\n* `📄 Save to Google Sheets (Competitor Pricing Log)` *(Google Sheets)*\n\n#### 🔍 **What’s Happening?**\n\nThis final section processes the raw data and **converts it into individual product rows** so that Google Sheets can store each one neatly.\n\nThe Code node:\n\n* Breaks the product list into single entries\n* Extracts: name, price, description, URL\n\nThen the Google Sheets node:\n\n* Appends each product to a **new row** in your sheet (like a live price tracker)\n\n#### 💡 **Beginner Tips:**\n\n* View trends over time in the sheet 📊\n* Filter or sort based on price changes\n* Use Google Sheets charts for visuals!\n\n---\n\n## 🧠 Summary for Beginners\n\n| Step | Purpose | Benefit |\n| ---- | ------------------------------------ | -------------------------------------------------------- |\n| 1️⃣ | Trigger & Input | Controls when to run and what products to track |\n| 2️⃣ | Scraping Agent | Collects competitor prices from hard-to-scrape websites |\n| 3️⃣ | Email Notification | Keeps you informed every time new data is captured |\n| 4️⃣ | Processing & Storing to Google Sheet | Stores clean data for review, tracking, or price updates |\n\n---"
},
"typeVersion": 1
},
{
"id": "abf0acf3-d7eb-4ba1-8b50-386ecfb68eed",
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
740,
260
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "81ee9366-a769-4468-a29d-5f17ce24d237",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
720,
480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "8e60d01a-4743-4d26-b7c5-05e0c42aa5c5",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
880,
480
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"name\": \"Nike Universa\",\n \"description\": \"Women's Medium-Support High-Waisted 7/8 Leggings with Pockets\",\n \"price\": 93.97,\n \"url\": \"https://www.nike.com/t/universa-womens-medium-support-high-waisted-7-8-leggings-with-pockets-tTQDxt/HQ6813-478\"\n },\n {\n \"name\": \"Nike One\",\n \"description\": \"Women's Dri-FIT Tank Top\",\n \"price\": 50,\n \"url\": \"https://www.nike.com/t/one-womens-dri-fit-tank-top-QHHXIcvJ/IH8605-652\"\n },\n {\n \"name\": \"Nike Primary Fleece\",\n \"description\": \"Men's Dri-FIT UV Pullover Performance Hoodie\",\n \"price\": 80,\n \"url\": \"https://www.nike.com/t/primary-fleece-mens-dri-fit-uv-pullover-performance-hoodie-B10qz3/FZ0969-237\"\n },\n {\n \"name\": \"Nike Swoosh Medium Support\",\n \"description\": \"Women's Padded Sports Bra\",\n \"price\": 40,\n \"url\": \"https://www.nike.com/t/swoosh-medium-support-womens-padded-sports-bra-1mKhIH9g/DX6821-712\"\n },\n {\n \"name\": \"Nike Dri-FIT Legend\",\n \"description\": \"Men's Fitness T-Shirt\",\n \"price\": 30,\n \"url\": \"https://www.nike.com/t/dri-fit-legend-mens-fitness-t-shirt-JmKL0d/DX0989-411\"\n }\n]\n"
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "f5a47b0c-868f-4398-9391-86184f4319a3",
"connections": {
"555eb402-b520-43e2-95cd-bd17346d03db": {
"ai_tool": [
[
{
"node": "807fbabc-d4b7-4ab8-82fe-733df05d9a7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"605a1234-c0e6-4536-b77f-6847f00373ce": {
"ai_languageModel": [
[
{
"node": "807fbabc-d4b7-4ab8-82fe-733df05d9a7f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"81ee9366-a769-4468-a29d-5f17ce24d237": {
"ai_languageModel": [
[
{
"node": "abf0acf3-d7eb-4ba1-8b50-386ecfb68eed",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2a0c20ec-11ed-47ab-9d72-386aae3abcfb": {
"main": [
[
{
"node": "c3b79dd1-be34-4f56-82a2-7f5bfad4277b",
"type": "main",
"index": 0
}
]
]
},
"c3b79dd1-be34-4f56-82a2-7f5bfad4277b": {
"main": [
[
{
"node": "807fbabc-d4b7-4ab8-82fe-733df05d9a7f",
"type": "main",
"index": 0
}
]
]
},
"abf0acf3-d7eb-4ba1-8b50-386ecfb68eed": {
"ai_outputParser": [
[
{
"node": "807fbabc-d4b7-4ab8-82fe-733df05d9a7f",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"8e60d01a-4743-4d26-b7c5-05e0c42aa5c5": {
"ai_outputParser": [
[
{
"node": "abf0acf3-d7eb-4ba1-8b50-386ecfb68eed",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"118a498c-ee93-4a4c-88a5-9455985e515d": {
"main": [
[
{
"node": "24a199a7-2cc5-46bd-9b92-0d9878088136",
"type": "main",
"index": 0
}
]
]
},
"807fbabc-d4b7-4ab8-82fe-733df05d9a7f": {
"main": [
[
{
"node": "118a498c-ee93-4a4c-88a5-9455985e515d",
"type": "main",
"index": 0
},
{
"node": "52f014cb-7795-4461-b6f0-ba361ac0fc47",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - 市場調査, AI要約
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
競合製品リリースモニタリング
Bright DataとOpenAIに基づく即時のな競合製品リリース監視、メール/テーブルへの送信
Set
Code
Gmail
+
Set
Code
Gmail
18 ノードYaron Been
市場調査
23 顧客生涯価値(CLV)を分析する
Bright Data MCPを使ってGPT-4で高値顧客を分析し、特定する
If
Set
Code
+
If
Set
Code
20 ノードYaron Been
市場調査
27 市場クリームの分析
市場のニッチから SaaS 製品のアイデアを生成するには、OpenAI と Bright Data を使用します
Set
Code
Google Sheets
+
Set
Code
Google Sheets
16 ノードYaron Been
市場調査
分析ゾーンごとのパフォーマンス
Bright Data MCP と GPT-4o を使用して営業エリアのパフォーマンスを分析する
Set
Code
Gmail
+
Set
Code
Gmail
17 ノードYaron Been
顧客管理
スマートウェブフunnelfォーカー
GPT-4o、Bright Data、Google Sheetsを使ってサイトのコンバージョンクリークルを分析
Set
Google Sheets
Mcp Client Tool
+
Set
Google Sheets
Mcp Client Tool
15 ノードYaron Been
市場調査
競合サイトの更新状況を4つ追跡
Bright Data MCPとOpenAIを使用した自動のな競合価格モニタリング
If
Set
Google Sheets
+
If
Set
Google Sheets
18 ノードYaron Been
市場調査
ワークフロー情報
難易度
上級
ノード数18
カテゴリー2
ノードタイプ11
作成者
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
外部リンク
n8n.ioで表示 →
このワークフローを共有