Générateur de requêtes et de rapports de prix des concurrents
Ceci est unAI, Marketingworkflow d'automatisation du domainecontenant 19 nœuds.Utilise principalement des nœuds comme If, Set, Code, Wait, Markdown, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Générateur de requêtes de prix et de rapports concurrentiels basé sur Bright Data
- •Informations d'identification Google Sheets API
- •Clé API Google Gemini
Nœuds utilisés (19)
Catégorie
{
"meta": {
"instanceId": "71eb5622cf8abac565805540c0900dbae437dddbda45bf1b87bf3bfeea26393c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "588abc91-e839-4f69-b5b1-dcd33b6bcd48",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-460,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2481cb1d-6309-4e32-970c-3b68c556758f",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-180,
-80
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jf8qNEg-KTh__aZ8L5YS5iMmBZLEEKCYipIszWARCmw/edit#gid=0",
"cachedResultName": "input"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jf8qNEg-KTh__aZ8L5YS5iMmBZLEEKCYipIszWARCmw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jf8qNEg-KTh__aZ8L5YS5iMmBZLEEKCYipIszWARCmw/edit?usp=drivesdk",
"cachedResultName": "Items"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "xEyma1PCHrpnF0ZW",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "e165f017-7abf-4a5c-82d4-97013b25b582",
"name": "Wait 30s - Polling Bright Data",
"type": "n8n-nodes-base.wait",
"position": [
480,
-440
],
"webhookId": "8005a2b3-2195-479e-badb-d90e4240e699",
"parameters": {
"amount": 30
},
"executeOnce": false,
"typeVersion": 1.1
},
{
"id": "8cbd727d-9104-4d40-8ec2-0a4718c0e4e0",
"name": "Snapshot Progress",
"type": "n8n-nodes-brightdata.brightData",
"position": [
700,
-440
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "getSnapshotMetadata",
"snapshot_id": "={{ $json.snapshot_id }}"
},
"credentials": {
"brightdataApi": {
"id": "M05NojNBUiV9U7KO",
"name": "BrightData account"
}
},
"typeVersion": 1
},
{
"id": "0ce012a2-6827-4128-9642-c22f97f5a89d",
"name": "Snapshot Content",
"type": "n8n-nodes-brightdata.brightData",
"position": [
360,
40
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "getSnapshotContent",
"snapshot_id": "={{ $('Snapshot Request').item.json.snapshot_id }}"
},
"credentials": {
"brightdataApi": {
"id": "M05NojNBUiV9U7KO",
"name": "BrightData account"
}
},
"typeVersion": 1
},
{
"id": "3b4c2dc2-9191-411d-b9eb-1c9038b3e82c",
"name": "Snapshot Request",
"type": "n8n-nodes-brightdata.brightData",
"position": [
260,
-440
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "filterDataset",
"dataset_id": {
"__rl": true,
"mode": "list",
"value": "gd_ltppk50q18kdw67omz",
"cachedResultName": "Google Shopping"
},
"filter_type": "filters_group",
"filters_group": "={\"operator\":\"and\",\"filters\":[{\"name\":\"title\",\"operator\":\"includes\",\"value\":\"{{$json.title}}\"},\n{\"name\":\"item_price\",\"operator\":\"is_not_null\"}]}"
},
"credentials": {
"brightdataApi": {
"id": "M05NojNBUiV9U7KO",
"name": "BrightData account"
}
},
"typeVersion": 1
},
{
"id": "1421cc56-469e-4a7a-8a73-c3f8aff795c1",
"name": "If - Checking status of Snapshot",
"type": "n8n-nodes-base.if",
"position": [
920,
-440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7932282b-71bb-4bbb-ab73-4978e554de7e",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "running"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f774e258-3da9-4ad9-8843-04814ac64ec0",
"name": "Check if snapshot ready",
"type": "n8n-nodes-base.if",
"position": [
800,
40
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "645d85d3-c5cc-4e51-a989-075c0a851449",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $json.isArray}}",
"rightValue": "false"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e434c805-06f3-4497-b21c-897ff7aab9d4",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
100,
-80
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "30e1f4f1-9cee-493f-9b52-0998ebd2c2da",
"name": "If - Checking status for errors",
"type": "n8n-nodes-base.if",
"position": [
1140,
-380
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7932282b-71bb-4bbb-ab73-4978e554de7e",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "failed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ff36ddb4-c22a-4bf7-9776-a12ffbad0280",
"name": "Code - Check If Snapshot is built",
"type": "n8n-nodes-base.code",
"position": [
580,
40
],
"parameters": {
"jsCode": "const value = $json.items;\nconst isArray = Array.isArray(value);\n\nreturn [\n {\n json: {\n isArray: isArray,\n original: value\n }\n }\n];"
},
"typeVersion": 2
},
{
"id": "036893c2-57f7-4e69-a617-9c8f256d33cf",
"name": "Code - Extract Necessary Data",
"type": "n8n-nodes-base.code",
"position": [
1020,
40
],
"parameters": {
"jsCode": "const input = items[0].json.original;\nconst posts = Array.isArray(input) ? input : [];\n\n// Фильтруем те, где item_price присутствует\nconst filteredPosts = posts.filter(post =>\n post && post.item_price !== null && post.item_price !== undefined\n);\n\n// Оставляем только нужные поля\nconst extracted = filteredPosts.map(post => {\n return {\n price: post.item_price,\n seller_name: post.seller_name || null,\n title: post.title || null,\n url: post.url || null,\n };\n});\n\nreturn [\n {\n json: {\n items: extracted\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "dfa86828-7bcf-423f-ad24-8b1a39d92d50",
"name": "Email Report",
"type": "n8n-nodes-base.emailSend",
"position": [
2020,
240
],
"webhookId": "1e6e9588-2bc6-4f05-8531-2d7ca8348d0c",
"parameters": {
"html": "={{ $json.html }}",
"options": {},
"subject": "=Your N8N report about {{ $('Loop Over Items').item.json.title }}",
"toEmail": "jotunheim166@gmail.com",
"fromEmail": "n8n-mail@example.com"
},
"credentials": {
"smtp": {
"id": "2TLeEvocq163Riy6",
"name": "SMTP account"
}
},
"typeVersion": 2.1
},
{
"id": "1194906b-74d1-4cee-9429-7d9168ee97a5",
"name": "Error message (replace with webhook/other notifier if needed)",
"type": "n8n-nodes-base.set",
"position": [
1380,
-300
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c1137a35-0854-4af2-b22d-6d7817f2a2f2",
"name": "message",
"type": "string",
"value": "=Bright Data snapshot error for item \"{{ $('Loop Over Items').item.json.title }}\": \n{{ $('Snapshot Progress').item.json.warning }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a9f8c6fb-b8c4-45bf-a452-20544dd2b72f",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1260,
260
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"credentials": {
"googlePalmApi": {
"id": "vZJIC5jaE984SWu3",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "9f3f912d-9d9a-4269-86a2-e6edbe26c793",
"name": "Compare Prices and Generate Report",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1240,
40
],
"parameters": {
"text": "={{$json}}",
"messages": {
"messageValues": [
{
"message": "=Analyze these listings from Google Shopping and identify the top 20 sources (stores or websites) offering the lowest prices. Provide a ranked list including the seller name, product price, and link to the listing if available. Ensure all product names match or are highly relevent to {{ $('Loop Over Items').item }}. Don't start your answer with 'Okay'. Return all the text as Markdown."
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "8b564b07-5f07-4d45-b3c2-203e56d23617",
"name": "Markdown",
"type": "n8n-nodes-base.markdown",
"position": [
1620,
40
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.text }}",
"destinationKey": "html"
},
"typeVersion": 1
},
{
"id": "67e40e23-e514-435f-8795-81e8112b2234",
"name": "Code - Build HTML",
"type": "n8n-nodes-base.code",
"position": [
1840,
40
],
"parameters": {
"jsCode": "const rawHtml = $json.html;\n\nreturn [{\n json: {\n html: `\n <html>\n <head>\n <style>\n body { font-family: Arial, sans-serif; line-height: 1.5; font-size: 15px; }\n h1, h2, h3 { color: #333; }\n a { color: #1a73e8; text-decoration: none; }\n ul { padding-left: 20px; }\n li { margin-bottom: 6px; }\n </style>\n </head>\n <body>\n ${rawHtml}\n </body>\n </html>\n `\n }\n}];"
},
"typeVersion": 2
},
{
"id": "613822ea-6e5c-4aba-a4c5-84a1a696a446",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
80
],
"parameters": {
"height": 240,
"content": "⚠️ Note\nItem searching in the dataset is case-sensitive.\n\nMake sure that the item names in your table are typed correctly.\nFor example:\nUse \"Iphone\" instead of \"iphone\", \"GeForce\" instead of \"Geforce\", and so on.\n\nOtherwise, your search may return zero results."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"8b564b07-5f07-4d45-b3c2-203e56d23617": {
"main": [
[
{
"node": "67e40e23-e514-435f-8795-81e8112b2234",
"type": "main",
"index": 0
}
]
]
},
"dfa86828-7bcf-423f-ad24-8b1a39d92d50": {
"main": [
[
{
"node": "e434c805-06f3-4497-b21c-897ff7aab9d4",
"type": "main",
"index": 0
}
]
]
},
"2481cb1d-6309-4e32-970c-3b68c556758f": {
"main": [
[
{
"node": "e434c805-06f3-4497-b21c-897ff7aab9d4",
"type": "main",
"index": 0
}
]
]
},
"e434c805-06f3-4497-b21c-897ff7aab9d4": {
"main": [
[],
[
{
"node": "3b4c2dc2-9191-411d-b9eb-1c9038b3e82c",
"type": "main",
"index": 0
}
]
]
},
"0ce012a2-6827-4128-9642-c22f97f5a89d": {
"main": [
[
{
"node": "ff36ddb4-c22a-4bf7-9776-a12ffbad0280",
"type": "main",
"index": 0
}
]
]
},
"3b4c2dc2-9191-411d-b9eb-1c9038b3e82c": {
"main": [
[
{
"node": "e165f017-7abf-4a5c-82d4-97013b25b582",
"type": "main",
"index": 0
}
]
]
},
"67e40e23-e514-435f-8795-81e8112b2234": {
"main": [
[
{
"node": "dfa86828-7bcf-423f-ad24-8b1a39d92d50",
"type": "main",
"index": 0
}
]
]
},
"8cbd727d-9104-4d40-8ec2-0a4718c0e4e0": {
"main": [
[
{
"node": "1421cc56-469e-4a7a-8a73-c3f8aff795c1",
"type": "main",
"index": 0
}
]
]
},
"f774e258-3da9-4ad9-8843-04814ac64ec0": {
"main": [
[
{
"node": "0ce012a2-6827-4128-9642-c22f97f5a89d",
"type": "main",
"index": 0
}
],
[
{
"node": "036893c2-57f7-4e69-a617-9c8f256d33cf",
"type": "main",
"index": 0
}
]
]
},
"a9f8c6fb-b8c4-45bf-a452-20544dd2b72f": {
"ai_languageModel": [
[
{
"node": "9f3f912d-9d9a-4269-86a2-e6edbe26c793",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"036893c2-57f7-4e69-a617-9c8f256d33cf": {
"main": [
[
{
"node": "9f3f912d-9d9a-4269-86a2-e6edbe26c793",
"type": "main",
"index": 0
}
]
]
},
"e165f017-7abf-4a5c-82d4-97013b25b582": {
"main": [
[
{
"node": "8cbd727d-9104-4d40-8ec2-0a4718c0e4e0",
"type": "main",
"index": 0
}
]
]
},
"30e1f4f1-9cee-493f-9b52-0998ebd2c2da": {
"main": [
[
{
"node": "1194906b-74d1-4cee-9429-7d9168ee97a5",
"type": "main",
"index": 0
}
],
[
{
"node": "0ce012a2-6827-4128-9642-c22f97f5a89d",
"type": "main",
"index": 0
}
]
]
},
"1421cc56-469e-4a7a-8a73-c3f8aff795c1": {
"main": [
[
{
"node": "30e1f4f1-9cee-493f-9b52-0998ebd2c2da",
"type": "main",
"index": 0
}
],
[
{
"node": "e165f017-7abf-4a5c-82d4-97013b25b582",
"type": "main",
"index": 0
}
]
]
},
"ff36ddb4-c22a-4bf7-9776-a12ffbad0280": {
"main": [
[
{
"node": "f774e258-3da9-4ad9-8843-04814ac64ec0",
"type": "main",
"index": 0
}
]
]
},
"588abc91-e839-4f69-b5b1-dcd33b6bcd48": {
"main": [
[
{
"node": "2481cb1d-6309-4e32-970c-3b68c556758f",
"type": "main",
"index": 0
}
]
]
},
"9f3f912d-9d9a-4269-86a2-e6edbe26c793": {
"main": [
[
{
"node": "8b564b07-5f07-4d45-b3c2-203e56d23617",
"type": "main",
"index": 0
}
]
]
},
"1194906b-74d1-4cee-9429-7d9168ee97a5": {
"main": [
[
{
"node": "e434c805-06f3-4497-b21c-897ff7aab9d4",
"type": "main",
"index": 0
}
]
]
}
}
}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é ?
Avancé - 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.
Workflows recommandés
Gleb D
@glebdPartager ce workflow