부동산
중급
이것은Market Research, AI Summarization분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 Code, Telegram, ScheduleTrigger, ScrapegraphAi 등의 노드를 사용하며. ScrapeGraphAI를 사용하여 Zillow 부동산 목록을 Telegram으로 자동 전송
사전 요구사항
- •Telegram Bot Token
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "cmnzMjCOzadRrYT9",
"meta": {
"instanceId": "521567c5f495f323b77849c4cfd0c9f4f2396c986e324e0e66c8425b6f124744",
"templateCredsSetupCompleted": true
},
"name": "Real estate",
"tags": [],
"nodes": [
{
"id": "6a1fbe16-eb98-4106-b88a-9a069ac78a15",
"name": "일정 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
700,
820
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "0c1aa147-5e3f-4a59-9f0f-2a115f03ffb7",
"name": "ScrapegraphAI",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1380,
820
],
"parameters": {
"userPrompt": "Extract real estate listings from this site. Use the following schema for response { \"address\": \"123 Main St, Columbus, OH 43215\", \"price\": \"$450,000\", \"beds\": \"3\", \"baths\": \"2\", \"sqft\": \"1,850\", \"lot_size\": \"0.25 acres\", \"year_built\": \"1995\", \"property_type\": \"Single Family\", \"listing_url\": \"https://www.zillow.com/homedetails/123-Main-St...\" }",
"websiteUrl": "https://www.zillow.com/homes/?category=SEMANTIC&searchQueryState=%7B%22filterState%22%3A%7B%22isRecentlySold%22%3A%7B%22value%22%3Afalse%7D%2C%22isPreMarketPreForeclosure%22%3A%7B%22value%22%3Afalse%7D%2C%22isPreMarketForeclosure%22%3A%7B%22value%22%3Afalse%7D%2C%22isForRent%22%3A%7B%22value%22%3Afalse%7D%2C%22isForSaleByAgent%22%3A%7B%22value%22%3Atrue%7D%2C%22isForSaleByOwner%22%3A%7B%22value%22%3Atrue%7D%2C%22isAuction%22%3A%7B%22value%22%3Atrue%7D%2C%22isComingSoon%22%3A%7B%22value%22%3Atrue%7D%2C%22isForSaleForeclosure%22%3A%7B%22value%22%3Atrue%7D%2C%22isNewConstruction%22%3A%7B%22value%22%3Atrue%7D%2C%22sortSelection%22%3A%7B%22value%22%3A%22globalrelevanceex%22%7D%7D%2C%22regionSelection%22%3A%5B%7B%22regionId%22%3A44%7D%5D%2C%22usersSearchTerm%22%3A%22Ohio%22%7D"
},
"credentials": {
"scrapegraphAIApi": {
"id": "",
"name": ""
}
},
"typeVersion": 1
},
{
"id": "b9523259-cabb-41a4-9e55-9a106c4abc28",
"name": "코드",
"type": "n8n-nodes-base.code",
"notes": "Hey this is where \nyou \nformat results ",
"position": [
2140,
820
],
"parameters": {
"jsCode": "// Get the input data\nconst inputData = $input.all()[0].json;\n// Extract listings array from result - FIXED: use real_estate_listings\nconst listings = inputData.result.real_estate_listings || inputData.result.listings || inputData.result.properties || inputData.listings || [];\n\nfunction formatForTelegram(listing) {\n const {\n address,\n price,\n beds,\n baths,\n sqft,\n lot_size,\n year_built,\n year_bult, // Note: there's a typo in your data (year_bult instead of year_built)\n property_type,\n listing_url\n } = listing;\n\n // Handle null/undefined values\n const safeAddress = address || 'Address not available';\n const safePrice = price || 'Price not listed';\n const safeBeds = beds || 'N/A';\n const safeBaths = baths || 'N/A';\n const safeSqft = sqft || 'N/A';\n const safeLotSize = lot_size && lot_size !== '[null]' ? lot_size : null;\n // Handle both year_built and year_bult (typo in data)\n const safeYearBuilt = (year_built || year_bult) && (year_built || year_bult) !== 'N/A' ? (year_built || year_bult) : null;\n const safePropertyType = property_type || 'Property';\n const safeUrl = listing_url || '#';\n\n let message = `🏠 **NEW ${safePropertyType.toUpperCase()} LISTING**\n\n📍 **Address:** ${safeAddress}\n💰 **Price:** ${safePrice}\n🛏️ **Beds:** ${safeBeds} | 🚿 **Baths:** ${safeBaths}\n📐 **Size:** ${safeSqft} sqft`;\n\n // Add optional fields if available\n if (safeLotSize) {\n message += `\\n🌱 **Lot Size:** ${safeLotSize}`;\n }\n \n if (safeYearBuilt) {\n message += `\\n🗓️ **Year Built:** ${safeYearBuilt}`;\n }\n\n message += `\\n\\n🔗 [View Full Details](${safeUrl})\n\n━━━━━━━━━━━━━━━━━━━━━━\n🕐 Listed: ${new Date().toLocaleString()}`;\n\n return message;\n}\n\n// Debug log\nconsole.log(`Found ${listings.length} listings`);\n\n// Return each listing as separate execution with formatted Telegram text\nreturn listings.map(listing => ({\n json: {\n text: formatForTelegram(listing),\n // Keep original data for reference if needed\n address: listing.address,\n price: listing.price,\n beds: listing.beds,\n baths: listing.baths,\n sqft: listing.sqft,\n lot_size: listing.lot_size,\n year_built: listing.year_built || listing.year_bult, // Handle typo\n property_type: listing.property_type,\n listing_url: listing.listing_url\n }\n}));"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "19302435-3112-4136-a8a3-95ff5da1c8ef",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1180,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 2: ScrapeGraphAI Node 🤖\n\nThis is the core node which will scrape the website that you want.\n\n## How to Use\n- Simply mention the website URL\n- Describe what you want to extract in natural language\n\n## Example\n- **Website**: `https://www.example.com`\n- **Instruction**: \"Extract all article titles and URLs from this news site\""
},
"typeVersion": 1
},
{
"id": "0e801cc4-a853-4fb1-a0c6-330943996f63",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1920,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 3: Format the response 🧱\n\nThis node will format the results for sheets.\n\n## What it does\n- Prepares data for Telegram compatibility\n- Each listing is formatted in beautiful message\n- Maintains all important metadata\n- Easy to filter and analyze data"
},
"typeVersion": 1
},
{
"id": "76a1aff0-92cc-4bb0-84ec-525ed7a0cdf2",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 1: Trigger ⏱️\n\nThis trigger will invoke the workflow on the mentioned time.\n\n## Configuration Options\n- You can mention your custom time for trigger\n- Or even choose a different trigger"
},
"typeVersion": 1
},
{
"id": "151eaaf9-a11f-42dc-8f08-3d4e6c7a5a03",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
2680,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 4:Telegram Node 📧\nThis node will send the listings to your given channel or chat\n\n## What it does\n- Connects to your Telegram account\n- Sends the message using the created bot \n\n\n## Configuration\n- Create a bot using @botfather in Telegram\n- Add the given api key in config\n- Add your chat/channel username in config\n"
},
"typeVersion": 1
},
{
"id": "37d06314-47d4-4705-a52e-501caff0817f",
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"maxTries": 5,
"position": [
2920,
820
],
"parameters": {
"text": "={{ $json.text }}",
"chatId": "@housingprices",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "",
"name": ""
}
},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 1.2,
"alwaysOutputData": false,
"waitBetweenTries": 5000
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6a32d4c5-dad4-442c-a6d6-19743b661a8c",
"connections": {
"b9523259-cabb-41a4-9e55-9a106c4abc28": {
"main": [
[
{
"node": "37d06314-47d4-4705-a52e-501caff0817f",
"type": "main",
"index": 0
}
]
]
},
"37d06314-47d4-4705-a52e-501caff0817f": {
"main": [
[]
]
},
"0c1aa147-5e3f-4a59-9f0f-2a115f03ffb7": {
"main": [
[
{
"node": "b9523259-cabb-41a4-9e55-9a106c4abc28",
"type": "main",
"index": 0
}
]
]
},
"6a1fbe16-eb98-4106-b88a-9a069ac78a15": {
"main": [
[
{
"node": "0c1aa147-5e3f-4a59-9f0f-2a115f03ffb7",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 시장 조사, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
부동산 시장 심리 분석
ScrapeGraphAI 및 Telegram을 사용하여 부동산 시장 심리 분석
Code
Telegram
Schedule Trigger
+
Code
Telegram
Schedule Trigger
15 노드vinci-king-01
시장 조사
나의 작업 흐름 2
ScrapeGraphAI를 활용한 AI 기반 콘텐츠 격차 분석 및 전략적 계획
Code
Google Sheets
Schedule Trigger
+
Code
Google Sheets
Schedule Trigger
18 노드vinci-king-01
시장 조사
부동산 유지 관리 비용 분석
ScrapeGraphAI를 사용하여 유지보수 비용 분석 및 예산 계획 수립
Code
Schedule Trigger
Scrapegraph Ai
+
Code
Schedule Trigger
Scrapegraph Ai
12 노드vinci-king-01
시장 조사
ScrapegraphAI를 사용한 뉴스 기사 자동 스크래핑 및 Google Sheets 저장
ScrapegraphAI를 사용한 뉴스 기사 자동 스크래핑 및 Google Sheets 저장
Code
Google Sheets
Schedule Trigger
+
Code
Google Sheets
Schedule Trigger
8 노드vinci-king-01
시장 조사
내 워크플로우 2
AI 경쟁사 모니터링 및 수익 최적화를 결합한 자동화된 동적 가격 책정
If
Code
Merge
+
If
Code
Merge
25 노드vinci-king-01
시장 조사
제작자의 워크플로우 2
ScrapeGraphAI와 Google Sheets를 사용하여 SEO 반향 링크를 발견하고 분석
Code
Filter
Email Send
+
Code
Filter
Email Send
17 노드vinci-king-01
시장 조사