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 + SendGrid: spåra leads från start till mål

Rickard Andersson Partner, Nodenordic.se

Din leadlista blir egentligen aldrig riktigt ”klar”. Du skrapar en batch, klistrar in den i ett ark, skickar några mejl och tappar sedan bort vem som öppnade, vem som studsade och vem som faktiskt svarade.

Säljansvariga märker det när uppföljningar glider. En person inom marketing ops märker det när rapportering förvandlas till detektivarbete. Och om du driver en byrå är automatisering för Sheets SendGrid leads skillnaden mellan ”vi mejlade dem” och ”vi kan bevisa vad som hände”.

Det här arbetsflödet knyter ihop hela loopen: skrapa Google Maps-leads, lagra dem i Google Sheets, skicka spårad outreach i SendGrid och fånga sedan svar från Gmail och routa dem med AI. Du får se hur det fungerar, vad du behöver och vilka resultat du kan förvänta dig.

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + SendGrid: spåra leads från start till mål

Varför detta är viktigt: leadspårning faller sönder efter utskicket

De flesta ”system” för cold outreach faller isär direkt efter att mejlet skickats. Arket har en rad som säger ”skickat”, men ingen vet om det levererades, studsade eller öppnades tre gånger. Svar landar i en delad inkorg, blir vidarebefordrade till någon och försvinner sedan in i Slack utan någon koppling tillbaka till leadposten. En vecka senare jagar du uppföljningar utifrån minnet och halvfärdiga anteckningar. Ärligt talat är det ingen process. Det är ett kaos som blir värre ju mer volymen växer.

Det eskalerar snabbt. Här är var det brister i verkligheten:

  • Du skickar mejl i batchar, men leverans- och bounce-status kommer aldrig tillbaka till Google Sheets.
  • Svar hanteras manuellt, så ”Intresserade” leads blir liggande i en inkorg tills någon upptäcker dem.
  • Uppföljningar sker sent (eller inte alls) eftersom ingen vill filtrera, sortera och kontrollera datum varje dag.
  • Din rapportering blir luddig, eftersom öppningar/klick finns i SendGrid-loggar medan leaddata finns någon annanstans.

Vad du bygger: en leadlivscykelloop från skrapning till svar

Det här arbetsflödet kör din outreach som ett sammanhängande system i stället för sex separata uppgifter. Det börjar med en enkel formulärinlämning (nyckelord, plats, leadgräns) som triggar en Google Maps-skrapning via Apify. Varje företag struktureras, kontrolleras för webbplats och genomsöks efter en offentlig e-postadress. Kvalificerade leads läggs in i ditt Google Sheets-CRM, som blir single source of truth för outreach. Därifrån hämtar flödet en roterande mejlmall, personaliserar den med leaddata, bäddar in ett unikt spårnings-ID och skickar via SendGrid. När SendGrid-händelser kommer in via webhooks (levererat, öppnat, klickat, bounce, avregistrerat) uppdaterar arbetsflödet exakt rätt leadrad med prioriterad status och tidsstämplar. Till sist fångar Gmail-svarspollning svar, undviker dubbletter, använder OpenAI för att klassificera intent och routar ”Intresserad”-svar till ditt team, samtidigt som Sheets uppdateras.

Loopen är enkel att förstå. Nya leads kommer in via Google Maps-skrapning, outreach går ut via SendGrid med inbyggd spårning och varje signal (händelser och svar) pushas snyggt tillbaka till ditt CRM så att uppföljningar sker i tid.

Det här bygger du

Förväntade resultat

Säg att du skrapar 50 lokala leads och kör outreach två gånger i veckan. Manuellt är det lätt att bränna cirka 2 timmar på skrapning/export, ytterligare en timme på att rensa webbplatser/mejl och minst en timme under veckan på att kolla SendGrid-statistik, logga svar och sätta upp uppföljningar. Med det här arbetsflödet skickar du in formuläret på en minut, låter skrapning och extraktion gå i bakgrunden (ofta 20–40 minuter beroende på sajter) och lägger din tid bara på riktiga svar. De flesta team får tillbaka cirka 3 timmar per kampanjcykel, plus färre ”vi glömde följa upp”-ögonblick.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för ditt CRM och mallar.
  • SendGrid för att skicka spårad outreach och ta emot webhookhändelser.
  • Apify API-nyckel (hämta den i dina kontoinställningar i Apify).
  • Gmail API-inloggningsuppgifter (skapa i Google Cloud Console för svarspollning).
  • OpenAI API-nyckel (hämta i OpenAI-dashboarden) för svarsklassificering.

Kunskapsnivå: Medel. Du kodar inte från grunden, men du bör vara bekväm med att koppla konton, mappa fält och testa webhooks.

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

Steg för steg

En formulärinlämning drar igång allt. Du anger ett affärsnyckelord, en plats och hur många leads du vill ha. Den enda inmatningen triggar Apify Google Maps-skrapningen.

Leaddata struktureras, filtreras och berikas. Flödet tar bort poster utan webbplatser, normaliserar URL:er, roterar user agents och hämtar varje sajts HTML för att leta efter offentliga e-postadresser. Det använder också fördröjningar mellan förfrågningar för att undvika att trigga blockeringar.

Outreach skickas med inbyggd spårning. n8n hämtar ditt mallbibliotek från Google Sheets, väljer ett slumpmässigt alternativ, injicerar leadvariabler och skickar via SendGrid med ett unikt inbäddat ID så att framtida händelser och svar matchar rätt post.

Status, engagemang och svar flödar tillbaka till ditt CRM. SendGrid-webhooks uppdaterar fält för ”levererat/öppnat/klickat/bounce/avregistrerat” med prioriteringslogik, medan Gmail-pollning fångar svar, undviker dubbletter och använder OpenAI för att etikettera intent och vidarebefordra de viktiga till ditt team (Slack/Telegram-routing stöds i arbetsflödet).

Du kan enkelt justera timing för uppföljningar och routing-destinationer utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera trigger för formulärinskick

Det här arbetsflödet startar när ett formulär skickas in och inkluderar även schemalagda triggers och webhook-baserade triggers för löpande e-posthantering.

  1. Lägg till och öppna Form Submission Trigger för att fånga inkommande leads från ert formulär.
  2. Aktivera vid behov Manual Execution Start för ad hoc-körningar av intaget av leadlistan.
  3. Konfigurera Scheduled Trigger A och Scheduled Trigger B för att polla Gmail-svar enligt ett schema, samt Scheduled Trigger C för att kontrollera uppföljningar för levererade/inga-svar.
  4. Aktivera Incoming Webhook om ni planerar att skicka in engagemangshändelser till det här arbetsflödet.

Scheduled Trigger A skickar utdata parallellt till både Fetch Recent Gmail och Get Reply Message ID. Scheduled Trigger B skickar utdata parallellt till både Fetch Recent Gmail B och Get Route Message ID.

Steg 2: anslut Google Sheets

Flera Google Sheets-noder lagrar leadlistor, mallar och statusuppdateringar. Anslut autentiseringsuppgifter en gång och tillämpa dem på alla Sheets-noder.

  1. Öppna valfri Google Sheets-nod (till exempel Retrieve Lead List eller Append Sheet Row).
  2. Autentiseringsuppgifter krävs: Anslut era Google Sheets-autentiseringsuppgifter.
  3. Upprepa valet av autentiseringsuppgifter för alla Google Sheets-noder som hanterar mallar och statusar (22+ noder, inklusive Load Email Template DB, Update Original DB, Update DB Status 1, Update DB Status 2, Update DB Status 3 och Update DB Status 4).
  4. Verifiera blad-ID:n, intervall och skrivoperationer i noder som Append Sheet Row och Modify Processed IDs DB.

⚠️ Vanlig fallgrop: Saknade Google Sheets-autentiseringsuppgifter gör att alla läs-/skrivsteg misslyckas tyst, särskilt i grenar som Route Email Phases och Filter Items w ID.

Steg 3: konfigurera bearbetning för leaddataförädling

Den här fasen hämtar leads från Apify, rensar URL:er och berikar data via webbsidesförfrågningar.

  1. Konfigurera Execute Actor Task för att köra er Apify-actor och skicka in leadindata från Form Submission Trigger.
  2. Autentiseringsuppgifter krävs: Anslut era Apify-autentiseringsuppgifter i Execute Actor Task och Fetch Dataset Items.
  3. Använd Select Needed Fields och Parse Website URL för att normalisera leadposter innan scraping.
  4. Rensa och förbered URL:er via Strip URL Extras och ställ sedan in headers i Assign User Agents.
  5. Konfigurera Web Page Request för att hämta innehållet på leadets webbplats, och formatera det sedan med Render Markdown.

Tips: Render Markdown och Web Page Request är konfigurerade att fortsätta vid fel – säkerställ att era efterföljande steg kan hantera tomt innehåll.

Steg 4: konfigurera utskick av outreach-e-post

Det här steget batchar leads, väljer mallar, personaliserar innehåll och skickar e-post via SendGrid.

  1. Styr volymen med Cap Records och Batch Iterate Items innan personalisering.
  2. Normalisera variabler i Normalize Variables efter att mallar har slagits ihop i Combine Streams B.
  3. Ladda mallar från Load Email Template DB och välj en med Choose Random Template.
  4. Skicka outreach via Dispatch Email och köa sedan uppföljningstid i Delay Step.
  5. Autentiseringsuppgifter krävs: Anslut era SendGrid-autentiseringsuppgifter i Dispatch Email, Dispatch Email B och Dispatch Email C.

Dispatch Email skickar utdata till Delay Step, som sedan flödar vidare till Batch Iterate Items B för kontinuerlig batchning.

Steg 5: konfigurera AI-klassificering för Create Email Labels

Inkommande svar etiketteras och routas med textklassificeringsnoden som är ansluten till OpenAI.

  1. Konfigurera Create Email Labels för att klassificera svar i utfall som Interested, Not Interested eller Misc.
  2. Koppla OpenAI Chat Engine som språkmodell för Create Email Labels.
  3. Autentiseringsuppgifter krävs: Anslut era OpenAI-autentiseringsuppgifter i OpenAI Chat Engine (autentiseringsuppgifter läggs till på den överordnade AI-noden, inte Create Email Labels).

Create Email Labels skickar utdata parallellt till Apply Label Interested, Forward Emails to Sales och Process Converted Leads.

Steg 6: konfigurera Gmail-intag och routing

Svarsbearbetning använder schemalagda Gmail-hämtningar, filtrering och routing för att matcha svar med arbetsflöden.

  1. Autentiseringsuppgifter krävs: Anslut era Gmail-autentiseringsuppgifter i Fetch Recent Gmail, Fetch Recent Gmail B, Send Gmail Message, Apply Label Interested, Apply Label Not Interested och Apply Label Misc.
  2. Filtrera svar med Filter Reply Emails och Filter Reply Emails B, och slå sedan ihop i Merge Unprocessed Emails och Merge Unprocessed Emails B.
  3. Extrahera identifierare med Extract Message ID och Extract Route ID innan ni utvärderar Only Emails With ID.
  4. Routa efter mall med Route by Template, som skickar till Load Original Email, Load Follow-Up Email 1 eller Load Follow-Up Email 2.

Filter Items w ID skickar utdata parallellt till Modify Email Workflow DB, Route by Template och Modify Processed IDs DB.

Steg 7: konfigurera uppföljningslogik och engagemangsuppdateringar

Den här grenen hanterar kategorisering av engagemang, timing för uppföljning och databasuppdateringar för varje fas.

  1. Bearbeta engagemang med Classify Event Types och routningslogik med Route by Condition.
  2. Kombinera engagemangsdata via Combine Streams C och poängsätt sedan via Categorize Engagements.
  3. Använd Check Delivered No Reply och Check Opened Or Clicked för att avgöra uppföljningstid i Route 5 or 10 Days.
  4. Ladda uppföljningsmallar via Load Follow-Up Template DB och Load Second Follow-Up DB, och personalisera sedan i Personalize Email A och Personalize Email B.
  5. Skicka uppföljningar via Dispatch Email C och Dispatch Email B, följt av Delay Step D och Delay Step E.

Tips: Väntnoderna (Delay Step A, Delay Step B, Delay Step C, Delay Step D, Delay Step E och Randomized Pause) hjälper till att styra takten i outreach – justera varaktigheter noggrant för att hålla er compliant.

Steg 8: granska no-op-platshållare och felsökningsvägar

No-op-noder finns för att hålla plats för framtida logik eller för felsökning; verifiera om ni behöver ersätta dem med faktiska åtgärder.

  1. Inspektera No-Op Placeholder, No-Op Placeholder A, No-Op Placeholder B, No-Op Placeholder C och No-Op Placeholder D.
  2. Avgör om dessa noder ska logga, notifiera eller förgrena till nya åtgärder i ert produktionsarbetsflöde.

Steg 9: testa och aktivera ert arbetsflöde

Validera varje trigger-väg och aktivera sedan arbetsflödet för produktion.

  1. Använd Manual Execution Start för att köra ett kontrollerat test av Retrieve Lead List och bekräfta att utgående e-post skickas.
  2. Trigga Form Submission Trigger med exempeldata och verifiera att Apify-, beriknings- och sheet-uppdateringsgrenarna slutförs.
  3. Kontrollera Gmail-grenarna genom att köra Scheduled Trigger A och Scheduled Trigger B och bekräfta att etiketter och routing tillämpas korrekt.
  4. En lyckad körning ska resultera i val av mall, leverans via SendGrid och uppdaterade statusar i Google Sheets.
  5. När allt stämmer, växla arbetsflödet till Active för att köra i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • SendGrid-inloggningsuppgifter och inställningar för webhook-signering kan ställa till det. Om händelser inte uppdaterar Google Sheets, kontrollera SendGrids sida för Event Webhook och bekräfta att n8n-webhook-URL:en är korrekt och aktiverad.
  • Om du använder Wait-noder eller extern skrapning varierar processtider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-klassificeringsnoderna är generiska. Lägg in dina definitioner av ”Intresserad” och ”Inte intresserad” tidigt, annars kommer du att etikettera om svar manuellt.

Snabba svar

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

Räkna med cirka 60–90 minuter om du redan har dina nycklar och dina Sheets redo.

Krävs det kodning för den här automatiseringen av leadspårning?

Nej. Du kommer främst att koppla konton och justera några fältmappningar.

Är n8n gratis att använda för det här arbetsflödet för Sheets SendGrid leads?

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å räkna med OpenAI API-kostnader (ofta några dollar i månaden för typisk svarsklassificering) och Apify-användning beroende på skrapvolym.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för Sheets SendGrid leads för andra use cases?

Ja, och det bör du sannolikt. Du kan byta ut Apify Google Maps-skapern mot en annan Apify actor i steget ”Execute Actor Task”, eller ersätta Google Sheets-CRM:et med Airtable och samtidigt behålla SendGrid-webhooks intakta. Vanliga anpassningar är att ändra uppföljningsschemat (5/10 dagar till din kadens), skriva om mallbiblioteket i Templates-arket och routa ”Intresserad”-svar till en annan plats (Slack, Telegram eller en sälj-inkorg).

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

Oftast är det ett problem med API-nyckeln eller saknade behörigheter på nyckeln. Uppdatera SendGrid-credential i n8n och verifiera sedan att Event Webhook är aktiverad i SendGrid och skickar de händelsetyper du förväntar dig (levererat, öppning, klick, bounce). Om du ändrade webhook-URL:en efter testning kan SendGrid fortfarande posta till den gamla. Kontrollera även rate limiting om du skickar stora batchar samtidigt.

Vilken volym kan det här arbetsflödet för Sheets SendGrid leads hantera?

Om du self-hostar finns ingen körningsgräns (det beror främst på din server, SendGrid-gränser och hur aggressiv din skrapning är). På n8n Cloud styr din plan antalet månadskörningar, så outreach med hög volym innebär oftast att du behöver uppgradera. I praktiken kör de flesta team detta i dagliga batchar om 20–200 leads för att hålla leveransbarheten sund och undvika att webbplatsskrapning blir blockerad.

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

Ofta, ja. Det här flödet blandar skrapning, batchning, väntesteg, prioriteringslogik för händelsestatusar och AI-klassificering, vilket är där Zapier-scenarier snabbt blir dyra eller klumpiga. n8n ger dig också self-hosting, så du kan köra frekventa webhookuppdateringar utan att räkna varje steg som om det vore en dyr resurs. Om du bara behöver ”ny rad i Sheets → skicka mejl” fungerar Zapier eller Make bra. När du bryr dig om svarsrouting och livscykelspårning är n8n det mer praktiska verktyget. Om du vill ha en second opinion innan du bestämmer dig, prata med en automationsexpert.

När detta väl rullar slutar ditt Google Sheet vara en avlastningsyta och blir en levande pipeline som du faktiskt kan driva. Arbetsflödet tar hand om de repetitiva uppdateringarna, så att du kan fokusera på konversationerna som blir intäkter.

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