Instagram-leadsökning blir rörig snabbt. Du hittar en profil, kopierar en URL, letar efter en e-postadress i bion och klistrar sedan in den någonstans “tillfälligt” som blir permanent.
Det är här automatisering för Apify PostgreSQL leads lönar sig. Digitala marknadsförare märker det när kampanjtidslinjerna blir tajta. Säljteam märker det när uppföljningar glider. Byråägare ser det när “bara en lista till” blir en veckovis brandkårsutryckning.
Det här arbetsflödet gör Instagram-prospektering till ett repeterbart system: skapa smartare sökningar, skrapa profiler, extrahera kontaktuppgifter med AI och upserta strukturerade lead-poster i PostgreSQL. Du får se vad det gör, vad du behöver och hur det beter sig i verkligheten.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Apify till PostgreSQL, strukturerade Instagram-leads
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n4["<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/>HTTP Request"]
n5["<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/code.svg' width='40' height='40' /></div><br/>Code"]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n7["<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/>HTTP Request1"]
n8["<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/code.svg' width='40' height='40' /></div><br/>Code1"]
n9@{ icon: "mdi:robot", form: "rounded", label: "Information Extractor", pos: "b", h: 48 }
n10@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n12["<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/postgres.svg' width='40' height='40' /></div><br/>Postgres"]
n5 --> n4
n8 --> n7
n2 --> n5
n12 --> n11
n6 --> n11
n1 --> n2
n4 --> n6
n7 --> n9
n11 --> n8
n3 -.-> n2
n10 -.-> n9
n9 --> n12
n0 --> n1
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 n0 trigger
class n2,n9 ai
class n3,n10 aiModel
class n12 database
class n4,n7 api
class n5,n8 code
classDef customIcon fill:none,stroke:none
class n4,n5,n7,n8,n12 customIcon
Problemet: Instagram-leads förblir inte rena
Manuell Instagram-prospektering börjar oftast med goda intentioner och slutar med utspridd data. Du plockar profiler från Google-resultat, öppnar var och en, skannar bios efter kontaktuppgifter och klistrar sedan in allt i ett kalkylark som inte är byggt för att förhindra dubbletter. Senare försöker någon “städa upp” innan outreach, vilket innebär att kontrollera profiler igen, fixa trasiga URL:er och gissa vilka poster som är riktiga. Det värsta är den mentala belastningen. Du slutar lita på din egen lista, så du dubbelkollar allt, vilket stjäl tid från själva outreach-arbetet.
Det summeras snabbt. Här är var det fallerar i det dagliga arbetet.
- Du får dubbletter eftersom två personer skrapar samma nisch på olika dagar.
- E-postadresser i bios är ofta märkligt formaterade, så manuell kopiering missar dem eller fångar skräp.
- Google-resultat innehåller många sidor som inte är målgrupp, vilket betyder bortkastade klick och dåliga leads.
- Kalkylark upprätthåller inte “en lead, en post”, så outreach blir inkonsekvent och svårt att skala.
Lösningen: Apify + AI-skrapning, lagrat säkert i PostgreSQL
Det här n8n-arbetsflödet automatiserar hela loopen för att samla in Instagram-leads och lagrar resultaten där de förblir tillförlitliga: i din PostgreSQL-databas. Du börjar med att ange enkla målgruppsparametrar (plattform, nisch, land). En AI-agent skapar sedan smarta Google-sökfrågor för nischen, vilket hjälper dig att hitta profiler du inte skulle komma på att söka efter manuellt. Apify skrapar Google-resultaten, arbetsflödet expanderar och batchar URL:erna, sedan rensar det varje profillänk innan det skrapar profildetaljer med Apifys Instagram Scraper. Till sist extraherar ett ytterligare AI-steg kontaktuppgifter (särskilt e-postadresser) från bion, och n8n upsertar leadet i PostgreSQL så att befintliga poster uppdateras i stället för att dupliceras.
Arbetsflödet startar med en manuell trigger medan du testar. Därefter kan du byta till ett schema och köra dagligen. Data flödar från “målgruppsparametrar” till “generering av sökfrågor”, vidare genom skrapning och extrahering, och landar i PostgreSQL som en konsekvent lead-tabell du faktiskt kan bygga outreach på.
Vad du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du vill ha 200 nya Instagram-prospekt i veckan inom “beauty & hair” i USA. Manuellt tar även en snabb process cirka 2 minuter per profil att öppna, skumma, kopiera och klistra in, plus lite efterstädning senare, vilket är ungefär 6 till 7 timmar i veckan. Med det här arbetsflödet lägger du cirka 10 minuter på att sätta målgruppsparametrarna och låter sedan skrapning och extrahering köras i bakgrunden. Du granskar fortfarande databasen, men nu handlar det om stickprovskontroll, inte att bygga om listan.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Apify för att köra Google- och Instagram-skrapor
- PostgreSQL för att lagra och deduplicera lead-poster
- OpenAI API-nyckel (hämta den från din OpenAI-plattforms dashboard)
Kunskapsnivå: Mellan. Du kopplar konton, klistrar in API-nycklar och är bekväm med att kontrollera en databastabell en gång.
Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du sätter målgruppsparametrarna. I steget “Map Lead Inputs” väljer du till exempel Instagram, en nisch (till exempel beauty & hair) och ett målland så att arbetsflödet inte drar iväg.
AI gör om input till sökfrågor. AI-agenten använder en OpenAI-chatmodell för att ta fram Google-sökfrågor som är mer specifika än vad de flesta skriver, vilket oftast ger mer korrekt formaterade sökresultat.
Apify skrapar, sedan batchar n8n arbetet. Arbetsflödet skickar sökfrågan till Apifys Google Search Scraper, expanderar resultaten till en lista och bearbetar dem sedan i batchar så att du inte överbelastar externa API:er.
Profiler rensas, skrapas och lagras. Varje URL normaliseras, Apifys Instagram Scraper hämtar profildetaljer, AI extraherar kontaktinfo från bion och PostgreSQL upsertar posten så att du slipper dubbletter.
Du kan enkelt justera nisch, land och kvalitetsfilter för att matcha dina outreach-mål. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den manuella triggern
Starta arbetsflödet med den manuella triggern så att ni kan testa och iterera på indata för leadinsamling.
- Lägg till eller bekräfta att noden Manual Run Trigger finns som den första noden.
- Behåll standardinställningarna (inga parametrar krävs) för Manual Run Trigger.
- Koppla Manual Run Trigger till Map Lead Inputs.
Steg 2: koppla mappning av leadindata
Definiera sökindata som används för att skapa riktade Google-frågor för Instagram-leads.
- Öppna Map Lead Inputs och lägg till tilldelningar för fält för leadtargeting.
- Ställ in site på
instagram. - Ställ in field_of_interest på
beauty & hair. - Ställ in target_country på
USA. - Koppla Map Lead Inputs till Query Builder Agent.
Steg 3: konfigurera Query Builder AI
Generera en Google-söksträng anpassad efter er nisch och ert land.
- Öppna Query Builder Agent och ställ in Text till
=field of interest: {{ $json.field_of_interest }} target country: {{ $json.target_country }}. - Låt Prompt Type vara inställd på
define. - Säkerställ att OpenAI Chat Assistant är ansluten som språkmodell för Query Builder Agent.
- Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Assistant.
- Koppla Query Builder Agent till Escape Query Script.
Steg 4: konfigurera scraping och url-rensning
Skrapa Google-resultat, expandera listan och normalisera profil-url:er för efterföljande scraping.
- I Escape Query Script behåller ni den medföljande JavaScript-koden som escape:ar citattecken i frågesträngen.
- I Search Scraper Request, ställ in URL till
https://api.apify.com/v2/acts/apify~google-search-scraper/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN]. - Ställ in JSON Body till
={ "focusOnPaidAds": false, "forceExactMatch": false, "includeIcons": false, "includeUnfilteredResults": false, "maxPagesPerQuery": 20, "mobileResults": false, "queries": "{{ $json.escapedQuery }}", "resultsPerPage": 100, "saveHtml": false, "saveHtmlToKeyValueStore": true }. - Aktivera Send Body och ställ in Specify Body på
json. - I Expand Results List, ställ in Field to Split Out på
organicResults. - Koppla Search Scraper Request → Expand Results List → Iterate Result Batches → Clean Profile URL.
- I Clean Profile URL behåller ni JavaScript-koden som tar bort ett avslutande snedstreck från fältet url.
[CONFIGURE_YOUR_TOKEN] i Search Scraper Request och Profile Scrape Request med er Apify-token innan ni kör.Steg 5: skrapa profiler och extrahera kontaktuppgifter
Skrapa Instagram-profiler och extrahera e-postadresser från biografier med en AI-extraktor.
- I Profile Scrape Request, ställ in URL till
https://api.apify.com/v2/acts/apify~instagram-scraper/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN]. - Ställ in JSON Body till
={ "addParentData": false, "directUrls": [ "{{ $json.cleanedUrl }}" ], "enhanceUserSearchWithFacebookPage": false, "isUserReelFeedURL": false, "isUserTaggedFeedURL": false, "resultsLimit": 2, "resultsType": "details", "searchLimit": 1, "searchType": "hashtag" }. - Öppna Extract Contact Details och ställ in Text till
={{ $json.biography }}. - Behåll Input Schema som angivet för att extrahera
Emaili JSON. - Säkerställ att OpenAI Extractor Model är ansluten som språkmodell för Extract Contact Details.
- Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Extractor Model.
- Koppla Clean Profile URL → Profile Scrape Request → Extract Contact Details.
Steg 6: konfigurera upsert till databasen
Spara extraherade leads i er PostgreSQL-tabell med en upsert-operation.
- Öppna Upsert Lead Records och ställ in Operation till
upsert. - Ställ in Schema till
publicoch Table tillInstagram_Leads_Beauty&Hair. - Mappa columns.value.email till
={{ $('Filter').item.json.output[0].Email }}. - Mappa columns.value.user_name till
={{ $('Profile Scrape Request').item.json.username }}. - Mappa columns.value.account_link till
={{ $('Profile Scrape Request').item.json.inputUrl }}. - Mappa columns.value.follower_count till
={{ $('Profile Scrape Request').item.json.followsCount }}. - Mappa columns.value.target_country till
={{ $('Map Lead Inputs').item.json.target_country }}och columns.value.field_of_interest till={{ $('Map Lead Inputs').item.json.field_of_interest }}. - Autentiseringsuppgifter krävs: Anslut era postgres-uppgifter i Upsert Lead Records.
- Koppla Extract Contact Details → Upsert Lead Records → Iterate Result Batches.
$('Filter') för e-post, men ingen nod med namnet Filter finns i arbetsflödet. Uppdatera e-postmappningen till korrekt källa från Extract Contact Details innan ni kör.Steg 7: testa och aktivera ert arbetsflöde
Validera varje steg med manuell körning och aktivera sedan för produktion.
- Klicka på Execute Workflow på Manual Run Trigger för att köra arbetsflödet från början till slut.
- Bekräfta att Search Scraper Request returnerar resultat och att Expand Results List matar ut enskilda objekt.
- Verifiera att Profile Scrape Request returnerar profildetaljer och att Extract Contact Details matar ut ett
Email-fält (ellerN/A). - Kontrollera att Upsert Lead Records infogar eller uppdaterar poster i
Instagram_Leads_Beauty&Hair. - När ni är nöjda, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Apify-inloggningsuppgifter kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först status på din Apify-token i Apify Console.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att sitta och redigera utdata för alltid.
Vanliga frågor
Cirka 30–60 minuter om dina Apify-, OpenAI- och Postgres-konton är redo.
Nej. Du kopplar främst konton och klistrar in API-nycklar. Kodstegen som ingår är redan byggda; du förväntas inte skriva ny kod.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för OpenAI API (ofta några cent per körning, beroende på volym) och Apify-användning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och det är enkelt. Uppdatera målgruppsvärdena i steget “Map Lead Inputs” (Edit Fields/Set), så genererar AI-agenten nya sökfrågor automatiskt. Du kan också lägga till en miniminivå för följare genom att lägga in ett If/Switch-filter efter profilscrapen. Vanliga justeringar är att samla in fler fält (som kategori-nyckelord), begränsa antal resultat per körning och skriva leads till ett CRM efter Postgres-upserten.
Oftast beror det på en ogiltig eller utgången Apify-token, så skapa en ny och uppdatera inloggningsuppgiften i n8n. Det kan också vara fel actor-/task-konfiguration för skrapan du anropar, eller Apify-rate limits när du skickar för många förfrågningar snabbt. Om fel uppstår mitt i en körning, minska batchstorleken i loopen och försök igen. Kontrollera också att din Apify-plan fortfarande har kvar användning, eftersom “inga credits kvar” kan se ut som ett slumpmässigt fel när du har bråttom.
Många. I n8n Cloud är den praktiska gränsen dina månatliga körningar och hur du batchar resultaten; i self-hosted n8n finns inget fast tak, det beror mest på din server och din Apify/OpenAI-användning. I verklig drift kör team ofta några hundra profiler per nisch per dag och skalar sedan upp när de är nöjda med lead-kvaliteten. Om du vill ha högre volym är mindre batchar och fler körningar oftast stabilare än en gigantisk skrapning.
Ofta, ja, eftersom det här arbetsflödet bygger på batchning, villkorslogik och flerstegsprocessning som blir klumpig (och dyr) i många Zapier-liknande upplägg. n8n är också enklare att self-hosta, vilket spelar roll när du kör lead gen i större skala. Samtidigt, om du bara vill ha ett litet tvåstegsflöde som “ny rad i ett ark → skicka ett mejl”, kan Zapier eller Make kännas snabbare att sätta upp. Det avgörande är volym och komplexitet. Prata med en automatiseringsexpert om du vill ha en snabb rekommendation baserat på ditt outreach-mål.
När det här väl är på plats slutar din Instagram-leadlista att vara ett skört kalkylark och börjar fungera som en faktisk databas. Ärligt talat räcker det för att outreach ska kännas lugnare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.