从 CRM 获取物业潜在客户联系人信息
高级
这是一个Sales, AI领域的自动化工作流,包含 16 个节点。主要使用 Set, Code, Hubspot, EmailSend, HttpRequest 等节点,结合人工智能技术实现智能自动化。 BatchData跳转追踪和CRM集成的房地产线索生成
前置要求
- •HubSpot API Key
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "RGVS0tHJV7Wh6aX4",
"meta": {
"instanceId": "bb9853d4d7d87207561a30bc6fe4ece20b295264f7d27d4a62215de2f3846a56"
},
"name": "从 CRM 获取物业潜在客户联系人信息",
"tags": [],
"nodes": [
{
"id": "518b14de-23b9-4821-930c-8fa55eb4cfb4",
"name": "当点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-340,
280
],
"parameters": {},
"typeVersion": 1
},
{
"id": "939df2a3-f6dd-40c9-a01a-460923a332a6",
"name": "每日计划",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-340,
100
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.1
},
{
"id": "3228372f-ac40-4898-8bf5-09a4f37fde85",
"name": "搜索物业 API",
"type": "n8n-nodes-base.httpRequest",
"position": [
320,
260
],
"parameters": {
"url": "https://api.batchdata.com/api/v1/properties/search",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.1
},
{
"id": "0aa1fb95-66c8-4b61-81f5-04b37e5c1185",
"name": "配置搜索参数",
"type": "n8n-nodes-base.set",
"position": [
40,
240
],
"parameters": {
"values": {
"string": [
{
"name": "search_parameters",
"value": "={ \"location\": { \"city\": \"Austin\", \"state\": \"TX\" }, \"propertyType\": \"single_family\", \"value\": { \"min\": 200000, \"max\": 500000 }, \"status\": \"distressed\", \"equity\": { \"min\": 30 }, \"limit\": 50 }"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "052b357b-a374-4e0c-ab98-67e79ed8cf2b",
"name": "筛选物业结果",
"type": "n8n-nodes-base.code",
"position": [
540,
260
],
"parameters": {
"jsCode": "// Process batch property results and filter according to criteria\nconst results = $input.all()[0].json.results || [];\n\n// Filter to find matching properties\nconst filteredProperties = results.filter(property => {\n // Example filtering criteria - customize as needed\n // Only include properties where:\n // 1. Owner doesn't live at the property (absentee)\n // 2. Property has been owned for 5+ years\n // 3. No sales in the last 3 years\n \n const isAbsentee = property.owner_occupied === false;\n \n // Calculate years of ownership if purchase date exists\n let yearsOwned = 0;\n if (property.last_sale_date) {\n const purchaseDate = new Date(property.last_sale_date);\n const currentDate = new Date();\n yearsOwned = currentDate.getFullYear() - purchaseDate.getFullYear();\n }\n \n // Check if no recent sales (last 3 years)\n let noRecentSales = true;\n if (property.last_sale_date) {\n const lastSale = new Date(property.last_sale_date);\n const threeYearsAgo = new Date();\n threeYearsAgo.setFullYear(threeYearsAgo.getFullYear() - 3);\n noRecentSales = lastSale < threeYearsAgo;\n }\n \n return isAbsentee && yearsOwned >= 5 && noRecentSales;\n});\n\n// Add relevant score to each property\nconst scoredProperties = filteredProperties.map(property => {\n // Create a simple scoring system from 0-100\n // This helps prioritize the best leads\n let score = 50; // Base score\n \n // Increase score for properties with more equity\n if (property.equity_percentage) {\n score += Math.min(property.equity_percentage / 2, 25);\n }\n \n // Increase score for longer ownership\n if (property.last_sale_date) {\n const purchaseDate = new Date(property.last_sale_date);\n const currentDate = new Date();\n const yearsOwned = currentDate.getFullYear() - purchaseDate.getFullYear();\n score += Math.min(yearsOwned, 15);\n }\n \n // Increase score for tax delinquency\n if (property.tax_delinquent) {\n score += 10;\n }\n \n return { ...property, lead_score: Math.round(score) };\n});\n\n// Sort by score descending\nscoredProperties.sort((a, b) => b.lead_score - a.lead_score);\n\n// Return the filtered and scored properties\nreturn scoredProperties.map(property => {\n return {\n json: property\n };\n});"
},
"typeVersion": 2
},
{
"id": "2c183cc1-06a1-4528-82c3-df2585df58eb",
"name": "获取业主联系信息",
"type": "n8n-nodes-base.httpRequest",
"position": [
760,
260
],
"parameters": {
"url": "https://api.batchdata.com/api/v1/property/skip-trace",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.1
},
{
"id": "2fe0aef9-30d2-4c30-9029-571f3b4c8ca9",
"name": "格式化潜在客户数据",
"type": "n8n-nodes-base.code",
"position": [
960,
260
],
"parameters": {
"jsCode": "// Process and format the property data with owner contact info\nreturn $input.all().map(item => {\n const property = item.json;\n const skipTraceData = property.skip_trace_data || {};\n const ownerInfo = property.owner_info || {};\n \n return {\n json: {\n // Property Information\n property_id: property.property_id,\n address: property.address,\n city: property.city,\n state: property.state,\n zip: property.zip,\n property_type: property.property_type,\n beds: property.beds,\n baths: property.baths,\n sqft: property.building_sqft,\n lot_size: property.lot_size,\n year_built: property.year_built,\n last_sale_date: property.last_sale_date,\n last_sale_price: property.last_sale_price,\n estimated_value: property.estimated_value,\n estimated_equity: property.estimated_equity,\n equity_percentage: property.equity_percentage,\n lead_score: property.lead_score,\n \n // Owner Information\n owner_name: ownerInfo.full_name || `${ownerInfo.first_name || ''} ${ownerInfo.last_name || ''}`.trim(),\n owner_mailing_address: ownerInfo.mailing_address,\n owner_mailing_city: ownerInfo.mailing_city,\n owner_mailing_state: ownerInfo.mailing_state,\n owner_mailing_zip: ownerInfo.mailing_zip,\n \n // Contact Info from Skip Trace\n email: skipTraceData.email,\n phone: skipTraceData.phone_number,\n mobile: skipTraceData.mobile_number,\n alternate_phone: skipTraceData.alternate_phone,\n \n // Additional Details\n absentee_owner: property.owner_occupied === false ? 'Yes' : 'No',\n tax_delinquent: property.tax_delinquent ? 'Yes' : 'No',\n years_owned: property.years_owned,\n lead_source: 'BatchData Property Search',\n date_added: new Date().toISOString().split('T')[0]\n }\n };\n});"
},
"typeVersion": 2
},
{
"id": "013469c2-1e83-44e0-b078-c0b3d052a2c5",
"name": "创建 Excel 电子表格",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
1280,
160
],
"parameters": {
"options": {
"fileName": "Property_Leads_{{ $now.format('YYYY-MM-DD') }}.xlsx",
"headerRow": true
},
"operation": "toFile",
"fileFormat": "xlsx"
},
"typeVersion": 2
},
{
"id": "954c492a-7da2-4902-99ab-318d4ea6e333",
"name": "推送到 CRM",
"type": "n8n-nodes-base.hubspot",
"position": [
1280,
540
],
"parameters": {
"options": {},
"additionalFields": {}
},
"typeVersion": 2
},
{
"id": "61bfd72b-8971-4298-8d2a-09baea403956",
"name": "邮件通知",
"type": "n8n-nodes-base.emailSend",
"position": [
1520,
300
],
"webhookId": "e9459278-1cd9-47bb-bffd-88380d297217",
"parameters": {
"options": {},
"subject": "Property Lead Report - {{ $now.format('YYYY-MM-DD') }}",
"toEmail": "your-email@yourdomain.com",
"fromEmail": "no-reply@yourdomain.com"
},
"typeVersion": 2.1
},
{
"id": "a79a0618-ac63-4aaf-8337-b9ccc5940eef",
"name": "汇总结果",
"type": "n8n-nodes-base.code",
"position": [
1280,
360
],
"parameters": {
"jsCode": "// Summarize the results of the property lead search\nconst leads = $input.all();\nconst totalLeads = leads.length;\n\n// Calculate the highest lead score\nlet highestScore = 0;\nif (totalLeads > 0) {\n highestScore = Math.max(...leads.map(item => item.json.lead_score || 0));\n}\n\n// Return a summary object\nreturn {\n json: {\n total_leads: totalLeads,\n highest_score: highestScore,\n execution_date: new Date().toISOString(),\n success: true\n }\n};"
},
"typeVersion": 2
},
{
"id": "cf6bbc2b-4892-4612-aee9-7f255f627a67",
"name": "便签 - 工作流概览",
"type": "n8n-nodes-base.stickyNote",
"position": [
-420,
-520
],
"parameters": {
"width": 800,
"height": 280,
"content": "# 物业潜在客户自动化工作流"
},
"typeVersion": 1
},
{
"id": "ff155460-3f4e-44e8-aac7-4b84dff2dceb",
"name": "便签 - 触发器",
"type": "n8n-nodes-base.stickyNote",
"position": [
-420,
-160
],
"parameters": {
"color": 2,
"width": 320,
"height": 620,
"content": "## 工作流触发器"
},
"typeVersion": 1
},
{
"id": "8c127497-0dc4-428d-a946-14c10b9572cb",
"name": "便签 - 物业搜索",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-180
],
"parameters": {
"color": 4,
"width": 320,
"height": 650,
"content": "## 搜索配置"
},
"typeVersion": 1
},
{
"id": "20ad7c5e-5d73-4b43-b5b0-6c9eaae18400",
"name": "便签 - 数据处理",
"type": "n8n-nodes-base.stickyNote",
"position": [
260,
-180
],
"parameters": {
"color": 5,
"width": 880,
"height": 660,
"content": "## 物业数据处理"
},
"typeVersion": 1
},
{
"id": "a0254233-a0af-43b2-8258-0820d8fdd49d",
"name": "便签 - 输出",
"type": "n8n-nodes-base.stickyNote",
"position": [
1180,
-180
],
"parameters": {
"color": 6,
"width": 560,
"height": 920,
"content": "## 潜在客户输出选项"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ff401fba-f56d-4d22-b259-d23a4e141a98",
"connections": {
"Daily Schedule": {
"main": [
[
{
"node": "Configure Search Parameters",
"type": "main",
"index": 0
}
]
]
},
"Format Lead Data": {
"main": [
[
{
"node": "Create Excel Spreadsheet",
"type": "main",
"index": 0
},
{
"node": "Push to CRM",
"type": "main",
"index": 0
},
{
"node": "Summarize Results",
"type": "main",
"index": 0
}
]
]
},
"Summarize Results": {
"main": [
[
{
"node": "Email Notification",
"type": "main",
"index": 0
}
]
]
},
"Search Properties API": {
"main": [
[
{
"node": "Filter Property Results",
"type": "main",
"index": 0
}
]
]
},
"Get Owner Contact Info": {
"main": [
[
{
"node": "Format Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Filter Property Results": {
"main": [
[
{
"node": "Get Owner Contact Info",
"type": "main",
"index": 0
}
]
]
},
"Create Excel Spreadsheet": {
"main": [
[
{
"node": "Email Notification",
"type": "main",
"index": 0
}
]
]
},
"Configure Search Parameters": {
"main": [
[
{
"node": "Search Properties API",
"type": "main",
"index": 0
}
]
]
},
"When clicking \"Execute Workflow\"": {
"main": [
[
{
"node": "Configure Search Parameters",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 销售, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
房地产市场扫描
使用 BatchData 和 CRM 集成的自动化房产潜在客户生成
Set
Code
Slack
+6
15 节点Preston Zeller
销售
AI房地产经纪人:端到端运营自动化(网络、数据、语音)
AI房地产经纪人:端到端运营自动化(网络、数据、语音)
If
Set
Code
+16
45 节点Sam Yassine
销售
AI潜在客户机器专业版:Google地图→Slack→HubSpot→$$$
使用Google地图、GPT-4和HubSpot的自动化潜在客户生成与资格认证
If
Set
Code
+7
16 节点David Olusola
销售
Zoom AI 会议助手
Zoom AI 会议助手:生成邮件摘要、创建 ClickUp 任务和安排跟进电话
Set
Code
Zoom
+16
24 节点Friedemann Schuetz
销售
使用 BatchData 进行潜在客户资质审核
使用 BatchData 的自动化房产潜在客户评分
If
Code
Slack
+3
17 节点Preston Zeller
销售
WooCommerce服装目录的AI虚拟试穿
WooCommerce服装目录的AI虚拟试穿自动生成
If
Set
Wait
+7
21 节点Davide
销售
工作流信息
难度等级
高级
节点数量16
分类2
节点类型9
作者
Preston Zeller
@zellerhausGrowth strategist and technologist, seeing companies from $25MM to $300MM ARR. Building innovative solutions with AI, workflows, desktop and mobile applications.
外部链接
在 n8n.io 查看 →
分享此工作流