我的工作流 3
高级
这是一个Market Research, AI Summarization领域的自动化工作流,包含 16 个节点。主要使用 Code, GoogleDocs, ScheduleTrigger, ScrapegraphAi 等节点。 使用 ScrapeGraphAI 监控亚马逊市场情报并输出到 Google Docs
前置要求
- •无特殊前置要求,导入即可使用
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "WvrxIu1q3XWWkbdc",
"meta": {
"instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
"templateCredsSetupCompleted": true
},
"name": "我的工作流 3",
"tags": [
{
"id": "IZ3TCbPLnlWJhHZq",
"name": "Amazon Intelligence",
"createdAt": "2025-08-04T14:47:06.250Z",
"updatedAt": "2025-08-04T14:47:06.250Z"
}
],
"nodes": [
{
"id": "e7b5f996-645e-4e89-aa4f-f1e995b1e4af",
"name": "便签 - 概览",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-736
],
"parameters": {
"width": 337,
"height": 928,
"content": "# 🎯 工作流概览"
},
"typeVersion": 1
},
{
"id": "9c7c749b-5ce7-4d45-bcd1-7e24e1a7a8df",
"name": "每日计划",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "🎯 WORKFLOW OVERVIEW\n\nEsecuzione automatica giornaliera alle 6:00\nAnalizza mercato Amazon per:\n• Pricing intelligence\n• Competitor analysis \n• Keyword opportunities\n• Strategic insights",
"position": [
144,
224
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 6 * * *"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f3446896-4e2c-48d4-b380-8326064ab15b",
"name": "便签 - 设置",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
-736
],
"parameters": {
"width": 298,
"height": 919,
"content": "# ⚙️ 设置要求"
},
"typeVersion": 1
},
{
"id": "bd65dfe5-68fb-4fee-9cf1-402fde5fa66c",
"name": "亚马逊产品爬虫",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"notes": "🔧 SCRAPING CONFIG\n\n⚠️ IMPORTANTE:\n• Configurare credenziali ScrapeGraphAI\n• Modificare URL per categoria specifica\n• Monitorare rate limits Amazon\n• Aggiungere IP rotation se necessario",
"position": [
448,
224
],
"parameters": {
"userPrompt": "Extract product data: title, price, rating, review_count, asin, prime_eligible, image_url. Return as JSON array.",
"websiteUrl": "https://www.amazon.com/s?k=wireless+bluetooth+headphones"
},
"typeVersion": 1
},
{
"id": "af9aa953-c32b-4cdf-b333-eb0de2cd7ac8",
"name": "便签 - 分析",
"type": "n8n-nodes-base.stickyNote",
"position": [
416,
-736
],
"parameters": {
"width": 298,
"height": 919,
"content": "# 📊 分析输出"
},
"typeVersion": 1
},
{
"id": "272ad934-3900-4cca-9a57-224e5774eec5",
"name": "产品分析器",
"type": "n8n-nodes-base.code",
"notes": "📊 CORE ANALYSIS\n\nAnalizza automaticamente:\n✓ Prezzi (min/max/media/distribuzione)\n✓ Rating e qualità prodotti\n✓ Top performers del mercato\n✓ Gap di qualità e prezzo\n✓ Opportunità competitive",
"position": [
752,
224
],
"parameters": {
"jsCode": "// Simplified Product Analyzer\nconst products = $input.first().json.result || $input.first().json || [];\n\nfunction analyzeProducts(productList) {\n if (!Array.isArray(productList) || productList.length === 0) {\n return {\n error: 'No products found',\n timestamp: new Date().toISOString()\n };\n }\n\n const analysis = {\n summary: {\n total_products: productList.length,\n analyzed_at: new Date().toISOString()\n },\n pricing: {\n average: 0,\n min: 0,\n max: 0,\n distribution: {\n budget: 0, // < $50\n mid_range: 0, // $50-150\n premium: 0 // > $150\n }\n },\n ratings: {\n average: 0,\n excellent: 0, // >= 4.5\n good: 0, // 4.0-4.4\n fair: 0, // 3.5-3.9\n poor: 0 // < 3.5\n },\n top_products: [],\n opportunities: [],\n insights: []\n };\n\n // Extract and clean price data\n const validProducts = productList.filter(p => p.price && p.rating).map(p => ({\n ...p,\n price_numeric: parseFloat(String(p.price).replace(/[$,]/g, '') || '0'),\n rating_numeric: parseFloat(p.rating || '0'),\n review_count_numeric: parseInt(String(p.review_count || '0').replace(/[,]/g, '') || '0')\n }));\n\n if (validProducts.length === 0) {\n return { ...analysis, error: 'No valid product data found' };\n }\n\n // Pricing analysis\n const prices = validProducts.map(p => p.price_numeric).filter(p => p > 0);\n if (prices.length > 0) {\n analysis.pricing.average = Math.round(prices.reduce((a, b) => a + b, 0) / prices.length);\n analysis.pricing.min = Math.min(...prices);\n analysis.pricing.max = Math.max(...prices);\n \n // Price distribution\n analysis.pricing.distribution.budget = prices.filter(p => p < 50).length;\n analysis.pricing.distribution.mid_range = prices.filter(p => p >= 50 && p <= 150).length;\n analysis.pricing.distribution.premium = prices.filter(p => p > 150).length;\n }\n\n // Rating analysis\n const ratings = validProducts.map(p => p.rating_numeric).filter(r => r > 0);\n if (ratings.length > 0) {\n analysis.ratings.average = Math.round(ratings.reduce((a, b) => a + b, 0) / ratings.length * 10) / 10;\n analysis.ratings.excellent = ratings.filter(r => r >= 4.5).length;\n analysis.ratings.good = ratings.filter(r => r >= 4.0 && r < 4.5).length;\n analysis.ratings.fair = ratings.filter(r => r >= 3.5 && r < 4.0).length;\n analysis.ratings.poor = ratings.filter(r => r < 3.5).length;\n }\n\n // Top products (by rating and review count)\n analysis.top_products = validProducts\n .filter(p => p.rating_numeric >= 4.0)\n .sort((a, b) => {\n const scoreA = a.rating_numeric * Math.log(a.review_count_numeric + 1);\n const scoreB = b.rating_numeric * Math.log(b.review_count_numeric + 1);\n return scoreB - scoreA;\n })\n .slice(0, 5)\n .map(p => ({\n title: p.title,\n price: p.price_numeric,\n rating: p.rating_numeric,\n reviews: p.review_count_numeric,\n asin: p.asin\n }));\n\n // Market opportunities\n const lowRatedCount = analysis.ratings.poor + analysis.ratings.fair;\n if (lowRatedCount > validProducts.length * 0.3) {\n analysis.opportunities.push({\n type: 'Quality Gap',\n description: `${lowRatedCount} products have ratings below 4.0`,\n potential: 'High'\n });\n }\n\n const highPriceCount = analysis.pricing.distribution.premium;\n if (highPriceCount > validProducts.length * 0.4) {\n analysis.opportunities.push({\n type: 'Price Gap',\n description: 'Market skews toward premium pricing',\n potential: 'Medium'\n });\n }\n\n // Market insights\n analysis.insights.push(`Average price point: $${analysis.pricing.average}`);\n analysis.insights.push(`${Math.round(analysis.ratings.excellent / validProducts.length * 100)}% of products have excellent ratings`);\n \n if (analysis.pricing.distribution.budget > analysis.pricing.distribution.premium) {\n analysis.insights.push('Budget-friendly market with value opportunities');\n } else if (analysis.pricing.distribution.premium > analysis.pricing.distribution.budget) {\n analysis.insights.push('Premium market with higher margin potential');\n }\n\n return analysis;\n}\n\nconst result = analyzeProducts(products);\nreturn [{ json: result }];"
},
"typeVersion": 2
},
{
"id": "cb271036-216e-4368-977f-b3c453f30371",
"name": "便签 - SEO",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-736
],
"parameters": {
"width": 298,
"height": 913,
"content": "# 🔍 SEO 与关键词策略"
},
"typeVersion": 1
},
{
"id": "8237113b-3b07-4bfc-acbb-2ea40a042e33",
"name": "关键词分析器",
"type": "n8n-nodes-base.code",
"notes": "🔍 SEO INTELLIGENCE\n\n• Estrae keyword dai top products\n• Identifica trend di mercato emergenti\n• Suggerisce opportunità SEO\n• Analizza gap competitivi keyword\n• Focus su long-tail keywords",
"position": [
1040,
224
],
"parameters": {
"jsCode": "// Keyword and SEO Analyzer\nconst analysis = $input.first().json;\n\nfunction extractKeywords(productAnalysis) {\n const keywords = {\n primary_keywords: [],\n opportunities: [],\n trends: [],\n recommendations: [],\n timestamp: new Date().toISOString()\n };\n\n // Extract keywords from top products\n if (productAnalysis.top_products && productAnalysis.top_products.length > 0) {\n const allTitles = productAnalysis.top_products.map(p => p.title || '').join(' ');\n \n // Simple keyword extraction\n const words = allTitles.toLowerCase()\n .replace(/[^a-z0-9\\s]/g, ' ')\n .split(/\\s+/)\n .filter(word => word.length > 3 && !isStopWord(word));\n \n // Count frequency\n const wordCount = {};\n words.forEach(word => {\n wordCount[word] = (wordCount[word] || 0) + 1;\n });\n \n // Get top keywords\n keywords.primary_keywords = Object.entries(wordCount)\n .filter(([word, count]) => count >= 2)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 10)\n .map(([word, count]) => ({\n keyword: word,\n frequency: count,\n potential: count > 3 ? 'High' : 'Medium'\n }));\n }\n\n // SEO opportunities based on market analysis\n if (productAnalysis.opportunities) {\n productAnalysis.opportunities.forEach(opp => {\n if (opp.type === 'Quality Gap') {\n keywords.opportunities.push({\n type: 'Quality Keywords',\n suggestion: 'Target quality-focused keywords like \"premium\", \"durable\", \"high-quality\"',\n reason: 'Market has quality gap opportunity'\n });\n }\n \n if (opp.type === 'Price Gap') {\n keywords.opportunities.push({\n type: 'Value Keywords',\n suggestion: 'Use value-oriented keywords like \"affordable\", \"best value\", \"budget\"',\n reason: 'Price-sensitive market opportunity'\n });\n }\n });\n }\n\n // Market trends\n if (productAnalysis.pricing) {\n const { budget, mid_range, premium } = productAnalysis.pricing.distribution;\n const total = budget + mid_range + premium;\n \n if (premium > total * 0.4) {\n keywords.trends.push({\n trend: 'Premium Focus',\n keywords: ['premium', 'luxury', 'high-end', 'professional'],\n market_share: Math.round(premium / total * 100) + '%'\n });\n }\n \n if (budget > total * 0.4) {\n keywords.trends.push({\n trend: 'Value Focus',\n keywords: ['affordable', 'budget', 'value', 'economical'],\n market_share: Math.round(budget / total * 100) + '%'\n });\n }\n }\n\n // Basic recommendations\n keywords.recommendations = [\n {\n action: 'Target Long-tail Keywords',\n description: 'Focus on 3-4 word specific phrases',\n priority: 'High'\n },\n {\n action: 'Monitor Competitor Keywords',\n description: 'Analyze top performer titles for keyword ideas',\n priority: 'Medium'\n },\n {\n action: 'Optimize for Voice Search',\n description: 'Include natural language phrases',\n priority: 'Low'\n }\n ];\n\n return keywords;\n}\n\nfunction isStopWord(word) {\n const stopWords = ['with', 'for', 'and', 'the', 'that', 'this', 'from', 'wireless', 'bluetooth'];\n return stopWords.includes(word);\n}\n\nconst keywordAnalysis = extractKeywords(analysis);\nreturn [{ json: keywordAnalysis }];"
},
"typeVersion": 2
},
{
"id": "ca5b0fc8-ef7e-4a62-82ef-1143c5e4f80a",
"name": "便签 - 定价",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
-736
],
"parameters": {
"width": 298,
"height": 913,
"content": "# 💰 定价策略"
},
"typeVersion": 1
},
{
"id": "edc944e4-2495-4370-ab33-c0cc77f237ed",
"name": "定价策略",
"type": "n8n-nodes-base.code",
"notes": "💰 PRICING STRATEGIES\n\n3 Approcci principali:\n🔵 Competitive (±5% media mercato)\n🟡 Value (-10-25% sotto media)\n🟠 Premium (+15-35% sopra media)\n\nInclude analisi rischi e positioning",
"position": [
1344,
224
],
"parameters": {
"jsCode": "// Simple Pricing Strategy Generator\nconst productAnalysis = $input.item(0).json;\nconst keywordAnalysis = $input.item(1).json;\n\nfunction generatePricingStrategy(products, keywords) {\n const strategy = {\n current_market: {\n average_price: products.pricing?.average || 0,\n price_range: {\n min: products.pricing?.min || 0,\n max: products.pricing?.max || 0\n },\n market_distribution: products.pricing?.distribution || {}\n },\n recommendations: [],\n competitive_analysis: {\n positioning_options: [],\n risk_assessment: 'Medium'\n },\n action_items: [],\n timestamp: new Date().toISOString()\n };\n\n const avgPrice = products.pricing?.average || 100;\n \n // Generate pricing recommendations\n strategy.recommendations = [\n {\n strategy: 'Competitive Pricing',\n price_range: {\n min: Math.round(avgPrice * 0.95),\n max: Math.round(avgPrice * 1.05)\n },\n description: 'Price within 5% of market average',\n pros: ['Market acceptance', 'Lower risk'],\n cons: ['Limited differentiation'],\n best_for: 'New market entrants'\n },\n {\n strategy: 'Value Pricing',\n price_range: {\n min: Math.round(avgPrice * 0.75),\n max: Math.round(avgPrice * 0.90)\n },\n description: 'Undercut market by 10-25%',\n pros: ['Higher volume potential', 'Market share gains'],\n cons: ['Lower margins', 'Price war risk'],\n best_for: 'Cost-optimized products'\n },\n {\n strategy: 'Premium Pricing',\n price_range: {\n min: Math.round(avgPrice * 1.15),\n max: Math.round(avgPrice * 1.35)\n },\n description: 'Price 15-35% above market',\n pros: ['Higher margins', 'Premium positioning'],\n cons: ['Lower volume', 'Higher marketing needs'],\n best_for: 'Superior quality products'\n }\n ];\n\n // Positioning analysis\n const distribution = products.pricing?.distribution || {};\n const total = (distribution.budget || 0) + (distribution.mid_range || 0) + (distribution.premium || 0);\n \n if (total > 0) {\n strategy.competitive_analysis.positioning_options = [\n {\n position: 'Budget Leader',\n market_share: Math.round((distribution.budget || 0) / total * 100) + '%',\n competition_level: distribution.budget > 5 ? 'High' : 'Medium',\n opportunity: distribution.budget < total * 0.3 ? 'High' : 'Low'\n },\n {\n position: 'Mid-Range Player',\n market_share: Math.round((distribution.mid_range || 0) / total * 100) + '%',\n competition_level: distribution.mid_range > 5 ? 'High' : 'Medium',\n opportunity: distribution.mid_range < total * 0.4 ? 'Medium' : 'Low'\n },\n {\n position: 'Premium Brand',\n market_share: Math.round((distribution.premium || 0) / total * 100) + '%',\n competition_level: distribution.premium > 3 ? 'High' : 'Low',\n opportunity: distribution.premium < total * 0.2 ? 'High' : 'Medium'\n }\n ];\n }\n\n // Risk assessment\n const qualityIssues = products.opportunities?.some(o => o.type === 'Quality Gap') || false;\n const priceCompetition = distribution.budget > distribution.premium;\n \n if (qualityIssues && priceCompetition) {\n strategy.competitive_analysis.risk_assessment = 'High';\n } else if (qualityIssues || priceCompetition) {\n strategy.competitive_analysis.risk_assessment = 'Medium';\n } else {\n strategy.competitive_analysis.risk_assessment = 'Low';\n }\n\n // Action items\n strategy.action_items = [\n {\n priority: 'High',\n action: 'Choose pricing strategy',\n timeline: '1-2 weeks',\n description: 'Select from competitive, value, or premium pricing'\n },\n {\n priority: 'High',\n action: 'Monitor competitor pricing',\n timeline: 'Ongoing',\n description: 'Track price changes of top 5 competitors weekly'\n },\n {\n priority: 'Medium',\n action: 'Test price sensitivity',\n timeline: '4-6 weeks',\n description: 'A/B test different price points'\n },\n {\n priority: 'Low',\n action: 'Optimize for keywords',\n timeline: '2-4 weeks',\n description: 'Use keyword insights for product positioning'\n }\n ];\n\n return strategy;\n}\n\nconst pricingStrategy = generatePricingStrategy(productAnalysis, keywordAnalysis);\nreturn [{ json: pricingStrategy }];"
},
"typeVersion": 2
},
{
"id": "0d24fa51-3534-47c7-a955-cf81505c620a",
"name": "便签 - 报告",
"type": "n8n-nodes-base.stickyNote",
"position": [
1328,
-736
],
"parameters": {
"width": 298,
"height": 913,
"content": "# 📋 战略报告"
},
"typeVersion": 1
},
{
"id": "e6b4bbfc-6799-43c6-8148-2fae832872a1",
"name": "报告生成器",
"type": "n8n-nodes-base.code",
"notes": "📋 STRATEGIC REPORT\n\n• Executive Summary completo\n• Piano d'azione per fasi temporali\n• KPI da monitorare quotidianamente\n• Insights strategici actionable\n• Raccomandazioni immediate e LT",
"position": [
1648,
224
],
"parameters": {
"jsCode": "// Final Report Generator\nconst productAnalysis = $input.item(0).json;\nconst keywordAnalysis = $input.item(1).json;\nconst pricingStrategy = $input.item(2).json;\n\nfunction generateFinalReport(products, keywords, pricing) {\n const report = {\n executive_summary: {\n market_overview: {\n total_products_analyzed: products.summary?.total_products || 0,\n average_market_price: products.pricing?.average || 0,\n average_rating: products.ratings?.average || 0,\n market_health: calculateMarketHealth(products)\n },\n key_insights: [],\n recommendations: {\n immediate: [],\n short_term: [],\n long_term: []\n }\n },\n detailed_analysis: {\n pricing_insights: pricing,\n keyword_opportunities: keywords,\n product_performance: products\n },\n action_plan: {\n phase_1: [],\n phase_2: [],\n phase_3: []\n },\n kpis_to_track: [],\n generated_at: new Date().toISOString()\n };\n\n // Generate key insights\n const insights = [];\n \n if (products.pricing?.average) {\n insights.push(`Market average price is $${products.pricing.average}`);\n }\n \n if (products.opportunities?.length > 0) {\n insights.push(`${products.opportunities.length} market opportunities identified`);\n }\n \n if (products.ratings?.excellent > products.ratings?.poor) {\n insights.push('Market prioritizes quality over price');\n } else if (products.ratings?.poor > products.ratings?.excellent) {\n insights.push('Quality gap presents opportunity for premium positioning');\n }\n \n const premiumShare = pricing.current_market?.market_distribution?.premium || 0;\n const budgetShare = pricing.current_market?.market_distribution?.budget || 0;\n \n if (premiumShare > budgetShare) {\n insights.push('Premium segment dominates - consider quality focus');\n } else if (budgetShare > premiumShare) {\n insights.push('Value segment is strong - cost optimization important');\n }\n \n report.executive_summary.key_insights = insights;\n\n // Generate recommendations by timeline\n report.executive_summary.recommendations.immediate = [\n 'Select primary pricing strategy based on analysis',\n 'Identify top 3 competitor products to monitor',\n 'Choose initial keyword targets for product listing'\n ];\n \n report.executive_summary.recommendations.short_term = [\n 'Optimize product features based on market gaps',\n 'Implement competitor price monitoring',\n 'Test different price points with small batches'\n ];\n \n report.executive_summary.recommendations.long_term = [\n 'Build brand positioning based on market insights',\n 'Develop product line extensions',\n 'Consider market expansion opportunities'\n ];\n\n // Create phased action plan\n report.action_plan.phase_1 = [\n {\n task: 'Market Entry Strategy',\n timeline: '0-4 weeks',\n priority: 'Critical',\n description: 'Finalize pricing, positioning, and initial keyword strategy'\n },\n {\n task: 'Competitive Monitoring Setup',\n timeline: '1-2 weeks',\n priority: 'High',\n description: 'Establish weekly tracking of top 5 competitors'\n }\n ];\n \n report.action_plan.phase_2 = [\n {\n task: 'Product Optimization',\n timeline: '4-12 weeks',\n priority: 'High',\n description: 'Refine product based on market feedback and competitor analysis'\n },\n {\n task: 'Marketing Strategy',\n timeline: '6-10 weeks',\n priority: 'Medium',\n description: 'Develop marketing campaigns based on keyword insights'\n }\n ];\n \n report.action_plan.phase_3 = [\n {\n task: 'Market Expansion',\n timeline: '12+ weeks',\n priority: 'Medium',\n description: 'Consider additional products or market segments'\n },\n {\n task: 'Brand Building',\n timeline: '16+ weeks',\n priority: 'Low',\n description: 'Invest in brand development and customer loyalty'\n }\n ];\n\n // Define KPIs to track\n report.kpis_to_track = [\n {\n metric: 'Market Share',\n target: 'Top 10 in category',\n frequency: 'Monthly'\n },\n {\n metric: 'Price Competitiveness',\n target: 'Within 10% of optimal price point',\n frequency: 'Weekly'\n },\n {\n metric: 'Customer Satisfaction',\n target: '4.5+ star rating',\n frequency: 'Daily'\n },\n {\n metric: 'Keyword Rankings',\n target: 'Top 3 for primary keywords',\n frequency: 'Weekly'\n },\n {\n metric: 'Sales Velocity',\n target: 'Above category average',\n frequency: 'Daily'\n }\n ];\n\n return report;\n}\n\nfunction calculateMarketHealth(products) {\n let score = 0;\n let factors = 0;\n \n // Rating health\n if (products.ratings?.average >= 4.0) {\n score += 3;\n } else if (products.ratings?.average >= 3.5) {\n score += 2;\n } else {\n score += 1;\n }\n factors++;\n \n // Opportunity assessment\n const opportunityCount = products.opportunities?.length || 0;\n if (opportunityCount >= 2) {\n score += 3;\n } else if (opportunityCount >= 1) {\n score += 2;\n } else {\n score += 1;\n }\n factors++;\n \n // Market size\n const totalProducts = products.summary?.total_products || 0;\n if (totalProducts >= 20) {\n score += 3;\n } else if (totalProducts >= 10) {\n score += 2;\n } else {\n score += 1;\n }\n factors++;\n \n const avgScore = score / factors;\n \n if (avgScore >= 2.5) return 'Healthy';\n if (avgScore >= 2.0) return 'Moderate';\n return 'Challenging';\n}\n\nconst finalReport = generateFinalReport(productAnalysis, keywordAnalysis, pricingStrategy);\nreturn [{ json: finalReport }];"
},
"typeVersion": 2
},
{
"id": "ea32c996-b3cf-4998-b1b3-0698c4d41979",
"name": "便签 - Google Docs",
"type": "n8n-nodes-base.stickyNote",
"position": [
1632,
-736
],
"parameters": {
"width": 298,
"height": 913,
"content": "# 🔐 Google Docs 集成"
},
"typeVersion": 1
},
{
"id": "978248d3-0919-43d7-b5f8-13041f0f5b51",
"name": "创建Google文档",
"type": "n8n-nodes-base.googleDocs",
"notes": "🔐 GOOGLE DOCS OUTPUT\n\n⚠️ SETUP REQUIRED:\n• Configurare OAuth2 Google API\n• Abilitare Google Docs API\n• Permessi cartella condivisa\n\n✅ Report professionale automatico",
"position": [
1952,
224
],
"parameters": {
"title": "Amazon Market Analysis - {{$json.generated_at}}"
},
"typeVersion": 2
},
{
"id": "6013a1fb-6874-415c-ac1d-d241fe1f6c6c",
"name": "便签 - 商业影响",
"type": "n8n-nodes-base.stickyNote",
"position": [
1936,
-736
],
"parameters": {
"width": 337,
"height": 912,
"content": "# 🚀 商业影响"
},
"typeVersion": 1
},
{
"id": "28befcb6-02da-4d0c-ab41-4d13672a415d",
"name": "便签 - 注意事项",
"type": "n8n-nodes-base.stickyNote",
"position": [
2272,
-736
],
"parameters": {
"width": 298,
"height": 919,
"content": "# ⚠️ 重要注意事项"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "dcbd410a-6c30-41f3-a0e7-67ad02e15be2",
"connections": {
"Daily Schedule": {
"main": [
[
{
"node": "Amazon Product Scraper",
"type": "main",
"index": 0
}
]
]
},
"Keyword Analyzer": {
"main": [
[
{
"node": "Pricing Strategy",
"type": "main",
"index": 0
}
]
]
},
"Pricing Strategy": {
"main": [
[
{
"node": "Report Generator",
"type": "main",
"index": 0
}
]
]
},
"Product Analyzer": {
"main": [
[
{
"node": "Keyword Analyzer",
"type": "main",
"index": 0
}
]
]
},
"Report Generator": {
"main": [
[
{
"node": "Create Google Doc",
"type": "main",
"index": 0
}
]
]
},
"Amazon Product Scraper": {
"main": [
[
{
"node": "Product Analyzer",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 市场调研, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
我的工作流程 2
AI驱动内容差距分析,使用ScrapeGraphAI和战略规划
Code
Google Sheets
Schedule Trigger
+2
18 节点vinci-king-01
市场调研
物业维护成本分析
使用ScrapeGraphAI分析物业维护成本并进行预算规划
Code
Schedule Trigger
Scrapegraph Ai
+1
12 节点vinci-king-01
市场调研
房地产市场情绪分析
使用ScrapeGraphAI和Telegram分析房地产市场情绪
Code
Telegram
Schedule Trigger
+2
15 节点vinci-king-01
市场调研
房地产
使用ScrapeGraphAI自动发送Zillow房地产列表到Telegram
Code
Telegram
Schedule Trigger
+2
8 节点vinci-king-01
市场调研
使用 ScrapegraphAI 自动抓取新闻文章并存储到 Google Sheets
使用ScrapegraphAI自动抓取新闻文章并存储到Google Sheets
Code
Google Sheets
Schedule Trigger
+2
8 节点vinci-king-01
市场调研
我的工作流 2
结合 AI 竞品监控和收入优化的自动化动态定价
If
Code
Merge
+8
25 节点vinci-king-01
市场调研