Surveiller les prix des concurrents

Intermédiaire

Ceci est unProduct, AI, Marketingworkflow d'automatisation du domainecontenant 8 nœuds.Utilise principalement des nœuds comme Code, Merge, Slack, Airtop, Filter, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Via Airtop et Slack, recevoir une notification lorsque les concurrents changent leurs prix

Prérequis
  • Token Bot Slack ou URL Webhook
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Lors du clic sur 'Tester le workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        -180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a8e5d613-bf15-4ebf-9191-4a17e86baba1",
      "name": "Obtenir les URLs des prix",
      "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": "Vérifier les prix",
      "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": "Analyser la réponse",
      "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": "Fusionner",
      "type": "n8n-nodes-base.merge",
      "position": [
        660,
        -180
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.1
    },
    {
      "id": "7466f2a8-8b72-48f5-94a4-c150e6bc5584",
      "name": "Mettre à jour les prix",
      "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": "Notifier le changement de prix",
      "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": "Filtrer les similaires",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Produit, Intelligence Artificielle, Marketing

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds8
Catégorie3
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Cesar @ Airtop AI

Cesar @ Airtop AI

@cesar-at-airtop

AI Engineer at Airtop AI

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34