Análisis de sentimiento del mercado inmobiliario
Este es unMarket Research, AI Summarizationflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como Code, Telegram, ScheduleTrigger, ScrapegraphAi. Usar ScrapeGraphAI y Telegram para analizar el sentimiento del mercado inmobiliario
- •Bot Token de Telegram
Nodos utilizados (15)
{
"id": "VhEwspDqzu7ssFVE",
"meta": {
"instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
"templateCredsSetupCompleted": true
},
"name": "My workflow 2",
"tags": [
{
"id": "DxXGubfBzRKh6L8T",
"name": "Revenue Optimization",
"createdAt": "2025-07-25T16:24:30.370Z",
"updatedAt": "2025-07-25T16:24:30.370Z"
},
{
"id": "IxkcJ2IpYIxivoHV",
"name": "Content Strategy",
"createdAt": "2025-07-25T12:57:37.677Z",
"updatedAt": "2025-07-25T12:57:37.677Z"
},
{
"id": "PAKIJ2Mm9EvRcR3u",
"name": "Trend Monitoring",
"createdAt": "2025-07-25T12:57:37.670Z",
"updatedAt": "2025-07-25T12:57:37.670Z"
},
{
"id": "YtfXmaZk44MYedPO",
"name": "Dynamic Pricing",
"createdAt": "2025-07-25T16:24:30.369Z",
"updatedAt": "2025-07-25T16:24:30.369Z"
},
{
"id": "wJ30mjhtrposO8Qt",
"name": "Simple RAG",
"createdAt": "2025-07-28T12:55:14.424Z",
"updatedAt": "2025-07-28T12:55:14.424Z"
}
],
"nodes": [
{
"id": "ca1ec51f-e86e-44f4-b00f-6588ec3bf456",
"name": "Disparador Programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1056,
272
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f7d52e3a-2ede-4754-ab26-20e4d96f86c3",
"name": "ScrapeGraphAI - Foros Inmobiliarios",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1392,
400
],
"parameters": {
"userPrompt": "Extract recent forum discussions about real estate market conditions, investment opportunities, and market sentiment. Focus on posts from the last 24 hours. Return data in this format: { \"discussions\": [{ \"title\": \"discussion title\", \"author\": \"username\", \"date\": \"date posted\", \"content\": \"main discussion content\", \"replies_count\": \"number of replies\", \"sentiment_indicators\": [\"bullish\", \"bearish\", \"neutral indicators\"], \"url\": \"discussion url\" }] }",
"websiteUrl": "https://www.biggerpockets.com/forums/real-estate-investing"
},
"typeVersion": 1
},
{
"id": "728be835-5b88-4132-9289-fcf12f31d554",
"name": "ScrapeGraphAI - Noticias Inmobiliarias",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1392,
640
],
"parameters": {
"userPrompt": "Extract the latest real estate investment news and market analysis from the past 24 hours. Focus on market trends, economic indicators, and expert opinions. Return data as: { \"news_articles\": [{ \"headline\": \"article title\", \"author\": \"author name\", \"date\": \"publication date\", \"summary\": \"article summary\", \"key_points\": [\"important points\"], \"market_impact\": \"positive/negative/neutral\", \"url\": \"article url\" }] }",
"websiteUrl": "https://www.realestateinvestingtrust.com/news"
},
"typeVersion": 1
},
{
"id": "6b2e44ec-8c2c-419a-a145-e367bacab041",
"name": "Analizador de Sentimiento",
"type": "n8n-nodes-base.code",
"position": [
1664,
432
],
"parameters": {
"jsCode": "// Combine forum and news data for sentiment analysis\nconst forumData = $input.all()[0]?.json?.result?.discussions || [];\nconst newsData = $input.all()[1]?.json?.result?.news_articles || [];\n\nfunction analyzeSentiment(text) {\n const bullishKeywords = ['buy', 'opportunity', 'growth', 'investment', 'profit', 'rising', 'bullish', 'positive', 'gain', 'uptrend'];\n const bearishKeywords = ['sell', 'crash', 'decline', 'loss', 'falling', 'bearish', 'negative', 'risk', 'downturn', 'bubble'];\n \n const textLower = text.toLowerCase();\n const bullishCount = bullishKeywords.filter(word => textLower.includes(word)).length;\n const bearishCount = bearishKeywords.filter(word => textLower.includes(word)).length;\n \n if (bullishCount > bearishCount) return 'bullish';\n if (bearishCount > bullishCount) return 'bearish';\n return 'neutral';\n}\n\nfunction calculateSentimentScore(sentiment) {\n switch(sentiment) {\n case 'bullish': return 1;\n case 'bearish': return -1;\n default: return 0;\n }\n}\n\nconst forumSentiments = forumData.map(discussion => {\n const sentiment = analyzeSentiment(discussion.title + ' ' + discussion.content);\n return {\n source: 'forum',\n title: discussion.title,\n sentiment: sentiment,\n score: calculateSentimentScore(sentiment),\n url: discussion.url,\n date: discussion.date\n };\n});\n\nconst newsSentiments = newsData.map(article => {\n const sentiment = analyzeSentiment(article.headline + ' ' + article.summary);\n return {\n source: 'news',\n title: article.headline,\n sentiment: sentiment,\n score: calculateSentimentScore(sentiment),\n url: article.url,\n date: article.date,\n market_impact: article.market_impact\n };\n});\n\nconst allSentiments = [...forumSentiments, ...newsSentiments];\nconst totalScore = allSentiments.reduce((sum, item) => sum + item.score, 0);\nconst averageScore = totalScore / allSentiments.length || 0;\n\nlet overallSentiment = 'neutral';\nif (averageScore > 0.3) overallSentiment = 'bullish';\nelse if (averageScore < -0.3) overallSentiment = 'bearish';\n\nreturn [{\n json: {\n overall_sentiment: overallSentiment,\n sentiment_score: averageScore,\n total_sources: allSentiments.length,\n bullish_count: allSentiments.filter(s => s.sentiment === 'bullish').length,\n bearish_count: allSentiments.filter(s => s.sentiment === 'bearish').length,\n neutral_count: allSentiments.filter(s => s.sentiment === 'neutral').length,\n detailed_analysis: allSentiments,\n analysis_timestamp: new Date().toISOString()\n }\n}];"
},
"typeVersion": 2
},
{
"id": "ed209cd0-b393-4bb8-9e59-5fc605ab1f77",
"name": "Predictor del Mercado",
"type": "n8n-nodes-base.code",
"position": [
1968,
416
],
"parameters": {
"jsCode": "// Market prediction based on sentiment analysis\nconst sentimentData = $input.all()[0].json;\n\nfunction predictMarketDirection(sentimentScore, bullishCount, bearishCount, totalSources) {\n let prediction = 'hold';\n let confidence = 0;\n let reasoning = [];\n \n // Strong bullish sentiment\n if (sentimentScore > 0.5 && bullishCount > bearishCount * 2) {\n prediction = 'strong_buy';\n confidence = Math.min(90, 60 + (sentimentScore * 30));\n reasoning.push('Strong bullish sentiment detected across multiple sources');\n }\n // Moderate bullish sentiment\n else if (sentimentScore > 0.2) {\n prediction = 'buy';\n confidence = Math.min(75, 50 + (sentimentScore * 25));\n reasoning.push('Moderate positive sentiment in the market');\n }\n // Strong bearish sentiment\n else if (sentimentScore < -0.5 && bearishCount > bullishCount * 2) {\n prediction = 'strong_sell';\n confidence = Math.min(90, 60 + (Math.abs(sentimentScore) * 30));\n reasoning.push('Strong bearish sentiment detected - consider exiting positions');\n }\n // Moderate bearish sentiment\n else if (sentimentScore < -0.2) {\n prediction = 'sell';\n confidence = Math.min(75, 50 + (Math.abs(sentimentScore) * 25));\n reasoning.push('Negative sentiment trend - caution advised');\n }\n // Neutral/mixed signals\n else {\n prediction = 'hold';\n confidence = 40;\n reasoning.push('Mixed signals in market sentiment - maintain current positions');\n }\n \n // Adjust confidence based on data volume\n if (totalSources < 10) {\n confidence *= 0.8;\n reasoning.push('Limited data sources - lower confidence');\n }\n \n return {\n prediction,\n confidence: Math.round(confidence),\n reasoning\n };\n}\n\nconst marketPrediction = predictMarketDirection(\n sentimentData.sentiment_score,\n sentimentData.bullish_count,\n sentimentData.bearish_count,\n sentimentData.total_sources\n);\n\n// Generate investment recommendations\nlet recommendations = [];\nswitch(marketPrediction.prediction) {\n case 'strong_buy':\n recommendations = [\n 'Consider increasing real estate investment allocation',\n 'Look for value opportunities in growth markets',\n 'Accelerate planned property acquisitions'\n ];\n break;\n case 'buy':\n recommendations = [\n 'Moderate increase in real estate exposure',\n 'Focus on cash-flowing properties',\n 'Monitor market closely for entry points'\n ];\n break;\n case 'strong_sell':\n recommendations = [\n 'Consider reducing real estate exposure',\n 'Postpone new acquisitions',\n 'Review portfolio for underperforming assets'\n ];\n break;\n case 'sell':\n recommendations = [\n 'Exercise caution with new investments',\n 'Consider taking profits on recent gains',\n 'Increase cash reserves'\n ];\n break;\n default:\n recommendations = [\n 'Maintain current investment strategy',\n 'Continue regular market monitoring',\n 'Stay prepared for market shifts'\n ];\n}\n\nreturn [{\n json: {\n ...sentimentData,\n market_prediction: marketPrediction.prediction,\n confidence_level: marketPrediction.confidence,\n reasoning: marketPrediction.reasoning,\n investment_recommendations: recommendations,\n risk_level: marketPrediction.confidence > 70 ? 'low' : marketPrediction.confidence > 50 ? 'medium' : 'high',\n prediction_timestamp: new Date().toISOString()\n }\n}];"
},
"typeVersion": 2
},
{
"id": "11367ba0-9a2c-4352-85c5-945596f2aab0",
"name": "Optimizador de Tiempo",
"type": "n8n-nodes-base.code",
"position": [
2272,
416
],
"parameters": {
"jsCode": "// Timing optimization based on market prediction and historical patterns\nconst predictionData = $input.all()[0].json;\n\nfunction optimizeTiming(prediction, confidence, sentimentScore) {\n let timing_recommendation = 'monitor';\n let urgency = 'low';\n let optimal_timeframe = '1-3 months';\n let timing_factors = [];\n \n // Determine optimal timing based on prediction strength\n if (prediction === 'strong_buy' && confidence > 75) {\n timing_recommendation = 'act_immediately';\n urgency = 'high';\n optimal_timeframe = '1-2 weeks';\n timing_factors.push('Strong market signals indicate immediate action needed');\n }\n else if (prediction === 'buy' && confidence > 60) {\n timing_recommendation = 'act_soon';\n urgency = 'medium';\n optimal_timeframe = '2-4 weeks';\n timing_factors.push('Positive sentiment building - act within optimal window');\n }\n else if (prediction === 'strong_sell') {\n timing_recommendation = 'exit_positions';\n urgency = 'high';\n optimal_timeframe = '1-2 weeks';\n timing_factors.push('Strong negative signals - consider immediate exit strategy');\n }\n else if (prediction === 'sell') {\n timing_recommendation = 'reduce_exposure';\n urgency = 'medium';\n optimal_timeframe = '2-6 weeks';\n timing_factors.push('Negative trend developing - gradual position reduction advised');\n }\n \n // Add seasonal considerations (simplified)\n const currentMonth = new Date().getMonth();\n const seasonalFactors = {\n spring: [2, 3, 4], // March, April, May\n summer: [5, 6, 7], // June, July, August\n fall: [8, 9, 10], // September, October, November\n winter: [11, 0, 1] // December, January, February\n };\n \n let currentSeason = 'winter';\n for (const [season, months] of Object.entries(seasonalFactors)) {\n if (months.includes(currentMonth)) {\n currentSeason = season;\n break;\n }\n }\n \n if (currentSeason === 'spring' || currentSeason === 'summer') {\n timing_factors.push('Peak real estate season - higher activity expected');\n } else {\n timing_factors.push('Off-season period - potentially better deals available');\n }\n \n return {\n timing_recommendation,\n urgency,\n optimal_timeframe,\n timing_factors,\n current_season: currentSeason\n };\n}\n\nconst timingAnalysis = optimizeTiming(\n predictionData.market_prediction,\n predictionData.confidence_level,\n predictionData.sentiment_score\n);\n\nreturn [{\n json: {\n ...predictionData,\n timing_recommendation: timingAnalysis.timing_recommendation,\n urgency_level: timingAnalysis.urgency,\n optimal_timeframe: timingAnalysis.optimal_timeframe,\n timing_factors: timingAnalysis.timing_factors,\n current_season: timingAnalysis.current_season,\n timing_analysis_timestamp: new Date().toISOString()\n }\n}];"
},
"typeVersion": 2
},
{
"id": "a430a788-98ec-469e-9724-dca80245a1e9",
"name": "Alerta del Asesor de Inversiones",
"type": "n8n-nodes-base.code",
"position": [
2592,
416
],
"parameters": {
"jsCode": "// Generate comprehensive investment advisor alert\nconst analysisData = $input.all()[0].json;\n\nfunction generateAlert(data) {\n const {\n overall_sentiment,\n sentiment_score,\n market_prediction,\n confidence_level,\n timing_recommendation,\n urgency_level,\n optimal_timeframe,\n investment_recommendations,\n risk_level\n } = data;\n \n // Determine alert priority\n let alertPriority = 'normal';\n if (urgency_level === 'high' && confidence_level > 70) {\n alertPriority = 'critical';\n } else if (urgency_level === 'medium' || confidence_level > 60) {\n alertPriority = 'high';\n }\n \n // Generate alert title\n const alertTitle = `🏠 RE Market Alert: ${market_prediction.toUpperCase().replace('_', ' ')} Signal (${confidence_level}% confidence)`;\n \n // Generate detailed message\n let message = `📊 **REAL ESTATE MARKET ANALYSIS REPORT**\\n\\n`;\n message += `🎯 **Overall Sentiment:** ${overall_sentiment.toUpperCase()}\\n`;\n message += `📈 **Market Prediction:** ${market_prediction.replace('_', ' ').toUpperCase()}\\n`;\n message += `🎲 **Confidence Level:** ${confidence_level}%\\n`;\n message += `⏰ **Timing:** ${timing_recommendation.replace('_', ' ').toUpperCase()}\\n`;\n message += `🚨 **Urgency:** ${urgency_level.toUpperCase()}\\n`;\n message += `📅 **Optimal Timeframe:** ${optimal_timeframe}\\n`;\n message += `⚠️ **Risk Level:** ${risk_level.toUpperCase()}\\n\\n`;\n \n message += `💡 **KEY RECOMMENDATIONS:**\\n`;\n investment_recommendations.forEach((rec, index) => {\n message += `${index + 1}. ${rec}\\n`;\n });\n \n message += `\\n🔍 **ANALYSIS SUMMARY:**\\n`;\n message += `• Total sources analyzed: ${data.total_sources}\\n`;\n message += `• Bullish signals: ${data.bullish_count}\\n`;\n message += `• Bearish signals: ${data.bearish_count}\\n`;\n message += `• Neutral signals: ${data.neutral_count}\\n`;\n \n message += `\\n📋 **TIMING FACTORS:**\\n`;\n data.timing_factors.forEach((factor, index) => {\n message += `• ${factor}\\n`;\n });\n \n message += `\\n🕐 **Report Generated:** ${new Date().toLocaleString()}\\n`;\n message += `\\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`;\n \n return {\n alert_title: alertTitle,\n alert_message: message,\n alert_priority: alertPriority,\n raw_data: data\n };\n}\n\nconst alert = generateAlert(analysisData);\n\nreturn [{\n json: {\n ...alert,\n notification_timestamp: new Date().toISOString()\n }\n}];"
},
"typeVersion": 2
},
{
"id": "d2bd5cbb-7de7-45f3-b106-2200aba40fa4",
"name": "Alerta Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
2896,
400
],
"webhookId": "e0f221b9-7ee1-4113-850e-1fc0202811f1",
"parameters": {
"text": "={{ $json.alert_message }}",
"chatId": "@real_estate_alerts",
"additionalFields": {
"parse_mode": "Markdown"
}
},
"typeVersion": 1.2
},
{
"id": "15984e52-8b3a-4739-956c-e3d24197ff3f",
"name": "Nota Adhesiva - Disparador",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
-352
],
"parameters": {
"color": 2,
"width": 300,
"height": 1136,
"content": "# Step 1: Schedule Trigger ⏱️\n\n**Daily Market Monitoring**\n\nThis trigger runs the workflow every day at 8:00 AM to analyze real estate market sentiment.\n\n## Configuration:\n- **Frequency**: Daily at 8:00 AM\n- **Cron Expression**: `0 8 * * *`\n- **Purpose**: Automated daily market analysis\n\n## Why Daily?\n- Real estate markets change gradually\n- Daily analysis captures emerging trends\n- Optimal timing for investment decisions"
},
"typeVersion": 1
},
{
"id": "de278e05-8034-4c28-a838-79933be72677",
"name": "Nota Adhesiva - Recolección de Datos",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
-352
],
"parameters": {
"color": 3,
"width": 300,
"height": 1136,
"content": "# Step 2: Data Collection 🔍\n\n**Dual Source Scraping**\n\nTwo ScrapeGraphAI nodes collect data from:\n\n## Forum Scraping:\n- **Source**: BiggerPockets Forums\n- **Focus**: Investor discussions\n- **Data**: Sentiment indicators, trends\n\n## News Scraping:\n- **Source**: RE Investment News\n- **Focus**: Market analysis & expert opinions\n- **Data**: Headlines, market impact\n\n## Benefits:\n- Comprehensive market view\n- Real-time sentiment capture\n- Multiple perspective analysis"
},
"typeVersion": 1
},
{
"id": "e14ea293-64f2-4751-a573-5b9f2bed9a8a",
"name": "Nota Adhesiva - Análisis de Sentimiento",
"type": "n8n-nodes-base.stickyNote",
"position": [
1584,
-352
],
"parameters": {
"color": 4,
"width": 300,
"height": 1136,
"content": "# Step 3: Sentiment Analysis 🧠\n\n**AI-Powered Market Psychology**\n\nAdvanced sentiment analysis combining forum discussions and news articles.\n\n## Key Features:\n- **Keyword Analysis**: Bullish/bearish indicators\n- **Scoring System**: -1 to +1 sentiment scale\n- **Source Weighting**: News vs forum importance\n- **Trend Detection**: Pattern recognition\n\n## Output:\n- Overall market sentiment\n- Confidence scoring\n- Detailed breakdowns\n- Historical comparison"
},
"typeVersion": 1
},
{
"id": "a1d2afa7-e8dc-4e19-8fb3-ac199f9726a9",
"name": "Nota Adhesiva - Predicción del Mercado",
"type": "n8n-nodes-base.stickyNote",
"position": [
1888,
-352
],
"parameters": {
"color": 5,
"width": 300,
"height": 1136,
"content": "# Step 4: Market Prediction 🔮\n\n**Intelligent Forecasting Engine**\n\nTransforms sentiment into actionable market predictions.\n\n## Prediction Types:\n- **Strong Buy**: High confidence bullish\n- **Buy**: Moderate positive signals\n- **Hold**: Mixed/neutral sentiment\n- **Sell**: Negative trend detected\n- **Strong Sell**: High confidence bearish\n\n## Features:\n- Confidence scoring (0-100%)\n- Risk assessment\n- Investment recommendations\n- Reasoning transparency"
},
"typeVersion": 1
},
{
"id": "ce6eb84f-96ca-47a6-9b9a-8e16c1b77b13",
"name": "Nota Adhesiva - Optimización de Tiempo",
"type": "n8n-nodes-base.stickyNote",
"position": [
2192,
-352
],
"parameters": {
"color": 6,
"width": 300,
"height": 1136,
"content": "# Step 5: Timing Optimization ⏰\n\n**Strategic Entry/Exit Planning**\n\nOptimizes investment timing based on market conditions and seasonal factors.\n\n## Timing Strategies:\n- **Act Immediately**: Strong signals (1-2 weeks)\n- **Act Soon**: Good opportunity (2-4 weeks)\n- **Monitor**: Wait for clarity (1-3 months)\n- **Exit Positions**: Risk mitigation (immediate)\n\n## Factors Considered:\n- Market sentiment strength\n- Seasonal real estate patterns\n- Historical performance data\n- Risk/reward ratios"
},
"typeVersion": 1
},
{
"id": "77039ec5-4612-49fb-a4b4-1f4e5c21ec56",
"name": "Nota Adhesiva - Alerta de Inversión",
"type": "n8n-nodes-base.stickyNote",
"position": [
2496,
-352
],
"parameters": {
"color": 7,
"width": 300,
"height": 1136,
"content": "# Step 6: Investment Alert 🚨\n\n**Professional Advisory System**\n\nGenerates comprehensive investment alerts with actionable recommendations.\n\n## Alert Components:\n- **Priority Level**: Critical/High/Normal\n- **Market Summary**: Key findings\n- **Recommendations**: Specific actions\n- **Risk Assessment**: Potential downsides\n- **Timing Guidance**: When to act\n\n## Alert Types:\n- Immediate action required\n- Opportunity identification\n- Risk warnings\n- Market updates"
},
"typeVersion": 1
},
{
"id": "05197e73-8d6b-45e2-8202-6c828a45a9c7",
"name": "Nota Adhesiva - Entrega Telegram",
"type": "n8n-nodes-base.stickyNote",
"position": [
2800,
-352
],
"parameters": {
"width": 300,
"height": 1136,
"content": "# Step 7: Telegram Delivery 📱\n\n**Instant Notification System**\n\nDelivers formatted investment alerts directly to your Telegram channel.\n\n## Features:\n- **Markdown Formatting**: Professional layout\n- **Instant Delivery**: Real-time alerts\n- **Channel Integration**: Team notifications\n- **Mobile Friendly**: Access anywhere\n\n## Setup Requirements:\n- Create Telegram bot via @BotFather\n- Add bot token to credentials\n- Configure channel/chat ID\n- Enable markdown parsing"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "df60cb6d-f920-46a7-843a-9d4c9bdd76d9",
"connections": {
"ed209cd0-b393-4bb8-9e59-5fc605ab1f77": {
"main": [
[
{
"node": "11367ba0-9a2c-4352-85c5-945596f2aab0",
"type": "main",
"index": 0
}
]
]
},
"ca1ec51f-e86e-44f4-b00f-6588ec3bf456": {
"main": [
[
{
"node": "f7d52e3a-2ede-4754-ab26-20e4d96f86c3",
"type": "main",
"index": 0
},
{
"node": "728be835-5b88-4132-9289-fcf12f31d554",
"type": "main",
"index": 0
}
]
]
},
"11367ba0-9a2c-4352-85c5-945596f2aab0": {
"main": [
[
{
"node": "a430a788-98ec-469e-9724-dca80245a1e9",
"type": "main",
"index": 0
}
]
]
},
"6b2e44ec-8c2c-419a-a145-e367bacab041": {
"main": [
[
{
"node": "ed209cd0-b393-4bb8-9e59-5fc605ab1f77",
"type": "main",
"index": 0
}
]
]
},
"728be835-5b88-4132-9289-fcf12f31d554": {
"main": [
[
{
"node": "6b2e44ec-8c2c-419a-a145-e367bacab041",
"type": "main",
"index": 0
}
]
]
},
"a430a788-98ec-469e-9724-dca80245a1e9": {
"main": [
[
{
"node": "d2bd5cbb-7de7-45f3-b106-2200aba40fa4",
"type": "main",
"index": 0
}
]
]
},
"f7d52e3a-2ede-4754-ab26-20e4d96f86c3": {
"main": [
[
{
"node": "6b2e44ec-8c2c-419a-a145-e367bacab041",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Investigación de mercado, Resumen de IA
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
vinci-king-01
@vinci-king-01Compartir este flujo de trabajo