基于AI、Bright Data、Sheets和Slack的联盟竞争对手追踪与分析
高级
这是一个Market Research, AI Summarization领域的自动化工作流,包含 23 个节点。主要使用 If, Set, Code, Slack, EmailSend 等节点。 使用AI、Bright Data、Sheets和Slack进行联盟竞争对手追踪与分析
前置要求
- •Slack Bot Token 或 Webhook URL
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "db30e8ae4100235addbd4638770997b7ef11878d049073c888ba440ca84c55fc"
},
"nodes": [
{
"id": "1db8cf8c-ac58-46a4-9222-6306c71c3368",
"name": "安排竞争对手检查",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "Runs twice daily to monitor competitor offers automatically",
"position": [
-1120,
240
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3d6e51b2-80ab-4781-8783-50a6f43487d5",
"name": "抓取竞争对手网站",
"type": "n8n-nodes-base.httpRequest",
"notes": "Uses Bright Data API to scrape competitor affiliate pages",
"position": [
-896,
240
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_l7q7dkf244hwjntr0"
},
{
"name": "url",
"value": "={{$json.competitorUrl}}"
},
{
"name": "format",
"value": "json"
}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "95e9a310-42f7-4791-ba94-524632e63473",
"name": "AI报价分析",
"type": "n8n-nodes-base.code",
"notes": "Analyzes competitor offers and identifies threats to your program",
"position": [
-672,
240
],
"parameters": {
"jsCode": "// AI-powered competitive offer analysis\nconst items = $input.all();\nconst analyzedItems = [];\n\nfor (const item of items) {\n const data = item.json;\n let competitiveScore = 0;\n let insights = [];\n let recommendations = [];\n let alertLevel = 'normal';\n \n // Extract competitor data\n const competitorName = data.competitorName || 'Unknown';\n const commissionRate = parseFloat(data.commissionRate) || 0;\n const cookieDuration = parseInt(data.cookieDuration) || 0;\n const averageOrderValue = parseFloat(data.averageOrderValue) || 0;\n const conversionRate = parseFloat(data.conversionRate) || 0;\n const payoutThreshold = parseFloat(data.payoutThreshold) || 0;\n \n // Get your current rates from workflow context\n const yourCommissionRate = 10; // Your current rate\n const yourCookieDuration = 30; // Your cookie days\n const yourAOV = 150; // Your AOV\n \n // Commission Rate Analysis\n const commissionDiff = commissionRate - yourCommissionRate;\n if (commissionDiff > 5) {\n competitiveScore += 35;\n insights.push(`HIGH ALERT: ${competitorName} offers ${commissionRate}% commission vs your ${yourCommissionRate}% (+${commissionDiff.toFixed(1)}% advantage)`);\n recommendations.push(`URGENT: Consider matching or beating ${competitorName}'s ${commissionRate}% commission rate`);\n alertLevel = 'critical';\n } else if (commissionDiff > 2) {\n competitiveScore += 25;\n insights.push(`WARNING: ${competitorName} offers ${commissionRate}% commission vs your ${yourCommissionRate}% (+${commissionDiff.toFixed(1)}% advantage)`);\n recommendations.push(`Review commission structure to stay competitive with ${competitorName}`);\n alertLevel = alertLevel === 'critical' ? 'critical' : 'warning';\n } else if (commissionDiff > 0) {\n competitiveScore += 15;\n insights.push(`${competitorName} offers slightly higher commission: ${commissionRate}% vs ${yourCommissionRate}%`);\n } else if (commissionDiff < -3) {\n insights.push(`YOUR ADVANTAGE: You offer ${yourCommissionRate}% vs ${competitorName}'s ${commissionRate}% (-${Math.abs(commissionDiff).toFixed(1)}% in your favor)`);\n recommendations.push(`Promote your superior ${yourCommissionRate}% commission rate in affiliate recruitment`);\n } else {\n insights.push(`Commission rates are competitive: ${commissionRate}% vs your ${yourCommissionRate}%`);\n }\n \n // Cookie Duration Analysis\n const cookieDiff = cookieDuration - yourCookieDuration;\n if (cookieDiff > 30) {\n competitiveScore += 25;\n insights.push(`HIGH ALERT: ${competitorName} offers ${cookieDuration}-day cookies vs your ${yourCookieDuration} days`);\n recommendations.push(`URGENT: Extend cookie duration to match ${competitorName}'s ${cookieDuration} days`);\n alertLevel = 'critical';\n } else if (cookieDiff > 15) {\n competitiveScore += 15;\n insights.push(`WARNING: ${competitorName} offers longer cookies: ${cookieDuration} vs ${yourCookieDuration} days`);\n recommendations.push(`Consider extending cookie duration to improve conversion attribution`);\n alertLevel = alertLevel === 'critical' ? 'critical' : 'warning';\n } else if (cookieDiff > 0) {\n competitiveScore += 8;\n insights.push(`${competitorName} has slightly longer cookies: ${cookieDuration} vs ${yourCookieDuration} days`);\n } else if (cookieDiff < -15) {\n insights.push(`YOUR ADVANTAGE: ${yourCookieDuration}-day cookies vs ${competitorName}'s ${cookieDuration} days`);\n recommendations.push(`Highlight your superior ${yourCookieDuration}-day cookie window in marketing`);\n }\n \n // Average Order Value Analysis\n const aovDiff = averageOrderValue - yourAOV;\n if (averageOrderValue > 0) {\n if (aovDiff > 100) {\n competitiveScore += 20;\n insights.push(`${competitorName} has higher AOV: $${averageOrderValue} vs your $${yourAOV}`);\n recommendations.push(`Target higher-value products or bundles to compete with ${competitorName}`);\n } else if (aovDiff > 50) {\n competitiveScore += 10;\n insights.push(`${competitorName} AOV slightly higher: $${averageOrderValue} vs $${yourAOV}`);\n } else if (aovDiff < -50) {\n insights.push(`YOUR ADVANTAGE: Higher AOV of $${yourAOV} vs ${competitorName}'s $${averageOrderValue}`);\n recommendations.push(`Emphasize your higher earnings per conversion: $${yourAOV}`);\n }\n }\n \n // Conversion Rate Analysis\n if (conversionRate > 0) {\n if (conversionRate > 5) {\n competitiveScore += 15;\n insights.push(`${competitorName} reports strong ${conversionRate}% conversion rate`);\n recommendations.push(`Research ${competitorName}'s landing page optimization tactics`);\n } else if (conversionRate > 3) {\n competitiveScore += 8;\n insights.push(`${competitorName} has good ${conversionRate}% conversion rate`);\n }\n }\n \n // Payout Analysis\n if (payoutThreshold > 0) {\n if (payoutThreshold < 50) {\n competitiveScore += 10;\n insights.push(`${competitorName} has low $${payoutThreshold} payout threshold (affiliate-friendly)`);\n recommendations.push(`Consider lowering your payout threshold to improve cash flow for affiliates`);\n } else if (payoutThreshold > 100) {\n insights.push(`YOUR ADVANTAGE: Lower payout threshold than ${competitorName}'s $${payoutThreshold}`);\n }\n }\n \n // Calculate EPC (Earnings Per Click)\n const theirEPC = (averageOrderValue * commissionRate / 100 * conversionRate / 100).toFixed(2);\n const yourEPC = (yourAOV * yourCommissionRate / 100 * 3 / 100).toFixed(2); // Assuming 3% conversion\n \n if (parseFloat(theirEPC) > parseFloat(yourEPC) * 1.3) {\n insights.push(`ALERT: ${competitorName} estimated EPC $${theirEPC} vs your $${yourEPC}`);\n recommendations.push(`Focus on improving your EPC through better commission or conversion optimization`);\n } else if (parseFloat(yourEPC) > parseFloat(theirEPC) * 1.2) {\n insights.push(`YOUR ADVANTAGE: Superior EPC of $${yourEPC} vs ${competitorName}'s $${theirEPC}`);\n recommendations.push(`Promote your higher earnings potential: $${yourEPC} EPC`);\n }\n \n // Determine threat level\n let threatLevel = 'Low';\n if (competitiveScore >= 70) {\n threatLevel = 'Critical';\n } else if (competitiveScore >= 45) {\n threatLevel = 'High';\n } else if (competitiveScore >= 25) {\n threatLevel = 'Medium';\n }\n \n // Strategic recommendations based on threat\n if (threatLevel === 'Critical' || threatLevel === 'High') {\n recommendations.push('Schedule emergency meeting with affiliate team');\n recommendations.push('Analyze affiliate churn risk immediately');\n recommendations.push('Prepare competitive response strategy within 48 hours');\n } else if (threatLevel === 'Medium') {\n recommendations.push('Monitor closely for additional changes');\n recommendations.push('Survey top affiliates about competitive pressures');\n } else {\n recommendations.push('Continue monitoring - maintain current competitive position');\n recommendations.push('Look for opportunities to widen competitive advantage');\n }\n \n analyzedItems.push({\n json: {\n ...data,\n competitorName: competitorName,\n competitiveScore: competitiveScore,\n threatLevel: threatLevel,\n alertLevel: alertLevel,\n insights: insights,\n recommendations: recommendations,\n comparison: {\n commission: {\n theirs: commissionRate,\n yours: yourCommissionRate,\n diff: commissionDiff.toFixed(1)\n },\n cookies: {\n theirs: cookieDuration,\n yours: yourCookieDuration,\n diff: cookieDiff\n },\n aov: {\n theirs: averageOrderValue,\n yours: yourAOV,\n diff: aovDiff.toFixed(2)\n },\n epc: {\n theirs: theirEPC,\n yours: yourEPC\n }\n },\n analyzedAt: new Date().toISOString()\n }\n });\n}\n\nreturn analyzedItems;"
},
"typeVersion": 2
},
{
"id": "e97dc192-289e-4e33-b2fc-16f50cdd276a",
"name": "按威胁级别路由",
"type": "n8n-nodes-base.if",
"notes": "Separates critical threats from routine competitive intelligence",
"position": [
-448,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": false,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "critical-threat",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.threatLevel }}",
"rightValue": "Critical"
},
{
"id": "high-threat",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.threatLevel }}",
"rightValue": "High"
}
]
}
},
"typeVersion": 2
},
{
"id": "433b0b95-e1e6-4dc9-b5ae-6ba579f3c7f0",
"name": "记录到竞争对手仪表板",
"type": "n8n-nodes-base.googleSheets",
"notes": "Records all competitive intelligence to centralized tracking sheet",
"position": [
0,
48
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $now.toFormat('yyyy-MM-dd') }}",
"Score": "={{ $json.competitiveScore }}",
"Your AOV": "$={{ $json.comparison.aov.yours }}",
"Your EPC": "$={{ $json.comparison.epc.yours }}",
"Their AOV": "$={{ $json.comparison.aov.theirs }}",
"Their EPC": "$={{ $json.comparison.epc.theirs }}",
"Competitor": "={{ $json.competitorName }}",
"Threat Level": "={{ $json.threatLevel }}",
"Your Cookies": "={{ $json.comparison.cookies.yours }} days",
"Their Cookies": "={{ $json.comparison.cookies.theirs }} days",
"Commission Diff": "={{ $json.comparison.commission.diff }}%",
"Your Commission": "={{ $json.comparison.commission.yours }}%",
"Their Commission": "={{ $json.comparison.commission.theirs }}%"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultName": "Competitor Analysis"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "your-competitor-tracking-spreadsheet-id",
"cachedResultName": "Affiliate Competitor Intelligence"
}
},
"typeVersion": 4.4
},
{
"id": "46260c58-cdff-4bcb-991d-62d09b53e360",
"name": "归档所有数据",
"type": "n8n-nodes-base.googleSheets",
"notes": "Maintains historical record for trend analysis over time",
"position": [
-224,
432
],
"parameters": {
"columns": {
"value": {
"AOV": "$={{ $json.comparison.aov.theirs }}",
"EPC": "$={{ $json.comparison.epc.theirs }}",
"Alert": "={{ $json.alertLevel }}",
"Threat": "={{ $json.threatLevel }}",
"Timestamp": "={{ $now.toISO() }}",
"Commission": "={{ $json.comparison.commission.theirs }}%",
"Competitor": "={{ $json.competitorName }}",
"Cookie Days": "={{ $json.comparison.cookies.theirs }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=1",
"cachedResultName": "Historical Log"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "your-competitor-tracking-spreadsheet-id",
"cachedResultName": "Affiliate Competitor Intelligence"
}
},
"typeVersion": 4.4
},
{
"id": "e7b22a6c-09b8-44cc-b92d-fde97f43b72f",
"name": "紧急:竞争威胁警报",
"type": "n8n-nodes-base.slack",
"notes": "Immediate alert for critical competitive threats needing action",
"position": [
-224,
-96
],
"webhookId": "40725e22-f6b3-4b9c-b64a-63f3c680a8a9",
"parameters": {
"text": "🚨 *CRITICAL COMPETITIVE THREAT DETECTED*\n\n*Competitor:* {{ $json.competitorName }}\n*Threat Level:* {{ $json.threatLevel }}\n*Competitive Score:* {{ $json.competitiveScore }}/100\n\n*📊 HEAD-TO-HEAD COMPARISON*\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n*Commission Rate:*\n• Theirs: {{ $json.comparison.commission.theirs }}%\n• Yours: {{ $json.comparison.commission.yours }}%\n• Difference: {{ $json.comparison.commission.diff }}%\n\n*Cookie Duration:*\n• Theirs: {{ $json.comparison.cookies.theirs }} days\n• Yours: {{ $json.comparison.cookies.yours }} days\n\n*Average Order Value:*\n• Theirs: ${{ $json.comparison.aov.theirs }}\n• Yours: ${{ $json.comparison.aov.yours }}\n\n*Earnings Per Click (EPC):*\n• Theirs: ${{ $json.comparison.epc.theirs }}\n• Yours: ${{ $json.comparison.epc.yours }}\n\n*⚠️ KEY INSIGHTS:*\n{{ $json.insights.join('\\n') }}\n\n*🎯 IMMEDIATE ACTION REQUIRED:*\n{{ $json.recommendations.join('\\n') }}\n\n_⏰ Response deadline: Within 48 hours_",
"otherOptions": {}
},
"typeVersion": 2.1
},
{
"id": "f4d4bf7d-11ce-4b9a-bf50-fd685fe2a97d",
"name": "生成战略报告",
"type": "n8n-nodes-base.code",
"notes": "Creates detailed competitive intelligence reports for email distribution",
"position": [
-224,
240
],
"parameters": {
"jsCode": "// Generate comprehensive competitive intelligence report\nconst items = $input.all();\nconst reportItems = [];\n\nfor (const item of items) {\n const data = item.json;\n const competitor = data.competitorName || 'Competitor';\n const threat = data.threatLevel || 'Medium';\n const alertLevel = data.alertLevel || 'normal';\n \n let emailSubject = '';\n let emailBody = '';\n let priority = 'Medium';\n \n if (threat === 'Critical' || threat === 'High') {\n priority = 'Urgent';\n emailSubject = `🚨 URGENT: ${competitor} Competitive Threat - Immediate Action Required`;\n emailBody = `COMPETITIVE THREAT ALERT\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nDear Affiliate Team,\n\nWe've identified a ${threat.toUpperCase()}-LEVEL competitive threat that requires immediate strategic response.\n\n🎯 COMPETITOR OVERVIEW\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nCompetitor: ${competitor}\nThreat Level: ${threat}\nCompetitive Score: ${data.competitiveScore}/100\nAlert Level: ${alertLevel.toUpperCase()}\n\n📊 COMPETITIVE COMPARISON\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n🔹 COMMISSION RATES\n ${competitor}: ${data.comparison.commission.theirs}%\n Your Program: ${data.comparison.commission.yours}%\n Gap: ${data.comparison.commission.diff}%\n ${parseFloat(data.comparison.commission.diff) > 0 ? '⚠️ DISADVANTAGE' : '✅ ADVANTAGE'}\n\n🔹 COOKIE DURATION\n ${competitor}: ${data.comparison.cookies.theirs} days\n Your Program: ${data.comparison.cookies.yours} days\n ${data.comparison.cookies.theirs > data.comparison.cookies.yours ? '⚠️ THEY HAVE LONGER TRACKING' : '✅ YOU HAVE BETTER TRACKING'}\n\n🔹 AVERAGE ORDER VALUE\n ${competitor}: $${data.comparison.aov.theirs}\n Your Program: $${data.comparison.aov.yours}\n\n🔹 EARNINGS PER CLICK (EPC)\n ${competitor}: $${data.comparison.epc.theirs}\n Your Program: $${data.comparison.epc.yours}\n ${parseFloat(data.comparison.epc.theirs) > parseFloat(data.comparison.epc.yours) ? '⚠️ THEY OFFER BETTER EARNINGS' : '✅ YOU OFFER BETTER EARNINGS'}\n\n⚠️ CRITICAL INSIGHTS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n${data.insights.map((insight, i) => `${i + 1}. ${insight}`).join('\\n')}\n\n🎯 STRATEGIC RECOMMENDATIONS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n${data.recommendations.map((rec, i) => `${i + 1}. ${rec}`).join('\\n')}\n\n⏰ IMMEDIATE ACTION ITEMS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n1. Schedule emergency affiliate strategy meeting within 24 hours\n2. Assess affiliate churn risk with top 20 partners\n3. Develop counter-strategy and updated commission structure\n4. Prepare affiliate communication addressing competitive landscape\n5. Review budget for potential commission rate adjustments\n\n📈 BUSINESS IMPACT ASSESSMENT\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n• Risk of Affiliate Defection: ${threat === 'Critical' ? 'VERY HIGH' : 'HIGH'}\n• Estimated Monthly Revenue at Risk: Review with finance team\n• Competitive Response Timeline: 48-72 hours maximum\n• Market Position: ${threat === 'Critical' ? 'DETERIORATING' : 'AT RISK'}\n\nThis competitive intelligence was detected through our automated monitoring system. Please treat this information as confidential and time-sensitive.\n\nBest regards,\nAffiliate Intelligence System\n\n---\nGenerated: ${new Date().toLocaleString()}\nNext Check: In 12 hours`;\n } else {\n emailSubject = `📊 Competitive Intelligence Report: ${competitor}`;\n emailBody = `COMPETITIVE INTELLIGENCE UPDATE\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nDear Affiliate Team,\n\nHere's your regular competitive intelligence update for ${competitor}.\n\n📊 CURRENT STANDING\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nThreat Level: ${threat}\nCompetitive Score: ${data.competitiveScore}/100\n\n🔍 COMPETITIVE ANALYSIS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nCommission Rates:\n• ${competitor}: ${data.comparison.commission.theirs}%\n• Your Program: ${data.comparison.commission.yours}%\n\nCookie Duration:\n• ${competitor}: ${data.comparison.cookies.theirs} days\n• Your Program: ${data.comparison.cookies.yours} days\n\nEarnings Per Click:\n• ${competitor}: $${data.comparison.epc.theirs}\n• Your Program: $${data.comparison.epc.yours}\n\n💡 KEY INSIGHTS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n${data.insights.map((insight, i) => `${i + 1}. ${insight}`).join('\\n')}\n\n📋 RECOMMENDATIONS\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n${data.recommendations.map((rec, i) => `${i + 1}. ${rec}`).join('\\n')}\n\nContinue monitoring for changes in competitive positioning.\n\nBest regards,\nAffiliate Intelligence System\n\n---\nGenerated: ${new Date().toLocaleString()}`;\n }\n \n reportItems.push({\n json: {\n ...data,\n emailSubject: emailSubject,\n emailBody: emailBody,\n priority: priority,\n requiresUrgentAction: threat === 'Critical' || threat === 'High',\n estimatedResponseTime: threat === 'Critical' ? '24 hours' : threat === 'High' ? '48 hours' : '1 week'\n }\n });\n}\n\nreturn reportItems;"
},
"typeVersion": 2
},
{
"id": "b7ae2883-2bf2-437a-9da2-fea3d99f2259",
"name": "邮件通知联盟团队",
"type": "n8n-nodes-base.emailSend",
"notes": "Sends comprehensive competitive analysis reports to affiliate management team",
"position": [
0,
240
],
"webhookId": "efe26ea9-1d03-4afc-9bf3-270b974bc7e2",
"parameters": {
"options": {
"replyTo": "affiliate-manager@yourcompany.com",
"allowUnauthorizedCerts": false
},
"subject": "={{ $json.emailSubject }}",
"toEmail": "affiliate-team@yourcompany.com",
"fromEmail": "affiliate-intelligence@yourcompany.com"
},
"typeVersion": 2.1
},
{
"id": "747e1f46-51f9-45f5-872f-5ee4d2132d77",
"name": "常规监控警报",
"type": "n8n-nodes-base.slack",
"notes": "Regular updates for medium/low threats requiring ongoing monitoring",
"position": [
-224,
624
],
"webhookId": "79531d84-e5a6-4610-8309-5e6172e372dd",
"parameters": {
"text": "📊 *Competitive Intelligence Update*\n\n*Competitor:* {{ $json.competitorName }}\n*Threat Level:* {{ $json.threatLevel }}\n*Score:* {{ $json.competitiveScore }}/100\n\n*Quick Comparison:*\n• Commission: {{ $json.comparison.commission.theirs }}% (yours: {{ $json.comparison.commission.yours }}%)\n• Cookies: {{ $json.comparison.cookies.theirs }} days (yours: {{ $json.comparison.cookies.yours }})\n• EPC: ${{ $json.comparison.epc.theirs }} (yours: ${{ $json.comparison.epc.yours }})\n\n_No immediate action required - monitoring continues_",
"otherOptions": {}
},
"typeVersion": 2.1
},
{
"id": "f0bde90a-49ea-4493-bb42-60664086ef84",
"name": "计算市场地位",
"type": "n8n-nodes-base.set",
"notes": "Aggregates competitive intelligence into market position summary metrics",
"position": [
224,
144
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "total-competitors",
"name": "totalCompetitors",
"type": "number",
"value": "={{ $input.all().length }}"
},
{
"id": "critical-threats",
"name": "criticalThreats",
"type": "number",
"value": "={{ $input.all().filter(item => item.json.threatLevel === 'Critical').length }}"
},
{
"id": "high-threats",
"name": "highThreats",
"type": "number",
"value": "={{ $input.all().filter(item => item.json.threatLevel === 'High').length }}"
},
{
"id": "medium-threats",
"name": "mediumThreats",
"type": "number",
"value": "={{ $input.all().filter(item => item.json.threatLevel === 'Medium').length }}"
},
{
"id": "low-threats",
"name": "lowThreats",
"type": "number",
"value": "={{ $input.all().filter(item => item.json.threatLevel === 'Low').length }}"
},
{
"id": "avg-score",
"name": "avgCompetitiveScore",
"type": "string",
"value": "={{ ($input.all().reduce((sum, item) => sum + (item.json.competitiveScore || 0), 0) / $input.all().length).toFixed(1) }}"
},
{
"id": "market-summary",
"name": "marketPositionSummary",
"type": "string",
"value": "📊 Competitive Landscape Summary\n\n{{ $('Calculate Market Position').item.json.totalCompetitors }} competitors monitored:\n• 🚨 {{ $('Calculate Market Position').item.json.criticalThreats }} Critical Threats\n• ⚠️ {{ $('Calculate Market Position').item.json.highThreats }} High Threats\n• 📋 {{ $('Calculate Market Position').item.json.mediumThreats }} Medium Threats\n• ✅ {{ $('Calculate Market Position').item.json.lowThreats }} Low Threats\n\nAvg Competitive Pressure: {{ $('Calculate Market Position').item.json.avgCompetitiveScore }}/100"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "b3a3e3fc-690b-45d3-8cd1-b12ed23a3bdd",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1712,
16
],
"parameters": {
"width": 500,
"height": 620,
"content": "# 🎯 联盟竞争对手情报系统"
},
"typeVersion": 1
},
{
"id": "c7e8b8eb-c11d-40a0-b430-62fe3789f570",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1152,
128
],
"parameters": {
"width": 160,
"height": 80,
"content": "每日运行两次,自动监控竞争对手报价"
},
"typeVersion": 1
},
{
"id": "cce67763-13cb-4f69-b421-a5415295a209",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
112
],
"parameters": {
"width": 160,
"height": 96,
"content": "使用 Bright Data API 抓取竞争对手联盟页面"
},
"typeVersion": 1
},
{
"id": "5253eb5b-dc0f-416a-9bc7-713cd0550e94",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
96
],
"parameters": {
"width": 160,
"height": 112,
"content": "分析竞争对手报价并识别对您计划的威胁"
},
"typeVersion": 1
},
{
"id": "d4b6d5b3-f3f1-442e-8789-3894d4e9b30e",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
112
],
"parameters": {
"width": 160,
"height": 96,
"content": "将关键威胁与常规竞争情报分开"
},
"typeVersion": 1
},
{
"id": "58925f96-eff2-4e33-9944-926998e3ce32",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-256,
-224
],
"parameters": {
"width": 160,
"height": 96,
"content": "对需要采取行动的关键竞争威胁立即发出警报"
},
"typeVersion": 1
},
{
"id": "56f697ff-864c-4ab8-8fb7-e0c1bbe37b7f",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
432
],
"parameters": {
"width": 160,
"height": 80,
"content": "维护历史记录用于趋势分析"
},
"typeVersion": 1
},
{
"id": "92ae294d-6fa9-4d8a-89ac-68b47829cfca",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
-96
],
"parameters": {
"width": 160,
"height": 112,
"content": "将所有竞争情报记录到集中跟踪表"
},
"typeVersion": 1
},
{
"id": "19deffee-57e4-4620-aa63-ba21d512dfb3",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
96
],
"parameters": {
"width": 160,
"height": 112,
"content": "创建详细的竞争情报报告用于邮件分发"
},
"typeVersion": 1
},
{
"id": "3ebb136f-3b88-4802-9881-a90a838aa4f4",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
400
],
"parameters": {
"width": 160,
"height": 128,
"content": "向联盟管理团队发送全面的竞争分析报告"
},
"typeVersion": 1
},
{
"id": "87a2d559-c25e-4805-9dd5-21610455e1e3",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
624
],
"parameters": {
"width": 160,
"height": 96,
"content": "对需要持续监控的中/低威胁定期更新"
},
"typeVersion": 1
},
{
"id": "7b74ac47-dde6-4568-a675-560cfc39f4bc",
"name": "便利贴11",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
0
],
"parameters": {
"width": 160,
"height": 112,
"content": "将竞争情报汇总为市场地位摘要指标"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"AI Offer Analysis": {
"main": [
[
{
"node": "Route by Threat Level",
"type": "main",
"index": 0
}
]
]
},
"Email Affiliate Team": {
"main": [
[
{
"node": "Calculate Market Position",
"type": "main",
"index": 0
}
]
]
},
"Route by Threat Level": {
"main": [
[
{
"node": "Log to Competitor Dashboard",
"type": "main",
"index": 0
},
{
"node": "Archive All Data",
"type": "main",
"index": 0
},
{
"node": "URGENT: Competitive Threat Alert",
"type": "main",
"index": 0
},
{
"node": "Generate Strategic Report",
"type": "main",
"index": 0
}
],
[
{
"node": "Log to Competitor Dashboard",
"type": "main",
"index": 0
},
{
"node": "Archive All Data",
"type": "main",
"index": 0
},
{
"node": "Routine Monitoring Alert",
"type": "main",
"index": 0
},
{
"node": "Generate Strategic Report",
"type": "main",
"index": 0
}
]
]
},
"Scrape Competitor Sites": {
"main": [
[
{
"node": "AI Offer Analysis",
"type": "main",
"index": 0
}
]
]
},
"Generate Strategic Report": {
"main": [
[
{
"node": "Email Affiliate Team",
"type": "main",
"index": 0
}
]
]
},
"Schedule Competitor Check": {
"main": [
[
{
"node": "Scrape Competitor Sites",
"type": "main",
"index": 0
}
]
]
},
"Log to Competitor Dashboard": {
"main": [
[
{
"node": "Calculate Market Position",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 市场调研, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
竞争价格监控与警报(Bright Data、Sheets 和 Slack)
使用 Bright Data、Sheets 和 Slack 进行竞争价格监控与警报
If
Set
Code
+9
29 节点Daniel Shashko
市场调研
PPC广告智能分析与优化 - 集成Google Ads、Sheets和Slack
PPC广告智能分析与优化 - 集成Google Ads、Sheets和Slack
If
Set
Code
+6
23 节点Daniel Shashko
文档提取
基于Bright Data、OpenAI和Redis的高级多源AI研究
使用Bright Data、OpenAI和Redis进行高级多源AI研究
If
Set
Code
+15
43 节点Daniel Shashko
市场调研
我的工作流 2
结合 AI 竞品监控和收入优化的自动化动态定价
If
Code
Merge
+8
25 节点vinci-king-01
市场调研
使用JotForm、HubSpot、邮件和AI评分的自动化潜在客户资格认证与培育
使用JotForm、HubSpot、邮件和AI评分的自动化潜在客户资格认证与培育
If
Set
Code
+6
12 节点Daniel Shashko
AI 摘要总结
Twitter监控工作流
使用OpenAI、Google表格和Slack提醒自动化Twitter情感分析
If
Set
Slack
+10
15 节点InfyOm Technologies
市场调研
工作流信息
难度等级
高级
节点数量23
分类2
节点类型9
作者
Daniel Shashko
@tomaxAI automation specialist and a marketing enthusiast. More than 6 years of experience in SEO/GEO. Senior SEO at Bright Data.
外部链接
在 n8n.io 查看 →
分享此工作流