8
n8n 한국어amn8n.com

경쟁사 가격 모니터링

중급

이것은Product, AI, Marketing분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 Code, Merge, Slack, Airtop, Filter 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. 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": "워크플로우 테스트 클릭 시",
      "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)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수8
카테고리3
노드 유형7
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Cesar @ Airtop AI

Cesar @ Airtop AI

@cesar-at-airtop

AI Engineer at Airtop AI

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34