競合他社価格設定を監視中
中級
これはProduct, AI, Marketing分野の自動化ワークフローで、8個のノードを含みます。主にCode, Merge, Slack, Airtop, Filterなどのノードを使用、AI技術を活用したスマート自動化を実現。 競合他社が価格を変更した際に Airtop と Slack を使って通知を取得
前提条件
- •Slack Bot Token または Webhook URL
- •Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "XY0cZQwrhzOkisSt",
"meta": {
"instanceId": "660cf2c29eb19fa42319afac3bd2a4a74c6354b7c006403f6cba388968b63f5d",
"templateCredsSetupCompleted": true
},
"name": "Monitor Competitor Pricing",
"tags": [
{
"id": "a8B9vqj0vNLXcKVQ",
"name": "template",
"createdAt": "2025-04-04T15:38:37.785Z",
"updatedAt": "2025-04-04T15:38:37.785Z"
}
],
"nodes": [
{
"id": "056f47d7-5a06-4714-beb5-c53ffb663ed1",
"name": "「Test workflow」クリック時",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
-180
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a8e5d613-bf15-4ebf-9191-4a17e86baba1",
"name": "価格URL取得",
"type": "n8n-nodes-base.googleSheets",
"position": [
220,
-180
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA/edit?usp=drivesdk",
"cachedResultName": "Copy of Monitor Pricing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "CwpCAR1HwgHZpRtJ",
"name": "Google Drive"
}
},
"typeVersion": 4.5
},
{
"id": "7ee84bd6-cc49-46cd-bde2-04ec53773bb8",
"name": "価格チェック",
"type": "n8n-nodes-base.airtop",
"position": [
440,
-260
],
"parameters": {
"url": "={{ $json[\"Pricing URL\"] }}",
"prompt": "=This is a pricing page. Please summarize it concisely by including every plan. For each plan, list the price and the top 3 features it includes. Compare the current plan to the previous plan described here: \n[{{ $json.Pricing }}].\n\nRETURN ONLY 3 FIELDS:\n1. `pricing_summary` - A textual description of the pricing, including the plan's name, price, and top 3 features.\n2. `differences_summary` - If there are significant differences in the PRICES between the previous plan and the current one, summarize the differences concisely in a textual description, focusing only on the changes in prices.\n3. `status` - In a status field, return [DIFF] if the new plan and pricing are substantially different from the previous one, [SIMILAR] if they are similar, or [NEW] if the previous pricing is empty.\n\n- important, do not guess or estimate, just report things that are clearly mentioned in pricing page\n",
"resource": "extraction",
"operation": "query",
"sessionMode": "new",
"additionalFields": {
"outputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"pricing_summary\": {\n \"type\": \"string\",\n \"description\": \"A textual description of the pricing, including the plan's name, price, and top 3 features.\"\n },\n \"differences_summary\": {\n \"type\": \"string\",\n \"description\": \"A concise summary of the differences between the previous and current plans, focusing on changes.\"\n },\n \"status\": {\n \"type\": \"string\",\n \"description\": \"Indicates if the new plan is substantially different from the previous one.\"\n }\n },\n \"required\": [\n \"pricing_summary\",\n \"differences_summary\",\n \"status\"\n ],\n \"additionalProperties\": false,\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}"
}
},
"credentials": {
"airtopApi": {
"id": "byhouJF8RLH5DkmY",
"name": "Airtop"
}
},
"typeVersion": 1
},
{
"id": "b6c89c9e-d87c-427d-a214-f5540036d3fd",
"name": "レスポンス解析",
"type": "n8n-nodes-base.code",
"position": [
880,
-180
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const response = JSON.parse($json.data.modelResponse)\n\nreturn { json: {\n ...response,\n row_number: $json['row_number'],\n \"Pricing URL\": $json[\"Pricing URL\"]\n}}"
},
"typeVersion": 2
},
{
"id": "7783075b-3ae3-4032-9506-16d24e9f25f6",
"name": "マージ",
"type": "n8n-nodes-base.merge",
"position": [
660,
-180
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.1
},
{
"id": "7466f2a8-8b72-48f5-94a4-c150e6bc5584",
"name": "価格更新",
"type": "n8n-nodes-base.googleSheets",
"position": [
1320,
-280
],
"parameters": {
"columns": {
"value": {
"Time": "={{ $now }}",
"Pricing": "={{ $json.pricing_summary }}",
"row_number": "={{ $json.row_number }}",
"Pricing URL": "="
},
"schema": [
{
"id": "Pricing URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Pricing URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Pricing",
"type": "string",
"display": true,
"required": false,
"displayName": "Pricing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Time",
"type": "string",
"display": true,
"required": false,
"displayName": "Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MER5ftlYyfPZR-N9ZwwVT7Ea0wwqQYxln8l1HuBqjhA/edit?usp=drivesdk",
"cachedResultName": "Copy of Monitor Pricing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "CwpCAR1HwgHZpRtJ",
"name": "Google Drive"
}
},
"typeVersion": 4.5
},
{
"id": "3c2d84a5-1080-4e49-a43e-f643e454e463",
"name": "価格変更通知",
"type": "n8n-nodes-base.slack",
"position": [
1320,
-80
],
"webhookId": "539892f2-e877-4dd5-85e7-d10e1be6daf1",
"parameters": {
"text": "={{ $json[\"Pricing URL\"] + \" - \" + $json.differences_summary }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C087FK3J0MC",
"cachedResultName": "pricing-changes"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "NgjAmOgS9xRg1RlU",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "174132d5-3273-4b8b-a51f-ccbce9f21f93",
"name": "類似除外",
"type": "n8n-nodes-base.filter",
"position": [
1100,
-180
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5142d433-519e-4e9d-ab8e-3a97d1177b51",
"operator": {
"type": "string",
"operation": "notContains"
},
"leftValue": "={{ $json.status }}",
"rightValue": "SIMILAR"
}
]
}
},
"typeVersion": 2.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c6b3fa69-c354-44b6-b472-1b530fca23e7",
"connections": {
"7783075b-3ae3-4032-9506-16d24e9f25f6": {
"main": [
[
{
"node": "b6c89c9e-d87c-427d-a214-f5540036d3fd",
"type": "main",
"index": 0
}
]
]
},
"7ee84bd6-cc49-46cd-bde2-04ec53773bb8": {
"main": [
[
{
"node": "7783075b-3ae3-4032-9506-16d24e9f25f6",
"type": "main",
"index": 0
}
]
]
},
"b6c89c9e-d87c-427d-a214-f5540036d3fd": {
"main": [
[
{
"node": "174132d5-3273-4b8b-a51f-ccbce9f21f93",
"type": "main",
"index": 0
}
]
]
},
"a8e5d613-bf15-4ebf-9191-4a17e86baba1": {
"main": [
[
{
"node": "7ee84bd6-cc49-46cd-bde2-04ec53773bb8",
"type": "main",
"index": 0
},
{
"node": "7783075b-3ae3-4032-9506-16d24e9f25f6",
"type": "main",
"index": 1
}
]
]
},
"174132d5-3273-4b8b-a51f-ccbce9f21f93": {
"main": [
[
{
"node": "7466f2a8-8b72-48f5-94a4-c150e6bc5584",
"type": "main",
"index": 0
},
{
"node": "3c2d84a5-1080-4e49-a43e-f643e454e463",
"type": "main",
"index": 0
}
]
]
},
"056f47d7-5a06-4714-beb5-c53ffb663ed1": {
"main": [
[
{
"node": "a8e5d613-bf15-4ebf-9191-4a17e86baba1",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - プロダクト, 人工知能, マーケティング
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
LinkedInプロフィールダイジェスティブ
AirtopとGoogle検索を使ったLinkedInプロフィールの自動発見
Code
Airtop
Google Sheets
+
Code
Airtop
Google Sheets
5 ノードCesar @ Airtop AI
営業
リストビルダー
AirtopとGoogle Sheetsを使って、あらゆるプラットフォームからプロフィールリストを構築
Set
Code
Airtop
+
Set
Code
Airtop
7 ノードCesar @ Airtop AI
営業
LinkedIn個人向けICPスコアリングの自動化(AirtopとGoogle Sheets)
LinkedIn個人ICP評価の自動化(AirtopとGoogle Sheets)
Code
Airtop
Google Sheets
+
Code
Airtop
Google Sheets
5 ノードCesar @ Airtop AI
プロダクト
ProductHuntを監視
AirtopとSlackを使ったProduct Hunt発見の自動化
If
Set
Slack
+
If
Set
Slack
5 ノードCesar @ Airtop AI
プロダクト
アクセルレーション隊スプリント計画の自動化
OpenAI、Googleカレンダー、Gmailを使ってアジャイルチームのスプリント計画を自動化
If
Set
Code
+
If
Set
Code
52 ノードWillemijn
プロダクト
CSVからHubSpotアップローダー(動のフィールドマッピングとGoogle Sheets連携)
CSVをHubSpotにアップロードするツール(動のフィールドマッピングとGoogle Sheets連携)
If
Set
Code
+
If
Set
Code
36 ノードPollupAI
人工知能