Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Apify till Supabase: rensade leadlistor redo att använda

Rickard Andersson Partner, Nodenordic.se

Du hämtar leads från Google Maps eller LinkedIn, klistrar in dem i ett kalkylark och lägger sedan alldeles för lång tid på att fixa kolumner, ta bort dubbletter och lista ut vad som faktiskt går att använda.

Den här Apify Supabase-automationen slår hårdast mot sales ops, men marknadsförare som bygger listor och rekryterare som sourcar profiler känner också av den. Resultatet är enkelt: en korrekt formaterad Supabase-tabell som teamet kan söka i, filtrera och återanvända utan eftersläpet av manuell städning.

Nedan ser du hur flödet samlar in dina kriterier via ett formulär, skrapar rätt källa i Apify, städar fälten och lagrar allt prydligt i Supabase.

Så fungerar den här automatiseringen

Hela n8n-workflowen, från trigger till slutligt resultat:

n8n Workflow Template: Apify till Supabase: rensade leadlistor redo att använda

Problemet: lead-skrapning blir städjobb

Att skrapa leads låter snabbt tills du faktiskt ska använda datan. En export har telefonnummer i tre format. En annan saknar webbplatser. LinkedIn-resultat kommer tillbaka med ”headline”-text som behöver trimmas, och någon i teamet klistrar oundvikligen in en andra batch rakt ovanpå den första. Sedan sitter du fast med det tråkiga arbetet: omformatering, uppladdning igen och dubbelkoll av vad som missats. Det handlar inte bara om tid. Det handlar om momentum. Varje manuellt steg ökar risken att sabba en lista som du tänker basera outreach på.

Friktionen växer snabbt.

  • Att kopiera exporter till kalkylark kostar ofta runt 30 minuter per lead-batch, och det är innan du fixar något.
  • Fältnamn matchar sällan vad ditt CRM eller outreach-verktyg förväntar sig, så importen blir ett mini-projekt.
  • Team kan inte återanvända ”gamla” leads med trygghet eftersom ingen litar på hur listan byggdes.
  • När två personer skrapar samma nisch får du dubbletter och blandad formatering som i tysthet förstör leveransbarhet och personalisering.

Lösningen: Apify-leadskrapning som landar i korrekta Supabase-tabeller

Det här flödet ersätter hela rutinen ”skrapa → exportera → klistra in → städa → importera” med ett enda intake-formulär och en stabil databasmottagare. Teamet skickar in vad de vill ha (bransch/titel-nyckelord, plats, källa och antal resultat). n8n routar begäran till rätt Apify Actor, så du kan skrapa Google Maps, LinkedIn eller båda beroende på val. När resultaten kommer tillbaka mappar flödet råfälten till en konsekvent struktur med enkla steg för ”Edit Fields”, där stökiga outputs normaliseras. Till sist skriver det korrekta rader till Supabase-tabeller (en för Google Maps, en för LinkedIn), redo för sök, filtrering och vidare användning.

Flödet startar med en n8n-formulärinskickning. Därifrån avgör ett routningssteg vilket Apify-skrapjobb som körs, och sedan städas och lagras resultatet i Supabase så att din leadlista blir en tillgång i stället för en engångsexport.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du bygger 3 leadlistor i veckan: två Google Maps-uttag och ett LinkedIn-uttag. Manuellt ser en typisk cykel ut så här: 20 minuter för att köra/exportera, cirka 30 minuter för att klistra in och städa fält, och ytterligare 10 minuter för att importera och göra en rimlighetskontroll – alltså ungefär 1 timme per lista (runt 3 timmar i veckan). Med det här flödet tar det cirka 2 minuter att skicka in formuläret och skrapningen kör i bakgrunden; oftast väntar du bara 10–20 minuter och granskar sedan Supabase-tabellen. ”Hands-on”-tiden sjunker till ungefär 10 minuter i veckan.

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 skrapare för Google Maps och LinkedIn
  • Supabase för att lagra, söka och återanvända leadtabeller
  • Apify API-token + Supabase service role key (från Apify Settings och Supabase Settings → API)

Svårighetsgrad: Nybörjare. Du klistrar in API-nycklar, testar formulär-URL:en och bekräftar att rader dyker upp i Supabase.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Ett intake-formulär för leads triggar allt. Teamet fyller i vad som ska sökas (nyckelord/bransch, plats, källa och antal resultat). Skicka. Klart.

Flödet routar till rätt skrapjobb. Ett routningssteg kontrollerar vald källa och skickar begäran till matchande Apify Actor (Google Maps-scraper, LinkedIn-profil-sök-scraper eller båda vägarna om du vill ha resultat från flera källor).

Råresultat städas till ett förutsägbart format. Stegen för mappning i ”Edit Fields” tar det Apify returnerar och strukturerar det till de kolumner du faktiskt bryr dig om, som namn, headline, webbplats, telefon, adressdelar och annan nyttig metadata.

Supabase blir destinationssystemet. Korrekt formaterade rader lagras i rätt Supabase-tabell (LinkedIn-leads går till LinkedIn-tabellen, Google Maps-leads går till googlemaps-tabellen), vilket innebär att teamet kan söka, filtrera och exportera när som helst utan att skrapa igen.

Du kan enkelt ändra formulärfälten för att fånga in extra kriterier (som senioritet eller kategori) utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.

Steg-för-steg-guide för implementering

Steg 1: konfigurera formulärtriggern

Det här arbetsflödet startar när användare skickar in intake-formuläret som samlar in kriterier för lead-targeting.

  1. Lägg till noden Lead Intake Form som din trigger.
  2. Ställ in Form Title till Targeted leads och Form Description till This form is intended to get leads from Google Maps and LinkedIn using the Apify actor.
  3. Konfigurera fält för Title/Industry, Location, Source (rullista med Google Maps, LinkedIn, Both) och Number of results.
  4. Koppla Lead Intake Form till Source Routing Logic.

Steg 2: koppla Apify

Apify kör LinkedIn- och Google Maps-scrapers utifrån formulärinmatningen.

  1. Öppna LinkedIn Scrape Job och ställ in Operation till Run actor and get dataset.
  2. Ställ in Custom Body till ={ "locations": [ "{{ $json.Location }}" ], "maxItems": {{ $json['Number of results'] }}, "profileScraperMode": "Full", "searchQuery": "{{ $json['Title/Industry'] }}" } och Memory till 2048.
  3. Credential Required: Anslut era apifyOAuth2Api-uppgifter i LinkedIn Scrape Job.
  4. Öppna Google Maps Scrape Job och ställ in Operation till Run actor and get dataset.
  5. Ställ in Custom Body till ={ "includeWebResults": false, "language": "en", "locationQuery": "{{ $json.Location }}", "maxCrawledPlacesPerSearch":{{ $json['Number of results'] }} , "maxImages": 0, "maximumLeadsEnrichmentRecords": 0, "scrapeContacts": false, "scrapeDirectories": false, "scrapeImageAuthors": false, "scrapePlaceDetailPage": false, "scrapeReviewsPersonalData": true, "scrapeTableReservationProvider": false, "searchStringsArray": [ "{{ $json['Title/Industry'] }}" ], "skipClosedPlaces": false }.
  6. Credential Required: Anslut era apifyOAuth2Api-uppgifter i Google Maps Scrape Job.
Tips: Apify-aktörerna som refereras i LinkedIn Scrape Job och Google Maps Scrape Job måste vara tillgängliga i ert Apify-konto; verifiera att de finns innan ni testar.

Steg 3: konfigurera routning och fältmappning

Routa varje formulärinsändning till rätt scraper och mappa data till en konsekvent struktur innan lagring.

  1. I Source Routing Logic, skapa regler för GoogleMaps, LinkedIn och Both med Left Value ={{ $json.Source }} och Right Value som Google Maps, LinkedIn och Both.
  2. Koppla utgången GoogleMaps till Google Maps Scrape Job och utgången LinkedIn till LinkedIn Scrape Job.
  3. För utgången Both, koppla Source Routing Logic till både LinkedIn Scrape Job och Google Maps Scrape Job parallellt.
  4. I Map LinkedIn Fields, mappa name till ={{ $json.firstName }} {{ $json.lastName }} och behåll andra fält som publicIdentifier, headline och connectionsCount med deras uttryck.
  5. I Map GMaps Fields, ställ in location till ="lat":{{ $json.location.lat }}, "lng":{{ $json.location.lng }} och mappa resten av fälten från scraper-utdata.
⚠️ Vanlig fallgrop: Source Routing Logic kontrollerar exakta strängmatchningar. Säkerställ att formulärets Source-alternativ matchar exakt Google Maps, LinkedIn och Both.

Steg 4: konfigurera Supabase-lagring

Lagra normaliserade LinkedIn- och Google Maps-poster i separata Supabase-tabeller.

  1. Öppna Store LinkedIn Records och ställ in Table ID till linkedin.
  2. Mappa fält som publicidentifier till ={{ $json.publicIdentifier }}, name till ={{ $json.name }} och latest_experience till ={{ $json.latest_experience }}.
  3. Credential Required: Anslut era supabaseApi-uppgifter i Store LinkedIn Records.
  4. Öppna Store GMaps Records och ställ in Table ID till googlemaps.
  5. Mappa fält som title till ={{ $json.title }}, postal_code till ={{ $json.postalCode }} och total_score till ={{ $json.totalScore }}.
  6. Credential Required: Anslut era supabaseApi-uppgifter i Store GMaps Records.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett live-test för att säkerställa att routning, scraping och lagring fungerar hela vägen.

  1. Klicka på Test Workflow och skicka in Lead Intake Form med ett giltigt Title/Industry, Location och Source.
  2. Bekräfta att Source Routing Logic skickar data till rätt scraper och att LinkedIn Scrape Job eller Google Maps Scrape Job returnerar dataset-poster.
  3. Verifiera att Map LinkedIn Fields och Map GMaps Fields skickar ut korrekt strukturerade poster.
  4. Kontrollera era Supabase-tabeller linkedin och googlemaps för nya poster som har lagts in av Store LinkedIn Records och Store GMaps Records.
  5. När allt fungerar, växla arbetsflödet till Active för att ta emot formulärinsändningar live.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Apify-credentials kan löpa ut eller så saknar din token åtkomst till Actors. Om något slutar fungera, börja med att kolla Apify Settings → Integrations → API tokens.
  • Om din Apify-skrapning tar längre tid än väntat kan behandlingstider variera. Öka väntetiden om noder längre ned i flödet fallerar på tomma svar.
  • Supabase-inserts misslyckas tyst när tabellschemat inte matchar dina mappade fält. Om du har ändrat kolumner, bekräfta att kolumnnamnen i Table Editor fortfarande matchar det som dina ”Map Fields”-steg skickar ut.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Apify Supabase-automationen?

Vanligtvis cirka 30 minuter när dina Apify- och Supabase-konton är redo.

Behöver jag kunna koda för att automatisera Apify Supabase-automation?

Nej. Du kopplar in credentials och testar formuläret en gång. Flödet sköter resten.

Är n8n gratis att använda för det här Apify Supabase-automationsflödet?

Ja. n8n har ett gratis self-hosted-alternativ 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 Apify-credits (din skrapvolym styr kostnaden).

Var kan jag hosta n8n för att köra den här automatiseringen?

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.

Kan jag anpassa det här Apify Supabase-automationsflödet för att spara både Google Maps och LinkedIn i en och samma tabell?

Ja, men du vill standardisera fälten först. Du kan behålla befintlig routningslogik och ändra stegen ”Store LinkedIn Records” och ”Store GMaps Records” så att de skriver till en Supabase-tabell, och sedan justera ”Map LinkedIn Fields” och ”Map GMaps Fields” så att båda vägarna outputar samma kolumnuppsättning (även om vissa värden är tomma). En vanlig justering är att lägga till en kolumn ”source” så att du kan filtrera senare. Om du också bryr dig om avduplicering, lägg till en ”If”-kontroll före insert med webbplats, telefon eller LinkedIns publika identifierare.

Varför misslyckas min Supabase-anslutning i det här flödet?

Oftast är det fel nyckel. Det här flödet förväntar sig Supabase service role key (inte den publika anon key) plus rätt projekt-URL. Kontrollera också att tabellnamnen matchar exakt (till exempel ”googlemaps”) och att Row Level Security-policyer inte blockerar inserts för API-nyckeln du använder.

Hur många leads kan den här Apify Supabase-automationen hantera?

Många, så länge din Apify-plan och n8n:s begränsningar för körningar tillåter det. På n8n Cloud beror dina månatliga körningar på din plan; på self-hosted n8n finns inget tak (din server är gränsen). I praktiken kör de flesta team batcher på några hundra leads per sökning och schemalägger större uttag utanför kontorstid så att de inte slår i skrapgränser.

Är den här Apify Supabase-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här användningsfallet gynnas av förgrening och datatformning. n8n:s routning gör ”Google Maps vs LinkedIn vs båda” tydligt, och du kan self-hosta om du förväntar dig många körningar utan att betala per task. Du får också mer kontroll över hur fält mappas innan de hamnar i databasen, vilket ofta avgör om listkvaliteten blir bra eller dålig. Zapier eller Make kan fungera för enklare flöden, men skrapjobb och tabellinsättningar blir snabbt pilliga. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på volym och verktyg.

Om leadgenerering är viktigt kan ”städfasen” inte vara priset du betalar varje gång. Sätt upp det här en gång, och fortsätt sedan bygga ett korrekt, sökbart leadbibliotek i Supabase.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal