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

HubSpot till Google Sheets, kompletta kontakter

Rickard Andersson Partner, Nodenordic.se

Du tar ut en ”fullständig” kontaktexport från HubSpot, klistrar in den i ett kalkylark och inser senare att en stor del av posterna saknas. Oftast beror det på paginering. Och det är frustrerande eftersom du inte ser glappen förrän du redan använder listan.

Den här HubSpot Sheets sync-utmaningen slår hårdast mot marketing ops, men även grundare som försöker hålla en felfri CRM-lista känner av den. Byråer som gör kundrevisioner stöter på samma problem, bara med högre insatser och tajtare deadlines.

Det här arbetsflödet fortsätter att hämta sidor tills det inte finns några kvar, och aggregerar sedan allt till ett enda komplett resultat. Du får se hur det fungerar, vad du behöver och var team oftast går i fällan.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutligt utdata:

n8n Workflow Template: HubSpot till Google Sheets, kompletta kontakter

Problemet: ”fullständiga” exporter som inte är fullständiga

Kontaktdata i HubSpot är oftast för stor för att returneras i ett enda API-svar. Därför ger API:t dig en sida med resultat plus en markör (en pekare till ”nästa sida”). Om din process bara hämtar första sidan tappar du data utan att märka det. Om du kör om den kan du få dubbletter, eller så lägger du ytterligare en timme på att städa. Värst av allt: det som händer längre ned i kedjan ser först helt okej ut. Segmenteringssiffrorna är lite fel, kampanjpubliker känns ”tunna”, och du lägger tid på att felsöka fel sak.

Det drar snabbt iväg. Här är hur det faller isär i verkligheten.

  • Du exporterar kontakter för en kampanj och missar utan att veta om det nyare poster som ligger på senare sidor.
  • Någon kör om hämtningen för att ”fixa det”, vilket skapar dubblettrader och rörig rapportering.
  • Manuell paginering (kopiera markörer, klistra in URL:er) förvandlar en 10-minutersuppgift till en timme av uppmärksamhetskrävande rutinjobb.
  • Rate limits dyker upp vid värsta möjliga tillfälle, så exporten avbryts halvvägs och du vet inte vad du faktiskt fick med.

Lösningen: paginerade HubSpot-hämtningar som gör klart jobbet

Det här n8n-arbetsflödet är byggt för en sak: fortsätta begära HubSpot-kontakter tills API:t säger att det inte finns någon ”nästa sida”, och sedan paketera resultatet till en enda komplett datamängd du kan lita på. Det startar med en manuell trigger så att du kan köra det på beställning (perfekt för revisioner, migreringar och uppdatering av listor). Därefter förbereder det första endpointen, anropar HubSpot-API:t, pausar kort för att undvika rate limits och kontrollerar svaret efter en pagineringsmarkör. Om en markör finns bygger arbetsflödet nästa URL och loopar. Om inte, aggregerar det allt det samlat in till ett enda kombinerat utdata som är redo att skickas till Google Sheets.

Arbetsflödet börjar med att förbereda request-URL:en och anropar sedan HubSpot upprepade gånger och ”följer” markören. Varje varv lägger fler kontakter i högen. När pagineringen tar slut slår arbetsflödet ihop alla sidor till ett slutresultat.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att din HubSpot-portal har cirka 25 000 kontakter och att API:t returnerar 100 per sida. Manuellt landar du på ungefär 250 sid-hämtningar, plus att kopiera markörer och sätta ihop data, vilket kan äta upp cirka 2 timmar när du räknar in städning. Med det här arbetsflödet klickar du på kör en gång och låter det loopa tills det är klart. Du kan få vänta 10–20 minuter beroende på rate limits, men du behöver inte sitta och vakta det, och slutresultatet är en komplett lista för Google Sheets.

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)
  • HubSpot som källa för dina kontaktdata.
  • Google Sheets för att lagra den sammanslagna exporten.
  • Privat app-token i HubSpot (skapa den i HubSpot Settings → Integrations → Private Apps).

Kunskapsnivå: Medel. Du kopierar en API-token, justerar en HubSpot-endpoint och mappar fält till ett kalkylark.

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

Så fungerar det

Manuell körning startar allt. Du startar arbetsflödet när du behöver en ny hämtning. Det håller det enkelt vid revisioner, migreringar eller engångsstädningar.

Arbetsflödet förbereder request-URL:en. Ett funktionssteg bygger HubSpot-contacts-endpointen och inkluderar valfria query-parametrar (properties, limits, filters).

HubSpot frågas, och sedan saktar arbetsflödet ned. HTTP-anropet hämtar en sida med kontakter, och pass-through- samt delay-logiken hjälper dig undvika rate limits så att du inte kapas mitt i exporten.

Paginering upptäcks och följs tills den tar slut. En IF-kontroll letar efter markören. Om den finns tilldelar ett Set-steg nästa länk och loopen fortsätter. När det inte finns någon markör aggregeras allt till ett enda felfritt resultat som du kan skicka till Google Sheets.

Du kan enkelt ändra vilka kontaktegenskaper som hämtas så att det matchar strukturen i ditt kalkylark. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: konfigurera den manuella triggern

Det här arbetsflödet startar med en manuell trigger för att initiera pagineringsloopen.

  1. Lägg till noden Manual Execution Start som din trigger.
  2. Lämna alla inställningar som standard i Manual Execution Start (inga parametrar krävs).
  3. Ni kan valfritt behålla Flowpast Branding som en dokumentationsnotering på er canvas.

Steg 2: anslut det externa api-anropet

Konfigurera API-förfrågan för att hämta paginerad data från HubSpot.

  1. Lägg till noden External API Call och anslut den efter Prepare Next Endpoint.
  2. Ställ in URL till ={{$node["Prepare Next Endpoint"].json["next"]}}.
  3. Under Query Parameters lägger ni till hapikey med värdet [CONFIGURE_YOUR_API_KEY].
  4. Lägg till limit med värdet 100 för att styra sidstorleken.

⚠️ Vanlig fallgrop: Ersätt [CONFIGURE_YOUR_API_KEY] med er riktiga HubSpot API-nyckel, annars kommer förfrågan att misslyckas.

Steg 3: konfigurera pagineringshantering

Det här steget loopar igenom sidor, fördröjer förfrågningar och kontrollerar om det finns en länk till nästa sida.

  1. I Prepare Next Endpoint behåller ni standardfunktionskoden för att initiera och uppdatera next från tidigare körningar.
  2. Anslut External API Call till Pass Through Step och sedan till Delay Handler.
  3. I Delay Handler behåller ni funktionskoden som fördröjer med 5000 ms för att strypa förfrågningar.
  4. Konfigurera Pagination Check med det booleska villkoret ={{$node["External API Call"].json["paging"] ? true : false}} lika med true.
  5. I Assign Next Link ställer ni in fältet next till ={{$node["External API Call"].json["paging"]["next"]["link"]}} och aktiverar Keep Only Set.
  6. Anslut Pagination Check (true-vägen) → Assign Next LinkPrepare Next Endpoint för att fortsätta pagineringen.

Den här loopen följer exekveringsflödet: Manual Execution StartPrepare Next EndpointExternal API CallPass Through StepDelay HandlerPagination Check.

Steg 4: konfigurera aggregering av utdata

När pagineringen är klar aggregerar arbetsflödet alla resultat till en enda utdatalista.

  1. Anslut false-utgången från Pagination Check till Aggregate Results.
  2. Behåll standardfunktionskoden i Aggregate Results för att samla alla sidor från External API Call.

⚠️ Vanlig fallgrop: Om External API Call inte returnerar något paging-fält kommer arbetsflödet omedelbart att gå till Aggregate Results. Säkerställ att API:et faktiskt stödjer paginering.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera paginering och aggregering, och aktivera sedan för produktionsanvändning.

  1. Klicka på Execute Workflow för att köra Manual Execution Start.
  2. Bekräfta att External API Call returnerar resultat och att Assign Next Link uppdaterar next-URL:en i varje loop.
  3. Verifiera att Aggregate Results returnerar en enda lista med sammanfogade resultat när pagineringen avslutas.
  4. När allt ser korrekt ut växlar ni arbetsflödet till Active för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • HubSpot-credentials kan löpa ut eller tappa scopes. Om något slutar fungera: kontrollera först behörigheterna för din privata app-token i HubSpot och uppdatera sedan credential i n8n.
  • Om du använder Wait-noder eller externa fördröjningar varierar processtiden. Öka väntetiden om noder längre ned fallerar på tomma svar.
  • Kolumnmappning i Google Sheets glider över tid. Om du lägger till eller byter namn på en egenskap i HubSpot, säkerställ att din ”set fields”-logik fortfarande matchar kalkylarkets rubriker.

Vanliga frågor

Hur lång tid tar det att sätta upp den här HubSpot Sheets sync-automatiseringen?

Cirka 30 minuter om din HubSpot-token är redo.

Behöver jag kunna koda för att automatisera exporter av HubSpot-kontakter?

Nej. Du klistrar främst in uppgifter och justerar några fält. ”Logiken” hanteras redan av pagineringsloopen.

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

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också ta hänsyn till HubSpots API-begränsningar (oftast den verkliga begränsningen).

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 obegränsade körningar, men kräver grundläggande serverhantering.

Kan jag anpassa det här HubSpot Sheets sync-arbetsflödet till bara specifika listor eller egenskaper?

Ja, och det bör du. De flesta team anpassar logiken i ”Config URL” och ”Prepare Next Endpoint” för att bara begära de kontaktegenskaper de bryr sig om, och justerar sedan ”Assign Next Link” och fältmappningen så att slutresultatet matchar kolumnerna i deras Google Sheet. Du kan också byta trigger: behåll manuell körning för engångsexporter, eller ersätt den med en Webhook-trigger om du vill ha schemalagda uppdateringar via en extern schemaläggare.

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

Oftast är det en ogiltig eller utgången privat app-token. Skapa en ny token i HubSpot, bekräfta att scopes inkluderar läsning av kontakter och uppdatera sedan credential i n8n. Om det bara fallerar vid större hämtningar kan du slå i rate limits, så öka fördröjningen och minska hur många egenskaper du begär per anrop. En sak till: vissa HubSpot-konton begränsar åtkomst via teambehörigheter, vilket kan se ut som ”slumpmässiga” 403-fel.

Hur många kontakter kan den här HubSpot Sheets sync-automatiseringen hantera?

Många. I n8n Cloud är den praktiska gränsen din månatliga körningskvot och hur många sidor HubSpot-API:t behöver returnera. Om du self-hostar finns inget körningstak från n8n, men din server och HubSpots rate limits spelar fortfarande roll. För de flesta små till medelstora portaler kör den stabilt så länge du har en rimlig fördröjning mellan anropen.

Är den här HubSpot Sheets sync-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. Paginering är där enklare verktyg blir krångliga, eftersom du får kedja steg eller betala för många tasks bara för att ”loopa” genom sidor. n8n hanterar förgrening och loopar snyggt, och med self-hosting kan du köra större exporter utan att se task-kostnaderna dra iväg. Zapier eller Make kan fortfarande fungera bra för små listor eller engångshämtningar, ärligt talat. Om du är osäker: prata med en automatiseringsexpert och få en rak rekommendation.

När du väl har en komplett kontaktlista som flödar in i Google Sheets blir allt nedströms enklare. Arbetsflödet tar hand om den repetitiva sidindelningen så att du kan fokusera på att använda datan, inte jaga den.

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