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

GitHub + Google Sheets: rensade leads utan dubbletter

Rickard Andersson Partner, Nodenordic.se

Att hitta utvecklarleads låter enkelt tills du faktiskt gör det. Du söker på GitHub, öppnar profiler, kopierar detaljer till ett kalkylark och inser sedan att halva listan saknar e-post eller är full av dubbletter.

GitHub lead automation träffar rekryterare först, ärligt talat. Men SaaS-grundare som kör outbound och byråer som bygger prospektlistor känner samma tröghet: timmar som bränns på “research” som mest är copy-paste och städning.

Det här arbetsflödet hämtar utvecklare från GitHub, kompletterar saknade e-postadresser med Hunter.io, tar bort dubbletter och lägger till felfria poster i Google Sheets. Du får se vad det gör, vad du behöver och hur du anpassar det efter dina leadkriterier.

Så fungerar den här automatiseringen

Här är hela arbetsflödet som du kommer att sätta upp:

n8n Workflow Template: GitHub + Google Sheets: rensade leads utan dubbletter

Varför det här spelar roll: felfria dev-leads utan tidsödande admin

Manuell sourcing på GitHub följer ofta ett jobbigt mönster: det börjar med “bara några leads” och äter sedan tyst upp din vecka. Du samlar profiler, klistrar in dem i ett ark och när outreach väl ska börja tvivlar du redan på listan. E-post saknas, namn matchar inte användarnamn och dubbletter dyker upp eftersom två olika sökningar fångade samma person. Värst av allt? Du upptäcker problemen först efter att du har skickat meddelanden eller importerat listan i ditt CRM. Det är då det blir dyrt.

Friktionen byggs på. Här är var det faller isär i praktiken.

  • Varje ny GitHub-sökning skapar en ny “version” av samma leadlista, så dubbletter är nästan garanterade.
  • E-postberikning sker sent (eller inte alls), vilket gör att outreach försenas eller blir baserad på gissningar.
  • Folk kopierar inkonsekventa fält till Sheets, så filtrering på plats, företag eller tech stack blir opålitlig.
  • När en kollega frågar “Var kom det här leadet ifrån?”, slutar det med att du öppnar GitHub-profiler igen för att återskapa kontext.

Vad du bygger: lead sourcing från GitHub till Sheets med berikning

Den här automatiseringen körs enligt schema, söker på GitHub efter utvecklare utifrån din frågelista och hämtar profildetaljer för varje träff. När den har utvecklardatan kontrollerar den om en e-postadress redan finns. Om inte, anropar den Hunter.io för att slå upp en professionell e-post baserat på utvecklarens domänkontext och lägger tillbaka berikningen på leadposten. Därefter jämför den leadet mot din befintliga Google Sheets-databas för att fånga dubbletter innan något läggs till. Till sist lägger den bara in den rensade, strukturerade posten i ditt Google Sheets-“CRM” så att din outreach-lista förblir pålitlig i stället för uppblåst.

Arbetsflödet startar från en schemalagd trigger, sedan frågas GitHub och profiler sammanställs i ett konsekvent schema. Hunter.io-berikning körs bara när det behövs, och en separat uppslagning i Google Sheets hjälper arbetsflödet att avgöra vad som faktiskt är nytt. Resultatet är ett enda ark som håller sig felfritt över tid.

Vad du bygger

Förväntade resultat

Säg att du vill ha 30 nya utvecklarleads per dag. Manuellt kanske du lägger cirka 3 minuter per lead på att öppna profiler, kopiera fält och kontrollera om de redan finns i ditt ark, vilket är runt 90 minuter innan du ens tänker på e-post. Lägg till ytterligare en minut per lead för att jaga kontaktuppgifter och det närmar sig 2 timmar. Med det här arbetsflödet lägger du cirka 10 minuter på att förfina dina GitHub-sökfrågor och granska arket, medan berikning, dubblettkontroller och tillägg körs i bakgrunden.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • GitHub API för att söka användare och profiler
  • Google Sheets för att lagra din leaddatabas
  • Hunter.io API-nyckel (hämta den i din Hunter-dashboard)

Svårighetsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och justerar en frågelista (lätt redigering, ingen tung kodning).

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En schemalagd körning drar igång allt. Arbetsflödet startar med en Schedule Trigger, så du kan köra det varje timme, dagligen eller i den takt som passar din outbound-rytm.

Dina GitHub-sökfrågor sätts och körs. En frågelista förbereds (till exempel: språkfilter, platsnyckelord eller rollindikationer) och en HTTP-förfrågan söker efter GitHub-användare. Resultaten parsas så att arbetsflödet kan loopa igenom dem på ett säkert sätt.

Profiler hämtas och sammanställs till en felfri post. För varje användare hämtar arbetsflödet profildetaljer och sammanställer fälten du faktiskt bryr dig om till ett konsekvent leadformat som fungerar bra i Google Sheets.

E-postberikning och deduplicering sker innan arket uppdateras. En kontroll “finns e-post?” skickar leads antingen vidare direkt eller genom Hunter.io-berikning, och därefter förhindrar en Google Sheets-uppslagning plus ett dedupe-steg att samma person läggs till två gånger.

Du kan enkelt ändra GitHub-frågelistan för att rikta in dig på olika stackar, regioner eller senioritetsnivåer. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera schema-triggern

Ställ in arbetsflödets körfrekvens så att lead capture körs automatiskt varje vecka.

  1. Välj Scheduled Automation Start och öppna inställningarna för schemaläggningsregeln.
  2. Ställ in Intervalweeks för att matcha den befintliga veckotrigger-konfigurationen.
  3. Bekräfta att noden är ansluten till Set Developer Query List som nästa steg i kedjan.

Steg 2: koppla in GitHub-sökindata

Definiera utvecklarprofilerna för sökning och konfigurera GitHub-sökförfrågan som använder dessa parametrar.

  1. I Set Developer Query List, granska jsCode-arrayen med sökningar och uppdatera location, language och minFollowers vid behov.
  2. Öppna GitHub User Search och ställ in URL till https://api.github.com/search/users.
  3. Under Query Parameters, ställ in q till =location:{{ $json.location }} followers:>{{ $json.minFollowers }} language:{{ $json.language }} och per_page till 30.
  4. Under Header Parameters, ställ in Accept till application/vnd.github.v3+json och ersätt [CONFIGURE_YOUR_TOKEN] i Authorization med er GitHub-token.
  5. Credential Required: Anslut era httpHeaderAuth-uppgifter i GitHub User Search.
⚠️ Vanlig fallgrop: Om ni lämnar Authorization-headern som [CONFIGURE_YOUR_TOKEN] kommer GitHub API-anrop att misslyckas eller hastighetsbegränsas.

Steg 3: sätt upp bearbetning av utvecklarprofiler

Tolka svaret från GitHub-sökningen, hämta individuella profiler och beräkna lead scoring och metadata.

  1. I Parse User Results, behåll nuvarande jsCode som mappar sökresultaten till individuella utvecklarobjekt.
  2. I Fetch User Profiles, ställ in URL till ={{ $json.userApiUrl }} och behåll Send Headers aktiverat.
  3. I Fetch User Profiles, uppdatera Authorization-headern till er GitHub-token (samma värde som används i GitHub User Search).
  4. Verifiera att Compile Developer Details använder den befintliga poänglogiken i jsCode för att sätta leadScore, leadQuality och domain.

Steg 4: konfigurera e-postberikning och leadroutning

Kontrollera om e-post saknas, berika med Hunter och routa sedan vidare till kontroll av dubbletter och merge-logik.

  1. I Email Enrichment Check, bekräfta att villkoren inkluderar ={{ $json.domain }} not equals och ={{ $json.email }} equals Check website.
  2. I Hunter Domain Email Lookup, ställ in URL till https://api.hunter.io/v2/domain-search och ställ in domain till ={{ $json.domain }}, api_key till er Hunter-nyckel och limit till 3.
  3. Granska Apply Enriched Email för att säkerställa att den hämtar från Compile Developer Details och skriver över email baserat på bästa confidence.
  4. Apply Enriched Email skickar output parallellt till både Lookup Existing Leads och Combine Lead Paths.
  5. Bekräfta att Combine Lead Paths är inställd på Mode chooseBranch med Use Data Of Input 2 för att skicka berikade resultat genom merge-steget.
Stark domänextrahering i Compile Developer Details är avgörande för e-postberikning. Säkerställ att blogg-URL:er är giltiga och innehåller en domän.

Steg 5: konfigurera Google Sheets-output och avdubblettering

Kontrollera befintliga leads, ta bort dubbletter, formatera posten och lägg till den i ert kalkylark.

  1. I Lookup Existing Leads, välj ert Document Lead Database och Sheet Sheet1.
  2. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter i Lookup Existing Leads.
  3. Verifiera att Remove Duplicate Leads använder data från Lookup Existing Leads för att jämföra Business Name, Email och Notes.
  4. I Prepare Database Record, behåll lead-ID-formatet GITHUB-${timestamp}-${randomNum} och fältmappningen så att den matchar era kolumner i arket.
  5. I Append Lead to Sheet, ställ in Operation till append och bekräfta att kolumnerna i arket inkluderar Lead ID, Business Name, Email, Lead Score och Status.
  6. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter i Append Lead to Sheet.

Steg 6: testa och aktivera ert arbetsflöde

Kör arbetsflödet manuellt för att bekräfta datafångst end-to-end och aktivera sedan för veckovis lead scraping.

  1. Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Automation Start.
  2. Verifiera att GitHub User Search returnerar användare och att Parse User Results ger utvecklarobjekt som output.
  3. Kontrollera att Apply Enriched Email skapar en uppdaterad email när berikning tillämpas.
  4. Bekräfta att Remove Duplicate Leads bara släpper igenom nya leads och att Append Lead to Sheet lägger till rader i Lead Database.
  5. När ni har verifierat, växla arbetsflödet till Active för att köra enligt veckoschemat.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • GitHub-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först dina token-scopes i GitHub Developer Settings.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här GitHub lead automation-automatiseringen?

Cirka 30 minuter om dina API-nycklar är klara.

Krävs det kodning för den här leadberikningen från GitHub?

Nej. Du kopplar mest konton och redigerar en frågelista. Arbetsflödet hanterar redan parsning, berikning och deduplicering.

Är n8n gratis att använda för det här GitHub lead automation-arbetsflödet?

Ja. n8n har ett gratis alternativ för egen drift 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 Hunter.io API-användning, som beror på hur många uppslagningar du kör.

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 egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och hanterar n8n bra. Egen drift ger dig obegränsade exekveringar men kräver grundläggande serverhantering.

Kan jag modifiera det här GitHub lead automation-arbetsflödet för olika use cases?

Ja, och det bör du. De flesta team justerar logiken i “Set Developer Query List” för att matcha mål-stack och platser, och finjusterar sedan Google Sheets-nycklarna som används i “Lookup Existing Leads” och “Remove Duplicate Leads.” Du kan också byta Hunter.io-berikning till “berika endast när företagsdomän finns”, vilket håller kostnaderna på en rimlig nivå. Om du vill att leads ska hamna någon annanstans ersätter du steget “Append Lead to Sheet” med HubSpot, Airtable eller ditt CRM.

Varför misslyckas min GitHub-anslutning i det här arbetsflödet?

Oftast är det en GitHub-token som har gått ut eller återkallats. Skapa en ny token och uppdatera sedan inloggningen som används av GitHub HTTP Request-noderna. Om det fortfarande misslyckas, kontrollera rate limits i svarshuvudena från GitHub API och minska hur många profiler du hämtar per körning. Behörigheter spelar också roll; vissa org-inställningar kan blockera åtkomst beroende på hur token skapades.

Vilken volym kan det här GitHub lead automation-arbetsflödet hantera?

På n8n Cloud beror din månatliga exekveringsgräns på planen, och vid egen drift finns ingen hård gräns utöver din server. I praktiken blir GitHubs rate limits och Hunter-krediter flaskhalsen, så de flesta team kör mindre batchar några gånger per dag i stället för en enda massiv hämtning.

Är den här GitHub lead automation-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom GitHub-sourcing vanligtvis kräver loopar, branching och dedupe-logik som blir klumpig (och dyr) i enklare byggare. n8n hanterar “sökresultat → loopa profiler → berika villkorligt → slå ihop vägar” snyggt, och du kan köra egen drift om du gör detta i volym. Zapier eller Make kan fortfarande fungera om du bara berikar en handfull leads och inte bryr dig om en strikt dedupe-kontroll. Den stora skillnaden är kontroll: med n8n kan du finjustera sökfrågor, batchning och postformat utan att fastna i plattformsbegränsningar. Om du vill ha hjälp att välja, prata med en automationsexpert.

Du får ett lead-ark som teamet inte behöver be om ursäkt för. Sätt det en gång, låt det rulla och använd tiden du får tillbaka till att faktiskt skriva meddelanden och boka möten.

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