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 Gmail, pdf:er utan misstag

Rickard Andersson Partner, Nodenordic.se

Att kopiera namn och adresser in i PDF:er är den typen av ”liten uppgift” som i tysthet förstör hela veckan. Ett felaktigt mejladress, en gammal adress, en missad bilaga – och plötsligt fastnar du i att be om ursäkt, skicka om och dubbelkolla allt.

Här betalar sig automatisering av Sheets Gmail PDFs snabbt. HR-chefer som skickar erbjudanden, ekonomiteam som skickar fakturor och byråägare som levererar kunddokument stöter alla på samma problem: jobbet är inte svårt, det är bara repetitivt och lätt att göra fel.

Det här flödet gör rader i Google Sheets till personliga PDF:er, sparar dem i Google Drive, mejlar dem via Gmail och markerar varje rad som klar. Du får se vad det gör, vad du behöver och hur du undviker vanliga fel som leder till ”det funkade igår”-huvudvärk.

Så fungerar den här automatiseringen

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

n8n Workflow Template: Google Sheets till Gmail, pdf:er utan misstag

Problemet: att skicka PDF:er blir ett QA-jobb

Du börjar med goda intentioner: ett strukturerat kalkylark, en dokumentmall och en snabb plan om att ”skicka de här idag”. Sedan slår verkligheten till. Någons namn har ett specialtecken som får mallen att skapa fel. En rad saknar mejladress. Två personer har samma efternamn och du bifogar fel fil. Även när inget går fel lägger du ändå tid på samma mikro-steg: generera, ladda ner, döp om, ladda upp, bifoga, skicka, logga. Multiplicera det med 20 dokument och det är plötsligt hela förmiddagen.

Det går fort att bygga upp. Och det värsta är den mentala belastningen, eftersom du måste vara ”på” vid varje enskilt utskick.

  • Du börjar dubbelkolla varje mottagare eftersom ett enda misstag blir dyrt och pinsamt.
  • Filnamn blir inkonsekventa, så senare hittar du inte snabbt ”den vi skickade förra månaden”.
  • Rader markeras inte som klara pålitligt, vilket leder till dubbla utskick eller missade utskick.
  • Manuell PDF-skapande skalar inte förbi små batchar utan att fel smyger sig in.

Lösningen: generera, lagra, mejla och logga – automatiskt

Det här n8n-flödet gör Google Sheets till en enkel dokumentkö. Du kör det, och det hämtar bara rader som inte har bearbetats ännu (kolumnen ”DONE” är tom). Sedan går det post för post och skickar raddata (förnamn, efternamn, adress, mejl och vad du nu inkluderar) till din CraftMyPDF-mall för att generera en färdig PDF. Om PDF-skapandet lyckas laddar flödet ner filen, laddar upp den till Google Drive med ett konsekvent filnamn som Fornamn-Efternamn.pdf och mejlar den via Gmail som bilaga. Till sist uppdaterar det originalraden så att ditt kalkylark blir en pålitlig sändlogg.

Flödet startar när du klickar Execute i n8n. Därifrån batchar det igenom personalposter, skapar dokumentet, kontrollerar att det lyckas och slutför leveransen via Drive och Gmail. När det är klart visar Google Sheets exakt vad som skickats och vad som fortfarande behöver åtgärdas.

Det här får du: automatisering vs. resultat

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

Säg att du behöver skicka 30 avtal från ett Google Sheet. Manuellt lägger du kanske cirka 10 minuter per avtal på att skapa PDF:en, döpa den, ladda upp den, bifoga den, skicka den och sedan markera raden som klar. Det är ungefär 5 timmar av noggrant arbete som lätt blir avbrutet. Med det här flödet blir ”arbetet” att lägga till eller uppdatera rader i arket och klicka Execute, vilket tar kanske 5 minuter. Bearbetningen kör i bakgrunden medan du gör något annat, och arket uppdaterar sig självt när varje avtal går iväg.

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 rader och ”DONE”-status.
  • CraftMyPDF för att skapa PDF:er från en mall.
  • Google Drive + Gmail OAuth (skapas i Google Cloud Console)

Svårighetsnivå: Medel. Du kopplar Google-inloggningar, mappar fält till en PDF-mall och gör lätt felsökning om en rad saknar data.

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

Så fungerar det

Du kör det vid begäran. Flödet använder en manuell starttrigger, så du klickar Execute när du är redo att skicka en batch (bra när du vill ha kontroll).

Rader hämtas från Google Sheets. Det hämtar personal-/kundposter och filtrerar på rader där kolumnen ”DONE” är tom, så att det bara fokuserar på oskickade dokument.

Varje rad blir en PDF. n8n loopar igenom raderna i batchar, skickar de mappade fälten till CraftMyPDF och kontrollerar att PDF-skapandet lyckades innan det fortsätter.

Leverans och loggning sker automatiskt. PDF:en laddas ner, laddas upp till Google Drive, mejlas via Gmail som bilaga och därefter uppdateras originalraden i arket för att markera att den är klar.

Du kan enkelt justera mejltexten och Drive-mappupplägget efter 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 starten så att ni kan köra workflowet vid behov under testning.

  1. Lägg till och öppna Manual Start Trigger för att bekräfta att det är workflowets startpunkt.
  2. Säkerställ att Manual Start Trigger är ansluten till Retrieve Staff Records enligt flödet.

Steg 2: Anslut Google Sheets

Hämta personaldata från ett kalkylark och förbered raduppdateringar efter bearbetning.

  1. Öppna Retrieve Staff Records och välj ert kalkylark i Document med [YOUR_ID].
  2. Ställ in Sheet Name till gid=0 och behåll filtret på DONE för att rikta in er på rader som inte är behandlade.
  3. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Staff Records.
  4. Öppna Update Sheet Row och behåll Operation inställt på update.
  5. I Update Sheet Row, bekräfta att DONE är satt till x och att row_number använder ={{ $('Iterate Record Batches').item.json.row_number }} för matchning.
  6. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Sheet Row.

⚠️ Vanlig fallgrop: Ersätt alla [YOUR_ID]-platshållare med ert faktiska dokument-ID för Google Sheets och säkerställ att arknamnet matchar gid=0.

Steg 3: Konfigurera pdf-generering och validering

Generera pdf:er med CraftMyPDF och verifiera att svaren är lyckade innan ni går vidare.

  1. Öppna Iterate Record Batches för att säkerställa att batchning är aktiverad; detta styr bearbetning rad för rad.
  2. Konfigurera Generate Agreement PDF med Resource satt till pdf och Template ID satt till [YOUR_ID].
  3. I Generate Agreement PDF, behåll Data-mappningen enligt den är angiven för att mappa fält som {{ $json["FIRST NAME"] }}, {{ $json["LAST NAME"] }} och {{ $json.EMAIL }}.
  4. Autentiseringsuppgifter krävs: Anslut era craftMyPdfApi-uppgifter i Generate Agreement PDF.
  5. Öppna Result Success Check och verifiera att villkoret kontrollerar att ={{ $json.status }} är lika med success.
  6. Ställ in Download Agreement File att använda URL ={{ $('Generate Agreement PDF').item.json.file }} för att hämta den genererade pdf:en.

Tips: Om CraftMyPDF returnerar en status som inte är success kommer Result Success Check att stoppa nedladdningssteget—verifiera mall-ID:n och datafälten först.

Steg 4: Konfigurera utdataåtgärder och parallell bearbetning

Lagra pdf:en i Drive, mejla den till mottagaren och slå samman resultaten för att uppdatera arket.

  1. I Store Agreement File, ställ in Name till ={{ $('Retrieve Staff Records').item.json["FIRST NAME"] }}-{{ $('Retrieve Staff Records').item.json["LAST NAME"] }}.pdf.
  2. Välj mål-Drive och mapp i Store Agreement File, med Folder ID satt till [YOUR_ID].
  3. Autentiseringsuppgifter krävs: Anslut era googleDriveOAuth2Api-uppgifter i Store Agreement File.
  4. Konfigurera Dispatch PDF Email med Send To ={{ $('Retrieve Staff Records').item.json.EMAIL }}, Subject Job offer och det angivna html-meddelandet.
  5. Autentiseringsuppgifter krävs: Anslut era gmailOAuth2-uppgifter i Dispatch PDF Email.
  6. Notera den parallella körningen: Download Agreement File skickar utdata till både Store Agreement File och Dispatch PDF Email parallellt.
  7. Säkerställ att båda grenarna går in i Combine Process Results, som sedan ansluter till Update Sheet Row för att markera raden som behandlad.

⚠️ Vanlig fallgrop: Ersätt alla [YOUR_ID]-platshållare för val av Google Drive-mapp, annars kommer filuppladdningar att misslyckas.

Steg 5: Testa och aktivera ert workflow

Kör workflowet manuellt för att validera hela loopen för pdf-generering och leverans innan ni går live.

  1. Klicka Execute Workflow från Manual Start Trigger för att köra ett test med en liten datamängd.
  2. Bekräfta att Generate Agreement PDF returnerar en giltig fil-URL och att Download Agreement File hämtar pdf-binärdata.
  3. Verifiera att Store Agreement File laddar upp pdf:en till Drive och att Dispatch PDF Email skickar meddelandet utan fel.
  4. Kontrollera arket för att bekräfta att Update Sheet Row sätter DONE till x för behandlade poster.
  5. När ni är nöjda, växla workflowet till Active för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Behörigheter för Google Sheets och Gmail kan löpa ut eller kräva specifika rättigheter. Om det slutar fungera: börja med att kontrollera sidan Credentials i n8n och dina OAuth consent-inställningar i Google Cloud.
  • CraftMyPDF-mall-ID:n och fältnamn måste matcha dina mappade platshållare. Om PDF:er får tomma sektioner: öppna noden Generate Agreement PDF och jämför dina mallvariabler med dina kolumner i arket.
  • Uppladdningar till Google Drive kan misslyckas utan tydligt fel om destinationsmappen har raderats eller om åtkomsten har ändrats. Bekräfta mappvalet i noden Store Agreement File och säkerställ att det kopplade Google-kontot fortfarande har redigeringsbehörighet.

Vanliga frågor

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

Räkna med ungefär en timme om din mall och dina Google-inloggningar är klara.

Behöver jag kodningskunskaper för att automatisera Sheets Gmail PDFs?

Nej. Du mappar kolumner till fält och kopplar konton.

Är n8n gratis att använda för det här Sheets Gmail PDFs-flödet?

Ja. n8n har ett gratis self-hosted-alternativ 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 kostnader för CraftMyPDF-användning samt vanliga Google Workspace-kostnader om du skickar i stor skala.

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änsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Sheets Gmail PDFs-flödet för fakturor i stället för avtal?

Ja, och det handlar mest om mallarbete. Du behåller samma flöde, byter sedan CraftMyPDF template ID i noden Generate Agreement PDF och mappar om fälten så att de matchar dina fakturaplatshållare. Vanliga justeringar är att lägga till rader/line items, ändra Drive-mappsökvägen och redigera Gmail-meddelandet så att tonen passar din fakturering.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast beror det på att OAuth-samtycket har löpt ut eller att ett ändrat Google-lösenord gör token ogiltig. Återanslut Google Sheets-inloggningen i n8n och bekräfta sedan att kontot fortfarande har åtkomst till kalkylarket. Om det bara fallerar vid uppdateringar: kontrollera att bladflikens namn och radidentifierare fortfarande matchar vad noden Update Sheet Row förväntar sig.

Hur många PDF:er kan den här Sheets Gmail PDFs-automatiseringen hantera?

I praktiken kan den hantera batchar i hundratal så länge ditt Google-konto och din CraftMyPDF-plan tillåter det. n8n Cloud-planer har månatliga körningsgränser beroende på nivå, medan self-hosting inte har någon körningsgräns (det beror främst på din server). Gmail har också sändningsgränser, så om du mejlar stora batchar i en körning kan du behöva sprida ut dem över dagen. För många småföretag är 20–100 dokument per batch bekvämt och stabilt. Om du förväntar dig större toppar, lägg till batch-fördröjningar och övervaka misslyckade rader så att omkörningar blir smidiga.

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

Ofta, ja. n8n hanterar looping genom rader, grenar på ”lyckades” och uppdaterar källarket utan att varje extra steg blir ännu en debiterbar uppgift. Det är också enklare att hålla ett enda end-to-end-flöde: skapa PDF, lagra den, mejla den, logga den. Zapier eller Make kan fortfarande fungera bra för väldigt små volymer eller enkla tvåstegsutskick. Om du är osäker, prata med en automationsexpert och rimlighetskontrollera ditt användningsfall.

När det här väl rullar blir kalkylarket systemet: lägg till rader, kör flödet och lita på loggen. Det repetitiva jobbet försvinner i bakgrunden – precis som det borde ha varit från början.

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