Wohnungsfinder in Deutschland mit automatischer Bewerbung und Notizen-Funktion
Dies ist ein Personal Productivity, Multimodal AI-Bereich Automatisierungsworkflow mit 22 Nodes. Hauptsächlich werden Set, Cron, Function, EmailSend, GoogleDrive und andere Nodes verwendet. Automatische Suche und Bewerbung für deutsche Wohnungen, integriert mit Immobilienscout24 und Google-Diensten
- •Google Drive API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (22)
{
"name": "Germany Apartment Finder & Auto-Apply (with Sticky Notes)",
"tags": [
"apartments",
"automation",
"germany",
"immobilienscout24"
],
"nodes": [
{
"id": "1",
"name": "Cron-Job-Trigger",
"type": "n8n-nodes-base.cron",
"position": [
250,
300
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2",
"name": "Konfiguration setzen",
"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-Abfrage",
"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": "Angebote von Immobilienscout24 abrufen",
"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": "Ergebnisse filtern",
"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": "Wohnungen einzeln verarbeiten",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1250,
300
],
"parameters": {
"batchSize": 1
},
"typeVersion": 1
},
{
"id": "7",
"name": "SCHUFA abrufen (Google Drive)",
"type": "n8n-nodes-base.googleDrive",
"position": [
1450,
100
],
"parameters": {
"fileId": "={{$json[\"GDRIVE_SCHUFA_FILE_ID\"]}}",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "8",
"name": "Gehaltsabrechnungen abrufen (Google Drive)",
"type": "n8n-nodes-base.googleDrive",
"position": [
1450,
500
],
"parameters": {
"fileId": "={{$json[\"GDRIVE_SALARY_FILE_ID\"]}}",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "9",
"name": "Anschreiben generieren",
"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": "Bewerbungs-E-Mail senden",
"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": "In Google Sheet protokollieren",
"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": "Sticky: Cron-Job-Trigger",
"type": "n8n-nodes-base.stickyNote",
"position": [
250,
230
],
"parameters": {
"content": "Triggers the workflow every day at 8 AM Berlin time."
},
"typeVersion": 1
},
{
"id": "sticky2",
"name": "Sticky: Konfiguration setzen",
"type": "n8n-nodes-base.stickyNote",
"position": [
450,
230
],
"parameters": {
"content": "Set your configuration: city, max rent, rooms, email, file IDs etc."
},
"typeVersion": 1
},
{
"id": "sticky3",
"name": "Sticky: GeoID-Abfrage",
"type": "n8n-nodes-base.stickyNote",
"position": [
650,
230
],
"parameters": {
"content": "Convert city name to GeoID needed by ImmobilienScout24 API."
},
"typeVersion": 1
},
{
"id": "sticky4",
"name": "Sticky: Angebote von Immobilienscout24 abrufen",
"type": "n8n-nodes-base.stickyNote",
"position": [
850,
230
],
"parameters": {
"content": "Fetch apartment listings from ImmobilienScout24 with filters applied."
},
"typeVersion": 1
},
{
"id": "sticky5",
"name": "Sticky: Ergebnisse filtern",
"type": "n8n-nodes-base.stickyNote",
"position": [
1050,
230
],
"parameters": {
"content": "Filter listings to only include apartments matching rent and rooms criteria."
},
"typeVersion": 1
},
{
"id": "sticky6",
"name": "Sticky: Wohnungen einzeln verarbeiten",
"type": "n8n-nodes-base.stickyNote",
"position": [
1250,
230
],
"parameters": {
"content": "Process apartments one by one to send applications."
},
"typeVersion": 1
},
{
"id": "sticky7",
"name": "Sticky: SCHUFA abrufen",
"type": "n8n-nodes-base.stickyNote",
"position": [
1450,
30
],
"parameters": {
"content": "Fetch Schufa report from Google Drive to attach in application."
},
"typeVersion": 1
},
{
"id": "sticky8",
"name": "Sticky: Gehaltsabrechnungen abrufen",
"type": "n8n-nodes-base.stickyNote",
"position": [
1450,
430
],
"parameters": {
"content": "Fetch latest salary slips from Google Drive for application."
},
"typeVersion": 1
},
{
"id": "sticky9",
"name": "Sticky: Anschreiben generieren",
"type": "n8n-nodes-base.stickyNote",
"position": [
1650,
230
],
"parameters": {
"content": "Generate a personalized cover letter with expose ID and applicant name."
},
"typeVersion": 1
},
{
"id": "sticky10",
"name": "Sticky: Bewerbungs-E-Mail senden",
"type": "n8n-nodes-base.stickyNote",
"position": [
1850,
230
],
"parameters": {
"content": "Send the apartment application email with attachments."
},
"typeVersion": 1
},
{
"id": "sticky11",
"name": "Sticky: In Google Sheet protokollieren",
"type": "n8n-nodes-base.stickyNote",
"position": [
2050,
230
],
"parameters": {
"content": "Log applied apartments in Google Sheets for tracking."
},
"typeVersion": 1
}
],
"active": true,
"settings": {
"timezone": "Europe/Berlin",
"executionOrder": "regular",
"saveDataOnSuccess": "allExecutions"
},
"connections": {
"2": {
"main": [
[
{
"node": "3",
"type": "main",
"index": 0
}
]
]
},
"3": {
"main": [
[
{
"node": "Fetch Listings",
"type": "main",
"index": 0
}
]
]
},
"5": {
"main": [
[
{
"node": "6",
"type": "main",
"index": 0
}
]
]
},
"6": {
"main": [
[
{
"node": "7",
"type": "main",
"index": 0
},
{
"node": "8",
"type": "main",
"index": 0
}
]
]
},
"7": {
"main": [
[
{
"node": "9",
"type": "main",
"index": 0
}
]
]
},
"8": {
"main": [
[
{
"node": "9",
"type": "main",
"index": 0
}
]
]
},
"9": {
"main": [
[
{
"node": "10",
"type": "main",
"index": 0
}
]
]
},
"10": {
"main": [
[
{
"node": "11",
"type": "main",
"index": 0
}
]
]
},
"Cron-Trigger": {
"main": [
[
{
"node": "2",
"type": "main",
"index": 0
}
]
]
},
"Fetch Listings": {
"main": [
[
{
"node": "5",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Persönliche Produktivität, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Abbas Ali
@abbas12142Automation 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!
Diesen Workflow teilen