Att söka lägenheter låter enkelt tills du gör det varje dag: kopierar samma mejl, bifogar samma PDF:er, justerar ett personligt brev och försöker sedan komma ihåg vem du kontaktade. Något missas alltid. Oftast bilagan.
Relocation-konsulter ser det hos kunder som har ont om tid. En upptagen grundare som lägenhetsletar mellan möten känner det också. Samma sak gäller fastighetsförvaltare som hjälper personal att flytta. Den här automatiseringen av hyresansökningar gör röran till ett repeterbart system som körs enligt schema och samlar kvitton/loggar på ett ställe.
Nedan ser du exakt hur arbetsflödet fungerar, vad det automatiserar från start till mål och vad du kan justera (stad, budget, antal rum och vilka dokument du bifogar).
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Drive + Google Sheets för hyresansökningar
flowchart LR
subgraph sg0["Manual Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Cron Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Config", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>GeoID Lookup"]
n4@{ icon: "mdi:code-braces", form: "rounded", label: "Extract GeoID", pos: "b", h: 48 }
n5@{ icon: "mdi:code-braces", form: "rounded", label: "Extract Listings", pos: "b", h: 48 }
n6@{ icon: "mdi:code-braces", form: "rounded", label: "Filter Results", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Fetch Schufa (Google Drive)", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Fetch Salary Slips (Google D..", pos: "b", h: 48 }
n9@{ icon: "mdi:code-braces", form: "rounded", label: "Generate Cover Letter", pos: "b", h: 48 }
n10@{ icon: "mdi:message-outline", form: "rounded", label: "Send Application Email", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Log to Google Sheet", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Process Apartments One-by-One", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Listings From immobili.."]
n2 --> n3
n0 --> n2
n3 --> n4
n4 --> n13
n6 --> n12
n1 --> n2
n5 --> n6
n9 --> n10
n10 --> n11
n10 --> n12
n7 --> n9
n12 --> n7
n12 --> n8
n8 --> n9
n13 --> n5
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 trigger
class n11 database
class n3,n13 api
class n4,n5,n6,n9 code
classDef customIcon fill:none,stroke:none
class n3,n13 customIcon
Problemet: hyresansökningar är repetitiva och lätta att göra fel
Om du letar i en konkurrensutsatt marknad som Berlin, München eller Hamburg spelar hastighet roll. Men det “snabba” sättet som de flesta söker på är också det slarviga: du stressar, du glömmer att bifoga Schufa, du skickar fel lönebesked eller så anpassar du inte meddelandet tillräckligt för att hyresvärden ska ta det på allvar. Sedan tappar du tråden. Har den här annonsen redan kontaktats? Vilken mejladress använde du? Fick du någonsin svar? Administrationen blir ett eget jobb och ärligt talat dödar det tempot snabbt.
Det blir snabbt mycket. Här är var det brukar fallera.
- Varje ansökan är en mini-checklista, och en missad PDF kan tyst avsluta hela dialogen.
- Att personanpassa meddelanden för flera annonser tar så lång tid att de flesta slutar göra det efter några dagar.
- När du inte loggar utskick någonstans söker du på samma annons igen eller glömmer att följa upp lovande spår.
- Manuell filtrering (stad, maxhyra, antal rum) leder till bortkastad tid på annonser du ändå aldrig skulle acceptera.
Lösningen: sök automatiskt med rätt PDF:er och en loggad spårbarhet
Det här n8n-arbetsflödet körs varje morgon och gör loopen “leta + söka + spåra” åt dig. Det startar enligt schema (dagligen kl. 09:00 som standard), hämtar nya hyresannonser från en API-källa (som immobilienscout24 eller en kompatibel scraper) och snävar direkt in dem utifrån dina preferenser. För varje matchande annons hämtar det din Schufa-rapport och dina lönebesked direkt från Google Drive, så att bilagorna alltid är de senaste filerna du har laddat upp. Sedan genererar det ett tyskt personligt brev som är specifikt för lägenheten, skickar ansökningsmejlet via ditt konfigurerade SMTP-konto och skriver en strukturerad rad i Google Sheets så att du kan följa vad som skickades och när. Resultatet är enkelt: skickat mejl + korrekta bilagor + en logg du faktiskt kan använda.
Arbetsflödet börjar med dina sökinställningar (CITY, MAX_RENT, ROOMS) och en regionsökning, hämtar sedan annonser och filtrerar dem. Efter det itererar det genom matchningarna, bifogar Drive-PDF:erna, skickar mejlet och registrerar annonsdetaljerna i Sheets.
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du söker 6 lägenheter per dag. Manuellt kan du lägga runt 10 minuter per annons på att hitta rätt mejladress, skriva ett okej meddelande, bifoga Schufa + löne-PDF:er och sedan logga det någonstans (eller inte). Det är ungefär en timme per dag, och det är lätt att lägga mer när du blir avbruten. Med det här arbetsflödet sätter du dina filter en gång, låter det köra kl. 09:00 och det hanterar hela batchen medan du gör något annat. Du granskar fortfarande svar, men den repetitiva utskicksdelen är i princip klar.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra Schufa- och lönebeskeds-PDF:er.
- Google Sheets för att logga varje ansökan och följa upp.
- immobilienscout24-token + actor ID (hämta dem i inställningarna hos din scraper/API-leverantör).
Svårighetsgrad: Medel. Du kopplar Google-konton, sätter några miljövariabler och bekräftar dina mejl-/SMTP-inställningar.
Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett dagligt schema sätter igång. Arbetsflödet körs varje dag kl. 09:00 (du kan ändra det), och det stödjer även manuell start för testning så att du inte behöver vänta till i morgon för att se om det fungerar.
Dina sökinställningar används tidigt. n8n laddar dina värden för CITY, MAX_RENT och ROOMS och begär sedan rätt regionsidentifierare innan det hämtar annonser. Det steget är viktigt eftersom det gör API-anropet träffsäkert.
Annonser hämtas, normaliseras och filtreras. Arbetsflödet hämtar resultat, normaliserar objekten till ett förutsägbart format och filtrerar bort allt som ligger över ditt hyrestak eller inte uppfyller kravet på antal rum. Bara det som passar går vidare, så du inte mejlar tio hyresvärdar om lägenheter du aldrig skulle hyra.
Dokument och mejl hanteras i ett svep. För varje annons laddar n8n ner din Schufa-rapport och dina lönebesked från Google Drive, skriver ett tyskt personligt brev och skickar ansökningsmejlet via din SMTP-anslutning. Direkt efter utskick skriver det en rad i Google Sheets med nyckeldetaljer (titel, adress, hyra, datum), vilket blir din spårningshubb.
Du kan enkelt justera sökfiltren för att bredda nätet (eller snäva in) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Cron Trigger
Konfigurera arbetsflödet så att det körs enligt ett schema och möjliggör manuell testning.
- Öppna Scheduled Start och ställ in schemat så att det körs vid
hour: 8(som visas i konfigurationen för Trigger Times). - Låt Manual Run Start vara ansluten till Assign Search Settings så att ni kan köra tester vid behov.
Steg 2: anslut sökparametrar för Immobilienscout24
Definiera sökparametrar och anslut anropet för regionsökning.
- I Assign Search Settings anger ni strängvärdena: CITY till
Berlin, MAX_RENT till1200, ROOMS till2, MY_EMAIL till[YOUR_EMAIL], MY_NAME tillSample Applicant, GDRIVE_SCHUFA_FILE_ID till[YOUR_ID], GDRIVE_SALARY_FILE_ID till[YOUR_ID]och GOOGLE_SHEET_ID till[YOUR_ID]. - I Region ID Request anger ni URL till
https://rest.immobilienscout24.de/restapi/api/search/v1.0/regionoch låter Authentication vara inställt påoAuth2. - I Region ID Request sätter ni frågeparametern q till
={{$json["CITY"]}}.
Inloggningsuppgifter krävs: Anslut era oAuth2-inloggningsuppgifter för Region ID Request.
Steg 3: bygg kedjan för hämtning och filtrering av annonser
Hämta annonser, platta ut resultaten och filtrera på hyra och antal rum.
- I Retrieve Listing Results anger ni URL till
https://rest.immobilienscout24.de/restapi/api/search/v1.0/search/regionoch låter Authentication varaoAuth2. - Konfigurera frågeparametrarna i Retrieve Listing Results: realestatetype till
apartmentrent, geoid till={{$json["geoId"]}}, price tillmax:={{$json["MAX_RENT"]}}och numberofrooms tillmin:={{$json["ROOMS"]}}. - Låt logiken i Parse Region Identifier, Flatten Listing Items och Apply Rent Filter vara som den är för att tolka regionsvaret, platta ut resultaten och filtrera på pris och antal rum.
Inloggningsuppgifter krävs: Anslut era oAuth2-inloggningsuppgifter för Retrieve Listing Results.
Steg 4: konfigurera batchhantering och dokumentnedladdningar
Bearbeta varje annons en i taget och ladda ner bilagor från Google Drive.
- I Iterate Listings ställer ni in Batch Size till
1så att annonser behandlas individuellt. - Iterate Listings skickar utdata till både Download Schufa File och Download Salary Proofs parallellt.
- I Download Schufa File och Download Salary Proofs låter ni Authentication vara inställt på
oAuth2och säkerställer att varje nod hämtar rätt fil baserat på era fil-ID:n.
Inloggningsuppgifter krävs: Anslut era oAuth2-inloggningsuppgifter för både Download Schufa File och Download Salary Proofs.
Steg 5: skapa och skicka ansökningsmejlet
Skapa personligt brev och skicka mejlet med bilagor.
- Låt den mallade utdata i Compose Cover Letter vara kvar så att den bygger texten coverLetter och Exposé-länken med hjälp av annonsdata.
- I Dispatch Application Email ställer ni in Text till
={{$json["coverLetter"]}}, Subject tillWohnungsbewerbung – Interesse an Exposé-ID {{$json["exposeId"]}}, To Email till={{$json["contactEmail"]}}och From Email till={{$json["MY_EMAIL"]}}. - Säkerställ att bilagorna i Dispatch Application Email inkluderar
schufaochsalarysom binära egenskaper.
Inloggningsuppgifter krävs: Lägg till e-postinloggningsuppgifter i Dispatch Application Email (SMTP eller den e-postleverantör ni använder).
Steg 6: registrera resultat i Google Sheets
Logga varje ansökan efter att mejlet har skickats.
- I Record to Sheets ställer ni in Range till
A:Eoch Sheet ID till={{$json["GOOGLE_SHEET_ID"]}}. - Dispatch Application Email skickar utdata till både Record to Sheets och Iterate Listings parallellt.
Inloggningsuppgifter krävs: Anslut era oAuth2-inloggningsuppgifter för Record to Sheets.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett manuellt test och validera varje steg innan ni aktiverar schemat.
- Klicka på Execute Workflow från Manual Run Start för att testa hela flödet.
- Bekräfta att annonser returneras efter Retrieve Listing Results och att Apply Rent Filter tar bort annonser som är över budget eller har för få rum.
- Verifiera att Dispatch Application Email skickar ett mejl med båda bilagorna och att Record to Sheets loggar resultatet.
- När allt fungerar aktiverar ni arbetsflödet så att Scheduled Start körs automatiskt varje dag.
Vanliga fallgropar
- Google Drive-credentials kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först Google-anslutningen i n8n under Credentials och bekräfta sedan att filen fortfarande är delad på rätt sätt.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera outputen för alltid.
Vanliga frågor
Cirka en timme om dina Google- och mejlkonton är redo.
Nej. Du kommer mest att klistra in ID:n (Sheet-ID, Drive-fil-ID:n) och koppla konton i n8n.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för OpenAI API, vilket vanligtvis är några cent per dag för personliga brev om du inte genererar väldigt mycket.
Två alternativ: n8n Cloud (managed, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och kör n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är det normala sättet att använda det. Ändra värdena för CITY, MAX_RENT och ROOMS i noden “Assign Search Settings” och ersätt sedan SCHUFA_FILE_ID och SALARY_FILE_ID med dina egna Google Drive-fil-ID:n. Om du vill bifoga fler dokument (ID-skanning, referensbrev) duplicerar du Drive-nedladdningssteget och inkluderar det i mejlets bilagor. Du kan också justera logiken i “Compose Cover Letter” för att ta med ditt inflyttningsdatum, husdjur eller jobbtitel så att det låter som du.
Oftast beror det på en utgången OAuth-session eller att fil-ID:t pekar på något som flyttats eller raderats. Anslut Google Drive på nytt i n8n, öppna sedan Drive-filen och kopiera korrekt ID igen. Kontrollera också att kontot du autentiserade i n8n är samma konto som äger PDF:erna.
Ett par dussin per dag är realistiskt för de flesta upplägg.
Ofta, ja, eftersom det här arbetsflödet har flera rörliga delar: API-anrop, filtreringslogik, loopar genom annonser, nedladdning av flera filer och sedan loggning av allt. n8n hanterar förgrening och batchning utan att varje extra steg blir ett prissättningsproblem, och egen hosting kan vara en stor fördel om du kör dagliga jobb långsiktigt. Zapier eller Make kan fortfarande fungera om du förenklar flödet (till exempel om du bara vill skicka ett mejl när ett formulär skickas in). Om du är osäker, prata med en automatiseringsexpert så hjälper vi dig välja utifrån volym och komplexitet.
När det här väl rullar slutar du bygga om samma ansökan sex gånger per dag. Arbetsflödet hanterar det repetitiva utskicket och loggningen, och du kan lägga energin på det som faktiskt spelar roll: att få ett svar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.