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

Gmail + Google Sheets: skicka och logga intyg

Rickard Andersson Partner, Nodenordic.se

Certifikatsförfrågningar ser alltid enkla ut tills de landar i inkorgen. Fel mejladresser. Saknade namn. Sista minuten-meddelanden om “kan du skicka igen?”. Och plötsligt sitter du och kopierar in detaljer i ett kalkylark klockan 21.

Den här Gmail Sheets-automationen träffar kurskreatörer först, men utbildningsansvariga och slimmade ops-team känner också av den. Du skickar felfria, varumärkesanpassade certifikat automatiskt och behåller en sökbar logg över varje utfärdande utan extra adminarbete.

Nedan ser du hur arbetsflödet validerar mejladresser, genererar en certifikatbild, mejlar den via Gmail och sedan loggar hela händelsen i Google Sheets (med Slack-varningar om något går snett).

Så här fungerar automatiseringen

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

n8n Workflow Template: Gmail + Google Sheets: skicka och logga intyg

Problemet: certifikatutskick blir till konstant omarbete

Manuell certifikatutskick är den typen av uppgift som ser “snabb” ut tills du gör den i skala. Du hämtar ett namn från ett system, kursnamnet från ett annat och försöker få mejlet att se professionellt ut varje gång. Ett stavfel och du får utfärda certifikatet på nytt. En ogiltig mejladress och du slösar tid på att skicka något som aldrig kommer fram. Sedan frågar någon: “Kan du bekräfta mitt certifikat-ID?” och du inser att du saknar en konsekvent revisionsspårning – bara en rörig tråd i inkorgen.

Det blir snabbt mycket. Här brukar friktionen dyka upp:

  • Du behöver skicka om certifikat eftersom mejladresser har skrivits fel eller engångsadresser slunkit igenom.
  • Varumärkeskonsekvensen spricker när du redigerar mallar under tidspress.
  • Det finns ingen samlad plats för att verifiera vad som skickats, till vem och när.
  • Fel upptäcks sent, vilket leder till onödigt fram-och-tillbaka med studenter eller anställda.

Lösningen: validera, generera, mejla och logga certifikat automatiskt

Det här arbetsflödet gör certifikathantering till en enkel pipeline: förfrågan → verifierad leverans. Det startar när din LMS, CRM eller ett enkelt formulär skickar en webhook-förfrågan med mottagarens namn, kurs, datum för slutförande och mejladress. Innan något genereras kontrolleras mejladressen med VerifiEmail, som fångar upp tydliga problem (felaktig formatering), djupare leveransproblem (saknade MX-poster) och sådant som skapar problem senare (engångs- eller misstänkta adresser). Om valideringen godkänns bygger arbetsflödet ett varumärkesanpassat HTML-certifikat, renderar det till en högkvalitativ PNG-bild och mejlar det via Gmail med en konsekvent mall. Till sist skrivs varje utfärdande in i Google Sheets så att du får ett levande revisionsspår – inte en hög av gissningar.

Arbetsflödet börjar med en webhook för certifikatsförfrågan. Sedan validerar det och sammanfogar förfrågningsdata till en färdig certifikatdesign, konverterar designen till en delbar bild och skickar certifikatmejlet. Efter leverans loggar det hela posten i Google Sheets och kan notifiera Slack om fel uppstår.

Det du får: automation vs. resultat

Exempel: så här kan det se ut

Säg att du utfärdar 50 certifikat i veckan. Manuellt tar även en “snabb” process runt 6 minuter per certifikat (kopiera detaljer, formatera ett mejl, bifoga eller länka en fil och sedan uppdatera ett kalkylark), vilket blir cirka 5 timmar i veckan. Med det här arbetsflödet triggar du det från din LMS på några sekunder, sedan sköter n8n validering, bildrendering, mejl och Google Sheets-loggning på cirka 5–10 sekunder per certifikat. Du behåller samma kvalitet på resultatet, men administrationstiden försvinner i praktiken.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Gmail för att skicka varumärkesanpassade certifikatmejl
  • Google Sheets för att logga varje utfärdat certifikat
  • VerifiEmail API-nyckel (hämta den i VerifiEmail-dashboarden)
  • HTMLcsstoImg användar-ID + API-nyckel (hämta dem i HTMLcsstoImg-dashboarden)
  • Slack för valfria felvarningar till teamet
  • OpenAI (valfritt) om du vill ha AI-stödda textvariationer

Svårighetsgrad: Medel. Du kopplar OAuth-inloggningar, lägger in API-nycklar och klistrar in din webhook-URL i systemet som skickar slutförandehändelser.

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

Så fungerar det

En slutförandehändelse triggar arbetsflödet. Din LMS, CRM eller ditt formulär skickar en POST-förfrågan till webhooken “Incoming Certificate Hook” med fält som namn, kurs, datum och mejladress.

Mejlvalidering körs före allt annat. VerifiEmail kontrollerar formatering, domänposter samt mönster för engångs- eller misstänkta adresser. Om förfrågan inte godkänns stoppar arbetsflödet snyggt och kan rapportera problemet.

Certifikatet sätts ihop och renderas. n8n sammanfogar förfrågningsdata, genererar certifikat-HTML (inklusive ett unikt certifikat-ID) och skickar sedan HTML:en till HTMLcsstoImg för att rendera en 1200×850 PNG som du kan dela eller ladda ner.

Utskick och spårbarhet sker automatiskt. Gmail skickar certifikatmejlet med en konsekvent mall, och Google Sheets loggar certifikat-ID, mottagaruppgifter, tidsstämpel, URL och status. Om ett arbetsflödesfel inträffar kan en feltrigger posta en Slack-varning.

Du kan enkelt ändra certifikatdesignen och mejltexten så att det matchar din tonalitet. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera webhook-triggern

Konfigurera den inkommande webhooken som tar emot certifikatförfrågningar och matar arbetsflödet.

  1. Lägg till noden Incoming Certificate Hook och ställ in HTTP MethodPOST.
  2. Ställ in Pathcertificate-generator.
  3. Ställ in Response ModelastNode så att webhooken svarar med den slutliga outputen.
  4. Bekräfta att inkommande JSON-body innehåller fälten name, course, date och email.

Tips: Använd test-URL:en för Incoming Certificate Hook för att skicka en exempellast innan ni aktiverar arbetsflödet.

Steg 2: Anslut VerifiEmail och validera indata

Validera mottagarens e-postadress och säkerställ att obligatoriska fält finns innan certifikatet genereras.

  1. Lägg till Validate Email Address och ställ in Email till ={{ $json.body.email }}.
  2. Autentisering krävs: Anslut era verifiEmailApi-uppgifter till Validate Email Address.
  3. Konfigurera Validation Branch med följande villkor (kombinator and): ={{ $('Incoming Certificate Hook').item.json.body.name }} är inte tomt, ={{ $('Incoming Certificate Hook').item.json.body.course }} är inte tomt, ={{ $('Incoming Certificate Hook').item.json.body.date }} är inte tomt och ={{ $json.valid }} är true.
  4. Koppla true-output från Validation Branch till Merge Request Data, och false-output till Abort with Error.
  5. Ställ in Abort with Error Error Message till ="Missing required fields: name, course, date, or valid email".

⚠️ Vanlig fallgrop: Om er webhook-payload använder andra fältnamn, uppdatera uttrycken i Validation Branch och Validate Email Address så att de matchar.

Steg 3: Sätt upp databehandling och rendering för certifikat

Slå ihop förfrågningsdata, bygg HTML-certifikatet och rendera det till en bild för e-postleverans.

  1. I Merge Request Data behåll den medföljande JavaScript-koden för att slå ihop webhook-data med resultaten från e-postvalideringen. Den här noden hämtar från Incoming Certificate Hook och använder standardvärden som Program Director för instruktör.
  2. I Build Certificate HTML behåll JavaScript-mallen som genererar ett komplett HTML-certifikat och formaterar datumet.
  3. Lägg till Render HTML to Image och ställ in HTML Content till ={{ $json.html }}.
  4. Autentisering krävs: Anslut era htmlcsstoimgApi-uppgifter till Render HTML to Image.

Steg 4: Konfigurera e-postleverans och loggning

Skicka certifikatmejlet och logga leveransdetaljerna i Google Sheets.

  1. I Dispatch Certificate Email ställ in Send To till ={{ $('Merge Request Data').item.json.email }}.
  2. Ställ in Subject till 🎓 Congratulations! Your Certificate of Completion och behåll HTML-e-postmallen i Message (den använder uttryck som {{ $('Build Certificate HTML').item.json.name }} och {{ $json.image_url }}).
  3. Autentisering krävs: Anslut era gmailOAuth2-uppgifter till Dispatch Certificate Email.
  4. I Record to Sheets ställ in Operation till appendOrUpdate och mappa kolumnerna exakt som konfigurerat, inklusive Email ={{ $('Build Certificate HTML').item.json.email }}, Certificate URL ={{ $('Render HTML to Image').item.json.image_url }} och Generated At ={{ $now.toISO() }}.
  5. Autentisering krävs: Anslut era googleSheetsOAuth2Api-uppgifter till Record to Sheets.

Tips: Ställ in dokument och ark för Record to Sheets till ert målark (t.ex. ”Certificates Log” > ”Sheet1”).

Steg 5: Lägg till felhantering och aviseringar

Fånga upp arbetsflödesfel och skicka aviseringar för övervakning.

  1. Säkerställ att Workflow Error Trigger är kopplad till Assemble Error Report för att formatera detaljerad felinformation.
  2. Behåll JavaScript-koden i Assemble Error Report för att inkludera felmeddelande, nodnamn, exekverings-ID och användardetaljer.
  3. Konfigurera Post Slack Alert med den medföljande meddelandemallen som använder uttryck som {{ $json.errorMessage }} och {{ $json.workflowName }}.
  4. Autentisering krävs: Anslut era Slack-uppgifter i Post Slack Alert (den här noden har för närvarande inga autentiseringsuppgifter konfigurerade).
  5. Aktivera Post Slack Alert om ni vill att aviseringar ska skickas (noden är inaktiverad som standard).

⚠️ Vanlig fallgrop: Om Post Slack Alert lämnas inaktiverad förhindras felnotiser även om feltriggern körs.

Steg 6: Testa och aktivera ert arbetsflöde

Verifiera end-to-end-körning innan ni slår på arbetsflödet.

  1. Klicka på Execute Workflow och skicka en POST-förfrågan till test-URL:en för Incoming Certificate Hook med giltiga JSON-data.
  2. Bekräfta att flödet körs från Validate Email AddressValidation BranchMerge Request DataBuild Certificate HTMLRender HTML to ImageDispatch Certificate EmailRecord to Sheets.
  3. Kontrollera att mottagaren får mejlet med en giltig nedladdningslänk för image_url och att en ny rad visas i Google Sheet.
  4. Trigga ett fel (t.ex. utelämna email) för att verifiera Abort with Error och fel-flödet som använder Workflow Error Trigger och Post Slack Alert.
  5. Växla arbetsflödet till Active när testerna passerar för produktionsbruk.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först n8n-skärmen för Credentials och delningsinställningarna för kalkylarket.
  • Om du använder Wait-noder eller extern rendering varierar behandlingstiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkeston tidigt, annars kommer du att redigera utdata för alltid.

Vanliga frågor

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

Cirka 45 minuter om du redan har kontona.

Behöver jag kunna koda för att automatisera utskick och loggning av certifikat?

Nej. Du kopplar inloggningar, klistrar in API-nycklar och justerar några textfält. “Kod”-stegen är redan inbyggda i arbetsflödet.

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

Ja. n8n har ett gratis alternativ för egen hosting 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 API-användning för VerifiEmail och HTMLcsstoImg, vilket beror på hur många certifikat du skickar.

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 hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Gmail Sheets-automationsflödet för PDF-certifikat istället för PNG?

Ja, men då byter du renderingssteget. Ersätt noden “Render HTML to Image (HTMLcsstoImg)” med en nod för en PDF-generator-tjänst och uppdatera sedan Gmail-mejlets brödtext så att den innehåller en PDF-länk eller bilaga. Vanliga justeringar är att ändra certifikatlayouten, lägga in din logotyp och justera formatet för certifikat-ID i kodnoden “Build Certificate HTML”.

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

Oftast beror det på utgånget eller återkallat OAuth-samtycke. Återanslut Gmail OAuth2-inloggningen i n8n och kör sedan ett test för att bekräfta att den kan skicka mejl. Kontrollera också Gmails sändningsgränser om du utfärdar många certifikat under en kort period, och bekräfta att arbetsflödet använder rätt avsändarkonto.

Hur många certifikat klarar den här Gmail Sheets-automationen?

I praktiken hundratals per dag för många team, så länge dina API-kvoter och Gmails sändningsgränser hänger med.

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

Det beror på hur strikt du vill att validering och loggning ska vara. Zapier och Make kan trigga på en webhook och skicka ett mejl, absolut, men det här arbetsflödet inkluderar djupare mejlverifiering, flexibel förgrening och kodbaserad certifikatgenerering utan att du betalar extra för varje väg. n8n ger dig också alternativet att köra självhostat, vilket är en stor grej om du skickar certifikat i toppar och inte vill oroa dig för task-prissättning. Ärligt talat: så fort du lägger till bildrendering, revisionsloggning och felvarningar brukar n8n kännas mindre begränsande. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.

När detta väl rullar går certifikaten ut på sekunder och din logg håller sig felfri. Du slutar jaga omskick och börjar lita på din process.

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