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

Serper.dev + NocoDB: verifierade leads från bolagslistor

Rickard Andersson Partner, Nodenordic.se

Du börjar med en enkel lista med företag. Sedan tar det “enkla” slut. Gissa domän, klicka runt på LinkedIn, jaga rätt person och hoppas att mejlet inte studsar. Så äter lead research tyst upp din vecka, en flik i taget.

Den här automatiseringen för Serper NocoDB leads märks som mest när du kör outbound i stor skala. En säljchef som ska mata repsen, en marknadsansvarig som bygger riktade listor och en byråägare som jonglerar flera kunddatabaser känner alla samma friktion. Du behöver beslutsfattare, inte “info@”. Och du behöver dem sparade strukturerat, inte utspridda i kalkylark.

Det här flödet gör om en företagslista till verifierade kontakter (vd, sälj, marknad), flaggar riskabla mejladresser innan du skickar och uppdaterar din databas automatiskt. Du får se vad som automatiseras, vilka resultat du kan förvänta dig och vad du behöver för att köra det utan att behöva sitta och vakta processen.

Så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: Serper.dev + NocoDB: verifierade leads från bolagslistor

Problemet: företagslistor blir inte outreach-klara leads

En lista med företagsnamn känns som framsteg, men den är inte användbar än. Det riktiga arbetet börjar när du ska matcha varje företag mot rätt webbplats (inte en kataloglistning), hitta rätt beslutsfattare och hålla koll på vad du redan har slagit upp. Under tiden blir ditt kalkylark en lappmatta av halvt ifyllda rader, dubbletter och anteckningar som “kanske är det här vd:n?”. Du börjar också skicka utifrån ofullständig data, vilket betyder fler studsar, fler uppföljningar till fel inkorg och mer tid som går åt till att städa upp efteråt.

Det går fort att det blir mycket. Här är var det oftast faller isär.

  • Att hitta den officiella domänen manuellt går långsamt, och det är lätt att välja fel webbplats när resultaten innehåller kataloger, gamla domäner eller företag med snarlika namn.
  • Även när du hittar domänen behöver du fortfarande specifika roller (vd, sälj, marknad), och generiska adresser konverterar sällan.
  • Utan validering riskerar du att bränna avsändarryktet på osäkra mejladresser och lägga tid på att felsöka toppar av studsar.
  • Din “databas” blir en mix av kalkylark och verktyg, så deduplicering och statushantering blir ett extrajobb.

Lösningen: gör om företagsnamn till verifierade kontakter hos beslutsfattare

Det här flödet tar en batch med företagsposter från NocoDB, hittar varje företags riktiga webbplats via sökresultat från Serper.dev och låter OpenAI extrahera korrekt domän från den stökiga sökoutputen. När domänen sparats tillbaka i din Companies-tabell kör det automatiskt uppslag på beslutsfattare (säljansvarig, ledning och marknadsansvarig) via ett API för att hitta mejladresser. Kontakterna slås ihop, filtreras så att bara rader med faktiska mejladresser behålls och dedupliceras så att du inte skapar dubbletter mellan roller eller körningar. Till sist klassar det mejlkvalitet (så att du kan undvika riskabla adresser), uppdaterar statusfält på företaget och kör en fallback som hämtar fler företagsmejlar när ingen bra mejladress till beslutsfattare hittas.

Flödet startar via en manuell körning eller en schemalagd trigger och behandlar sedan företag i batcher med inbyggda pauser för att respektera API-gränser. Därefter är det domänidentifiering, rollbaserad mejlsökning, kvalitetskontroller och strukturerade skrivningar till NocoDB. Resultatet är en Contacts-tabell som är redo för outreach och länkad till varje företag, plus en logg med företagsmejlar som reserv.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut i praktiken

Säg att du behöver leads för 100 målkonton. Manuellt är till och med ett “snabbt” upplägg något i stil med 10 minuter för att bekräfta rätt webbplats, och sedan cirka 15 minuter för att hitta och rimlighetskontrollera 2–3 mejladresser till beslutsfattare. Det är ungefär 25 minuter per företag, alltså runt 40 timmars arbete. Med det här flödet laddar du upp de 100 företagen i NocoDB, triggar en körning och låter batchning plus väntetider styra tempot; du lägger främst tid på att granska resultaten i slutet, kanske 30–60 minuter totalt. Resten gör maskinen.

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)
  • NocoDB för att lagra tabellerna Companies och Contacts
  • Serper.dev för att söka och hitta officiella domäner
  • OpenAI API-nyckel (hämta den i OpenAI:s API-dashboard)
  • AnyMailFinder API-nyckel (hämta den i kontoinställningarna i AnyMailFinder)
  • NocoDB API-token (hämta den i användarinställningarna i NocoDB)

Kunskapsnivå: Medel. Du kopplar API-inloggningar, mappar fält mot dina tabeller och kör en liten testbatch innan du skalar upp.

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

Så fungerar det

En körning startar på beställning eller enligt schema. Du kan trigga den manuellt när du laddar upp en ny lista, eller låta den schemalagda triggern köra periodiskt för att hålla databasen i rörelse.

Företag hämtas från NocoDB i batcher. Flödet hämtar företagsrader, filtrerar bort sådana som redan är bearbetade och använder sedan vänt/paus mellan batcher så att dina API-konton inte överbelastas.

Serper.dev hittar webbplatsen och OpenAI städar upp beslutet. Sökresultat är stökiga i verkligheten, så AI-steget extraherar officiell URL och domän och skriver sedan tillbaka dem till företagsposten.

Mejladresser till beslutsfattare hittas, filtreras och dedupliceras. Flödet frågar efter roller för sälj, ledning och marknad, slår ihop svaren, tar bort dubbletter, poängsätter mejlkvalitet och skapar Contact-poster kopplade till rätt företag.

Fallback tar över när det behövs. Om ingen bra mejladress till beslutsfattare hittas växlar det till en bredare sökning efter företagsmejlar (upp till en batch med extra adresser) och loggar dem så att du ändå har alternativ.

Du kan enkelt ändra roller för beslutsfattare för att inkludera HR eller partnerskap utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera schema-triggern

Konfigurera hur arbetsflödet startar, antingen enligt ett schema eller manuellt för testning.

  1. Öppna Scheduled Annual Trigger och ställ in schemaregeln så att den körs var 12:e månad (interval field set to months with monthsInterval = 12).
  2. Låt Manual Run Trigger vara tillgänglig för ad hoc-körningar och felsökning.
  3. Säkerställ att båda triggernoderna är kopplade till Fetch Company Records så att samma datapipeline körs oavsett startmetod.
Använd Manual Run Trigger för initial validering så att ni inte behöver vänta på det årliga schemat.

Steg 2: Anslut NocoDB-datakällor

Dessa noder läser in och uppdaterar företagsregister och loggar genom hela arbetsflödet.

  1. I Fetch Company Records ställer ni in Project ID till [YOUR_ID], Table till [YOUR_ID], Operation till getAll och Return All till true. Credential Required: Anslut era nocoDbApiToken-uppgifter.
  2. Ställ in Batch Through Records till Batch Size 500 så att arbetsflödet hanterar stora datamängder på ett säkert sätt.
  3. I Update Company Domains mappar ni fälten med uttryck: url till {{ $json.message.content.url || $json.message.content.explanation }}, domain till {{ $json.message.content.domain }}, status till {{ $json.message.content.domain ? "domain found" : "domain not found" }} och Id till {{ $('Fetch Company Records').item.json.Id }}. Credential Required: Anslut era nocoDbApiToken-uppgifter.
  4. Konfigurera Create Contact Entries, Update Company State, Retrieve Company Statuses och Update Company Emails Log med respektive [YOUR_ID]-värden för projekt/tabell. Credential Required: Anslut era nocoDbApiToken-uppgifter för alla NocoDB-noder (totalt 6).
⚠️ Vanlig fallgrop: Om ni lämnar någon [YOUR_ID]-platshållare i NocoDB-noderna kommer uppdaterings-/skapa-operationer att misslyckas.

Steg 3: Sätt upp domänidentifiering och AI-extraktion

Det här steget filtrerar orörda företag, slår upp domäner och använder AI för att extrahera den bästa officiella webbplatsen.

  1. I Pause Interval ställer ni in Unit till minutes och Amount till 1 för att strypa batchar.
  2. I Filter Untouched Companies behåller ni villkoret där status är tomt med {{ $json.status }}.
  3. Konfigurera Serper Domain Lookup med URL https://google.serper.dev/search, Method POST och body-parametrar: q = {{ $json.company_name || "a" }} och location = {{ $json.location }}. Credential Required: Anslut era httpHeaderAuth-uppgifter.
  4. I Extract Site & Domain ställer ni in modellen till gpt-4.1-mini, behåller JSON Output aktiverat och skickar in sökresultatdata via meddelandets innehåll. Credential Required: Anslut era openAiApi-uppgifter.
Extract Site & Domain är AI-noden; säkerställ att dess OpenAI-uppgifter är konfigurerade på den här noden, inte på några nedströmsnoder.

Steg 4: Konfigurera berikning av lead-e-post och mappning

När domäner har hittats förgrenar arbetsflödet för att hitta beslutsfattares e-postadresser och normalisera fält.

  1. Notera parallellkörningen: Update Company Domains skickar utdata till Find Sales Lead Email, Find Executive Email och Find Marketing Lead Email parallellt.
  2. För alla tre e-postuppslagsnoder behåller ni endpointen https://api.anymailfinder.com/v5.1/find-email/decision-maker och ställer in det dynamiska parameternamnet till {{ $json.domain ? "domain" : "company_name" }} med värdet {{ $json.domain ? $json.domain : $('Fetch Company Records').item.json.company_name.split(",")[0] }}. Credential Required: Anslut era httpHeaderAuth-uppgifter för alla HTTP Request-noder (totalt 5).
  3. I Map Lead Data A, Map Lead Data B och Map Lead Data C mappar ni fält med uttryck som company_name = {{ $('Fetch Company Records').item.json.company_name }}, email = {{ $json.email }} och company_id = {{ $('Update Company Domains').item.json.Id }}.
  4. Kombinera alla lead-strömmar i Combine Leads med Number of Inputs inställt på 3, och skicka sedan vidare genom Filter Has Email och Deduplicate Emails (jämför på email).
⚠️ Vanlig fallgrop: Om någon e-postuppslagsnod returnerar tom data kommer Filter Has Email att blockera den – verifiera API-svaren innan ni antar att det är ett problem nedströms.

Steg 5: Konfigurera skapande av kontakter och statusuppdateringar

Det här steget skriver kontakter till NocoDB och beräknar e-postkvalitetsstatus på företagsnivå.

  1. I Create Contact Entries mappar ni fält till NocoDB: companies_id = {{ $json.company_id }}, name = {{ $json.name }}, position = {{ $json.person_job_title }}, email = {{ $json.email }}, email_status = {{ $json.email_status }} och linkedin_url = {{ $json.linkedin }}. Credential Required: Anslut era nocoDbApiToken-uppgifter.
  2. Behåll JavaScript-logiken i Compute Email Status för att gruppera e-post per företag och markera som risky endast när alla e-postadresser är riskabla.
  3. I Update Company State uppdaterar ni Id till {{ $json.companies_id }} och sätter status till Email Found: {{ $json.email_status }}. Credential Required: Anslut era nocoDbApiToken-uppgifter.
  4. I Retrieve Company Statuses behåller ni Operation getAll och Return All true för att mata statuskontrollen. Credential Required: Anslut era nocoDbApiToken-uppgifter.

Steg 6: Konfigurera loopback för e-postverifiering

Riskabla statusar routas till företagsomfattande e-postidentifiering och loggas.

  1. I Check Email Found behåller ni villkoret där {{ $json.status }} innehåller Email Found för att dela upp lyckade vs. riskabla flöden.
  2. I Filter Risky Only behåller ni villkoret där {{ $json.status }} innehåller risky innan det slås ihop med Combine Status Streams.
  3. Konfigurera Fetch Company Emails med URL https://api.anymailfinder.com/v5.1/find-email/company, batchstorlek 20 och body-parametern domain/company_name = {{ $json.domain ? $json.domain : $json.company_name.split(",")[0] }}. Credential Required: Anslut era httpHeaderAuth-uppgifter.
  4. I Update Company Emails Log sätter ni emails till {{ $json.emails.join() }}, company_emails_status till {{ $json.email_status }} och Id till {{ $('Combine Status Streams').item.json.Id }}. Credential Required: Anslut era nocoDbApiToken-uppgifter.

Steg 7: Testa och aktivera ert arbetsflöde

Kör arbetsflödet från början till slut för att validera dataflöde och API-svar.

  1. Klicka Execute Workflow med Manual Run Trigger och bekräfta att Fetch Company Records returnerar data.
  2. Verifiera att Serper Domain Lookup och Extract Site & Domain returnerar en domän och att Update Company Domains skriver in den korrekt.
  3. Bekräfta att den parallella grenen från Update Company Domains fyller alla tre lead-noder och slås ihop i Combine Leads utan fel.
  4. Kontrollera att Create Contact Entries lägger in rader och att Update Company State uppdaterar statusfält som förväntat.
  5. När ni är nöjda, växla arbetsflödet till Active så att Scheduled Annual Trigger kör det automatiskt.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • NocoDB-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först din NocoDB API-token och reglerna för tabellåtkomst i NocoDB-inställningarna.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströms noder misslyckas på grund av tomma svar.
  • Serper.dev och AnyMailFinder har båda rate limits och kvoter, så plötsliga ökningar av batchstorlek kan ge intermittenta HTTP-fel. Om det händer, minska batchstorleken och förläng pausintervallet.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Serper NocoDB leads?

Cirka 60–90 minuter om dina API:er och tabeller är redo.

Behöver jag kunna koda för att automatisera verifierade leads från företagslistor?

Nej. Du kopplar främst konton och mappar några fält. Den enda “kod”-delen finns redan med för att poängsätta mejlstatus.

Är n8n gratis att använda för det här Serper NocoDB leads-flödet?

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 API-kostnader, som Serper.dev på cirka 1 USD per 1000 sökningar, plus AnyMailFinder-krediter och en mindre OpenAI-förbrukning.

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

Två alternativ: n8n Cloud (hanterat, 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 dig obegränsat antal exekveringar men kräver grundläggande serveradministration.

Kan jag anpassa det här Serper NocoDB leads-flödet för fler roller som HR eller partnerskap?

Ja, och det är en vanlig justering. Duplicera ett av stegen för roll-uppslag (som anropet “Find Marketing Lead Email”), ändra rollparametern till HR eller partnerskap, och mappa sedan vidare via motsvarande steg “Map Lead Data” innan Merge. Du kan också justera OpenAI-prompten i steget för domänextraktion om dina sökningar innehåller mycket irrelevanta resultat.

Varför misslyckas min Serper.dev-anslutning i det här flödet?

Oftast beror det på en ogiltig eller utgången API-nyckel, eller att du har nått din sökkvot. Kontrollera Serper.dev-nyckeln som används i inloggningarna för HTTP Request, och titta sedan på senaste response body i n8n:s exekveringsloggar för att bekräfta om det gäller auth, rate limiting eller en felaktigt formad query.

Hur många företag klarar den här automatiseringen för Serper NocoDB leads?

Hundratals per körning är realistiskt, och tusentals går att göra om du finjusterar batchning och pauser så att de matchar dina API-gränser. På n8n Cloud är taket främst antal exekveringar per månad i din plan; om du kör självhostat handlar det mer om serverresurser och hur aggressivt du batchar. AnyMailFinder-krediter blir oftast den riktiga flaskhalsen, eftersom giltiga mejladresser förbrukar krediter. Om du vill skala, börja med en liten batch, mät genomsnittliga krediter per företag och öka sedan batchstorleken långsamt.

Är den här automatiseringen för Serper NocoDB leads bättre än att använda Zapier eller Make?

För en flerstegs lead-pipeline som den här är n8n ofta bättre, eftersom förgreningar, filtrering, deduplicering och databasskrivningar inte blir en prissättningsgåta. Du får också möjlighet till egen hosting, vilket spelar roll när du bearbetar stora listor. Zapier eller Make kan fungera bra för enklare flöden som “ett uppslag och sedan lägg till en rad”, men de blir snabbt klumpiga när du lägger till batchning, fallbacks och statustracking. Om du är osäker, prata med en automationsexpert och beskriv din volym och dina verktyg.

När det här väl rullar slutar din företagslista vara “research-läxa” och blir en riktig prospektdatabas. Sätt upp det, låt det tugga igenom batcher och lägg tiden på budskap och erbjudanden i stället.

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

Launch login modal Launch register modal