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

Google Sheets till Instantly: dubblettfria leads

Rickard Andersson Partner, Nodenordic.se

Att kopiera leads från ett kalkylark in i Instantly är en sån uppgift som ser “snabb” ut tills den i tysthet äter upp hela veckan. Dubbletter smyger sig in. Någon importerar samma lista två gånger. Kampanjerna blir röriga och du börjar tvivla på vad som faktiskt gick iväg.

Den här Instantly lead sync-automationen träffar marketing ops först, men byråägare och grundare som sköter sin egen outbound känner det också. Resultatet är enkelt: nya leads flyttas från Google Sheets till rätt Instantly-kampanj automatiskt, och e-postadresser som redan synkats läggs inte till igen.

Nedan ser du hur arbetsflödet fungerar, vad det automatiserar och vad som förändras när din leadlista får en riktig “source of truth” i stället för en skör importrutin.

Så fungerar den här automationen

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

n8n Workflow Template: Google Sheets till Instantly: dubblettfria leads

Problemet: lead-importer skapar dubbletter och blinda fläckar

Kalkylark är grymma för att samla leads. De är usla på att bevisa vad som hände sen. När du börjar köra outbound behöver du veta vilka leads som synkats, vilken kampanj de hamnade i och vilka som misslyckades. Manuella exporter och Instantly-importer faller snabbt isär eftersom du litar på minnet, filnamn som “leads-final-v3.csv”, och att någon kommer ihåg att ta bort dubbletter. Sedan får din leveransbarhet en smäll eftersom samma adress träffas två gånger, och du lägger tid på att reda ut det i stället för att lansera nästa kampanj.

Det går fort att det drar iväg. Här är var det brister i verkligheten.

  • Du råkar importera samma e-postadresser igen eftersom det inte finns någon pålitlig “synkad”-status i ditt flöde.
  • Varje manuell import är en ny chans att mappa fält fel, särskilt när kolumnerna i arket ändras över tid.
  • När ett API-anrop eller en uppladdning misslyckas halvvägs vet du inte vad som kom in och vad som inte gjorde det.
  • Att skala från 50 till 1 000 leads blir ett problem med rate limits och timeouts, inte ett tillväxtproblem.

Lösningen: Google Sheets → n8n Data Table → Instantly, med statushantering

Det här arbetsflödet skapar en strukturerad och repeterbar lead-pipeline genom att lägga till ett enkelt mellanlager: en n8n Data Table som heter “Leads”. Först hämtar du leads från Google Sheets och laddar in dem i tabellen i kontrollerade batchar, så att stora listor inte timear ut. Under inläsningen sparar flödet även nyttig kontext, som kontaktens jobbtitel, i ett fält som heter “focusarea” (praktiskt senare för personalisering). Därefter, enligt ett schema, kontrollerar flödet Data Table efter leads markerade som nya (“campaign = start”), skickar dem till din valda Instantly-kampanj via API och uppdaterar direkt varje post till “added to instantly”. Den statusväxlingen är hela poängen. Det är så automationen förhindrar dubbletter utan att du behöver vakta kalkylark hela dagen.

Arbetsflödet kan startas antingen manuellt (perfekt för test) eller enligt ett timschema. Leads behandlas i batchar när de kommer från Sheets och skickas sedan till Instantly en och en för mer pålitlig synk och renare felhantering. Till sist blir Data Table din revisionslogg så att du kan lita på vad som finns i kampanjen.

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du lägger till 100 nya leads i ett Google Sheet varje vecka. Manuellt exporterar du oftast en CSV, importerar till Instantly, tar bort dubbletter och stickprovar fält—vilket lätt blir 45 minuter till en timme per batch. Med det här flödet kör du synken Sheet → Data Table en gång (den blir vanligtvis klar på under en minut för 100 leads), och sedan skickar den schemalagda synken nya poster till Instantly med ungefär ett lead per sekund. Du lägger tiden på att läsa svar, inte på att vakta importer.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra och uppdatera din leadlista
  • Instantly för att köra e-postkampanjer och sekvenser
  • Instantly API-nyckel (hämta den i Instantly Settings → API)

Kunskapsnivå: Nybörjare. Du kopplar konton, väljer rätt sheet/tabell och klistrar in din Instantly API-nyckel och kampanj-ID.

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

Så fungerar det

En manuell eller schemalagd trigger startar körningen. Du kan köra flödet manuellt när du testar och sedan förlita dig på schematriggern (timvis som standard) när du litar på det.

Google Sheets-rader hämtas och bearbetas i batchar. Flödet hämtar rader från ditt sheet och använder sedan en batch-loop (30 åt gången) så att en stor lista inte överbelastar din instans eller orsakar API-timeouts.

Leads lagras och berikas i en n8n Data Table. Varje lead skapas eller uppdateras baserat på e-post, och kolumnen Title kopieras till ett fält som heter “focusarea” så att du har något användbart för segmentering senare.

Endast “nya” leads skickas till Instantly och markeras sedan som synkade. Vid varje schemalagd synk hämtar flödet rader i Data Table där kampanjstatus är “start”, skapar leadet i din valda Instantly-kampanj och ändrar status till “added to instantly”.

Du kan enkelt justera batchstorleken för att hantera större listor utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Konfigurera den manuella startpunkten så att ni kan hämta färsk lead-data från Google Sheets vid behov.

  1. Lägg till eller välj Manual Execution Start som triggernod.
  2. Koppla Manual Execution Start till Retrieve Sheet Rows.
  3. Säkerställ att workflowet är sparat så att den manuella triggern kan köras.

Steg 2: anslut Google Sheets

Konfigurera kalkylbladskällan där lead-raderna lagras.

  1. Öppna Retrieve Sheet Rows och välj kalkylbladets Document ID till instantly leads.
  2. Ställ in Sheet Name till apollo-contacts-export 9.
  3. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter.
  4. Bekräfta att Retrieve Sheet Rows skickar output till Batch Iterator.

Steg 3: konfigurera batchbearbetning och uppdateringar i datatabellen

Bearbeta inkommande rader i batchar och uppdatera er n8n-datatabell med lead-fält.

  1. I Batch Iterator, ställ in Batch Size till 30.
  2. Öppna Modify Table Rows och ställ in Operation till update.
  3. I Modify Table Rows, ställ in Data Table till Leads.
  4. Konfigurera filtret så att matchning sker via e-post: sätt keyName till email och keyValue till ={{ $json.Email }}.
  5. Mappa fältet focusarea till ={{ $json.Title }} i kolumnmappningen.
  6. Säkerställ att Modify Table Rows loopar tillbaka till Batch Iterator för kontinuerlig batchning.

Tips: Om era fält i arket skiljer sig, uppdatera kolumnmappningen i Modify Table Rows så att den matchar era faktiska kolumnnamn.

Steg 4: konfigurera schemalagd lead-bearbetning och synk till Instantly

Schemalägg automatiserad bearbetning av kampanjleads för “start” och synka dem till Instantly.

  1. Öppna Scheduled Automation Trigger och definiera den intervallregel som passar er takt.
  2. I Fetch Table Rows, ställ in Operation till get och filtrera på att campaign är lika med start.
  3. Bekräfta att Fetch Table Rows är kopplad till Iterate Lead Records.
  4. Öppna Generate Lead Entry och ställ in Resource till lead.
  5. Ställ in Email till ={{ $json.Email }}, First Name till ={{ $json.Firstname }} och Company Name till ={{ $json.company }}.
  6. I Generate Lead Entry under additional fields, ställ in Website till ={{ $json.Website }} och välj Campaign som Launchday 1.
  7. Inloggningsuppgifter krävs: Anslut era instantlyApi-inloggningsuppgifter i Generate Lead Entry.
  8. Öppna Update Lead Status och ställ in Operation till update med kolumnvärdet campaign added to instantly.
  9. Ställ in filtret i Update Lead Status så att det matchar Email med ={{ $json.email }}.
  10. Säkerställ att loopen går tillbaka från Update Lead Status till Iterate Lead Records.

⚠️ Vanlig fallgrop: E-postfältet använder två varianter: Email (ark) och email (tabell). Säkerställ att era kolumner i datatabellen matchar exakt dessa nycklar.

Steg 5: testa och aktivera ert workflow

Kör ett manuellt test, verifiera uppdateringar och aktivera sedan schemalagd körning.

  1. Klicka på Execute Workflow för att köra Manual Execution Start och bekräfta att rader hämtas av Retrieve Sheet Rows.
  2. Verifiera att Modify Table Rows uppdaterar datatabellen Leads med de mappade fälten.
  3. Trigga Scheduled Automation Trigger manuellt för att bekräfta att Fetch Table Rows endast returnerar poster med campaign = start.
  4. Bekräfta att Generate Lead Entry skapar leads i Instantly och att Update Lead Status markerar dem som added to instantly.
  5. Slå på workflowet med reglaget Active för att aktivera schemalagd bearbetning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets OAuth-uppgifter kan löpa ut eller tappa behörigheter. Om saker slutar fungera, kontrollera Google Sheets-uppgiften i n8n:s Credentials-vy och autentisera om först.
  • Om du använder batchning och din n8n-instans är underdimensionerad varierar processtiderna. Sänk batchstorleken om arbetsflödet börjar timea ut eller misslyckas mitt i en körning.
  • Instantly API-anrop misslyckas om ditt kampanj-ID är fel eller om din API-nyckel ändras. Dubbelkolla inloggningsuppgifterna i Instantly-noden och bekräfta kampanj-ID i Instantly under Campaign settings.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Instantly lead sync-automationen?

Cirka 30 minuter om ditt sheet och din Instantly-kampanj är redo.

Behöver jag kunna koda för att automatisera Instantly lead sync?

Nej. Du kopplar Google Sheets och Instantly och bekräftar sedan din kolumnmappning och kampanj-ID. Logiken är redan inbyggd i arbetsflödet.

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

Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer startar på 20 $/månad för högre volymer. Du behöver också räkna in Instantly-kostnader (din plan) och normal användning av Google Sheets.

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

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 klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här Instantly lead sync-arbetsflödet för flera kampanjer?

Ja, men då vill du justera logiken för statusfältet. Många team lägger till en andra kolumn som “campaign_id” (eller “target_campaign”) i Google Sheets eller Data Table och mappar sedan det värdet till Instantly-noden “Create a lead”. Du kan också duplicera den schemalagda synk-vägen per kampanj om du vill hålla det enkelt. Nyckeln är att behålla en meningsfull status i Data Table så att deduplicering fortsatt fungerar.

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

Oftast beror det på en ogiltig API-nyckel eller att kampanj-ID fortfarande är satt till exempelvärdet. Återskapa din Instantly API-nyckel vid behov, klistra in den i Instantly-uppgiften i n8n och bekräfta sedan kampanj-ID inne i dina Instantly-kampanjinställningar. Kontrollera också att leadets e-postadress är giltig, eftersom en dålig post kan få ett enskilt API-anrop att misslyckas även när själva arbetsflödet är okej.

Hur många leads kan den här Instantly lead sync-automationen hantera?

Många. Importen från Google Sheets körs i batchar (30 som standard), och Instantly-synken skickar vanligtvis cirka 1 lead per sekund, så även 1 000 leads är hanterbart.

Är den här Instantly lead sync-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom den här lösningen bygger på en riktig statustabell för att förhindra dubbletter—inte bara “jag tror att jag redan skickade den raden”. n8n gör det också enklare att batcha, loopa och uppdatera poster med din egen logik utan att betala extra för varje gren. En annan stor grej är self-hosting, vilket gör att du kan köra frekventa synkar utan att varje dag behöva hålla koll på task-limiter. Zapier eller Make kan fortfarande vara bra för en lättviktig tvåstegssynk, särskilt om du inte tror att listan kommer växa. Om du vill ha hjälp att välja, prata med en automationsexpert.

När din leadlista har en riktig synkstatus slutar outbound kännas skört. Sätt upp det, kör dina kampanjer och låt arbetsflödet ta hand om de repetitiva delarna.

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