8
n8n 中文网amn8n.com

德国公寓查找器和自动申请(带便签功能)

高级

这是一个Personal Productivity, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 Set, Cron, Function, EmailSend, GoogleDrive 等节点。 自动德国公寓搜索与申请,集成Immobilienscout24和Google服务

前置要求
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "name": "德国公寓查找器和自动申请(带便签功能)",
  "tags": [
    "apartments",
    "automation",
    "germany",
    "immobilienscout24"
  ],
  "nodes": [
    {
      "id": "1",
      "name": "Cron 触发器",
      "type": "n8n-nodes-base.cron",
      "position": [
        250,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2",
      "name": "设置配置",
      "type": "n8n-nodes-base.set",
      "position": [
        450,
        300
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "CITY",
              "value": "Berlin"
            },
            {
              "name": "MAX_RENT",
              "value": "1200"
            },
            {
              "name": "ROOMS",
              "value": "2"
            },
            {
              "name": "MY_EMAIL",
              "value": "your.email@example.com"
            },
            {
              "name": "MY_NAME",
              "value": "Max Mustermann"
            },
            {
              "name": "GDRIVE_SCHUFA_FILE_ID",
              "value": "your-schufa-file-id"
            },
            {
              "name": "GDRIVE_SALARY_FILE_ID",
              "value": "your-salary-file-id"
            },
            {
              "name": "GOOGLE_SHEET_ID",
              "value": "your-google-sheet-id"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3",
      "name": "GeoID 查找",
      "type": "n8n-nodes-base.function",
      "position": [
        650,
        300
      ],
      "parameters": {
        "functionCode": "const geoidMap = { Berlin: 12770000 };\nconst city = $json[\"CITY\"] || \"Berlin\";\nreturn [{ json: { city, geoid: geoidMap[city] || geoidMap[\"Berlin\"] } }];"
      },
      "typeVersion": 1
    },
    {
      "id": "4",
      "name": "从 immobilienscout24 获取房源",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        850,
        300
      ],
      "parameters": {
        "url": "=https://www.immobilienscout24.de/Suche/S-T/Wohnung-Miete/Berlin/umkreis- {{$json[\"geoid\"]}} ?numberofroomsfrom={{$json[\"ROOMS\"]}}&price=-{{ $json[\"MAX_RENT\"] }}&sorting=2",
        "options": {
          "headers": {
            "Accept": "application/json"
          }
        },
        "responseFormat": "json"
      },
      "typeVersion": 1
    },
    {
      "id": "5",
      "name": "筛选结果",
      "type": "n8n-nodes-base.function",
      "position": [
        1050,
        300
      ],
      "parameters": {
        "functionCode": "return items.filter(item => item.json.type === 'apartment' &&\n  parseFloat(item.json.price) <= parseFloat($json[\"MAX_RENT\"]) &&\n  parseInt(item.json.rooms) >= parseInt($json[\"ROOMS\"]));"
      },
      "typeVersion": 1
    },
    {
      "id": "6",
      "name": "逐个处理公寓",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1250,
        300
      ],
      "parameters": {
        "batchSize": 1
      },
      "typeVersion": 1
    },
    {
      "id": "7",
      "name": "获取 Schufa 报告(Google Drive)",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1450,
        100
      ],
      "parameters": {
        "fileId": "={{$json[\"GDRIVE_SCHUFA_FILE_ID\"]}}",
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "8",
      "name": "获取工资单(Google Drive)",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1450,
        500
      ],
      "parameters": {
        "fileId": "={{$json[\"GDRIVE_SALARY_FILE_ID\"]}}",
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "9",
      "name": "生成求职信",
      "type": "n8n-nodes-base.function",
      "position": [
        1650,
        300
      ],
      "parameters": {
        "functionCode": "return [{ json: { coverLetter: `Sehr geehrte Damen und Herren,\\n\\n Ich interessiere mich sehr für die Wohnung mit Exposé-ID ${$json[\"exposeId\"]}  (${ $json[\"price\"] } EUR, ${ $json[\"rooms\"] } Zimmer).\\n\\n Im Anhang finden Sie meine Schufa-Auskunft und aktuelle Gehaltsabrechnungen.\\n\\n Vielen Dank für Ihre Zeit und ich freue mich auf Ihre Rückmeldung.\\n\\n Mit freundlichen Grüßen,\\n${$json[\"MY_NAME\"]}` } }];"
      },
      "typeVersion": 1
    },
    {
      "id": "10",
      "name": "发送申请邮件",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1850,
        300
      ],
      "parameters": {
        "content": "={{$json[\"coverLetter\"]}}",
        "subject": "Wohnungsbewerbung – Interesse an Exposé-ID {{$json[\"exposeId\"]}}",
        "toEmail": "={{$json[\"contactEmail\"]}}",
        "fromEmail": "={{$json[\"MY_EMAIL\"]}}",
        "attachments": [
          {
            "binaryPropertyName": "schufa"
          },
          {
            "binaryPropertyName": "salary"
          }
        ]
      },
      "typeVersion": 1
    },
    {
      "id": "11",
      "name": "记录到 Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2050,
        300
      ],
      "parameters": {
        "range": "A:E",
        "values": [
          [
            "={{$json[\"title\"]}}",
            "={{$json[\"address\"]}}",
            "={{$json[\"price\"]}}",
            "={{new Date().toISOString()}}",
            "={{$json[\"exposeId\"]}}"
          ]
        ],
        "sheetId": "={{$json[\"GOOGLE_SHEET_ID\"]}}",
        "authentication": "oAuth2",
        "valueInputMode": "USER_ENTERED"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky1",
      "name": "便签:Cron 触发器",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        250,
        230
      ],
      "parameters": {
        "content": "每天柏林时间上午 8 点触发工作流"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky2",
      "name": "便签:设置配置",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        450,
        230
      ],
      "parameters": {
        "content": "设置您的配置:城市、最高租金、房间数、电子邮件、文件 ID 等"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky3",
      "name": "便签:GeoID 查找",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        650,
        230
      ],
      "parameters": {
        "content": "将城市名称转换为 ImmobilienScout24 API 所需的 GeoID"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky4",
      "name": "便签:从 immobilienscout24 获取房源",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        850,
        230
      ],
      "parameters": {
        "content": "从 ImmobilienScout24 获取应用筛选器的公寓房源"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky5",
      "name": "便签:筛选结果",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1050,
        230
      ],
      "parameters": {
        "content": "筛选房源,仅包含符合租金和房间标准的公寓"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky6",
      "name": "便签:逐个处理公寓",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1250,
        230
      ],
      "parameters": {
        "content": "逐个处理公寓以发送申请"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky7",
      "name": "便签:获取 Schufa 报告",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1450,
        30
      ],
      "parameters": {
        "content": "从 Google Drive 获取 Schufa 报告以附加在申请中"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky8",
      "name": "便签:获取工资单",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1450,
        430
      ],
      "parameters": {
        "content": "从 Google Drive 获取最新工资单用于申请"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky9",
      "name": "便签:生成求职信",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1650,
        230
      ],
      "parameters": {
        "content": "生成带有房源 ID 和申请人姓名的个性化求职信"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky10",
      "name": "便签:发送申请邮件",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1850,
        230
      ],
      "parameters": {
        "content": "发送带附件的公寓申请邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky11",
      "name": "便签:记录到 Google Sheets",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2050,
        230
      ],
      "parameters": {
        "content": "在 Google Sheets 中记录已申请的公寓用于跟踪"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "timezone": "Europe/Berlin",
    "executionOrder": "regular",
    "saveDataOnSuccess": "allExecutions"
  },
  "connections": {
    "Set Config": {
      "main": [
        [
          {
            "node": "GeoID Lookup",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cron Trigger": {
      "main": [
        [
          {
            "node": "Set Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GeoID Lookup": {
      "main": [
        [
          {
            "node": "Fetch Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Listings": {
      "main": [
        [
          {
            "node": "Filter Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Results": {
      "main": [
        [
          {
            "node": "Process Apartments One-by-One",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Cover Letter": {
      "main": [
        [
          {
            "node": "Send Application Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Application Email": {
      "main": [
        [
          {
            "node": "Log to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Schufa (Google Drive)": {
      "main": [
        [
          {
            "node": "Generate Cover Letter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Apartments One-by-One": {
      "main": [
        [
          {
            "node": "Fetch Schufa (Google Drive)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Salary Slips (Google Drive)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Salary Slips (Google Drive)": {
      "main": [
        [
          {
            "node": "Generate Cover Letter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 个人效率, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量22
分类2
节点类型9
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Abbas Ali

Abbas Ali

@abbas12142

Automation Engineer passionate about building smart, scalable workflows with n8n. I specialize in API integrations, webhook handling, and streamlining business tasks using low-code tools. From AI-powered bots to real-time data pipelines, I love solving problems with automation. Let’s turn manual processes into efficient systems!

外部链接
在 n8n.io 查看

分享此工作流