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 för provpass-pdf:er direkt

Rickard Andersson Partner, Nodenordic.se

Provträning ska kännas omedelbar. I stället jagar du fejkmejladresser, skickar “välkommen”-meddelanden manuellt och stressar för att bekräfta vem som faktiskt ska släppas in.

Det här drabbar gymägare först, om vi ska vara ärliga. Men en studiochef som sköter receptionen och en marknadsansvarig som försöker mäta konverteringar känner samma smärta. Automatisering med Gmail Sheets PDFs löser röran genom att skicka ett verifierat, varumärkesanpassat provpass på sekunder och logga varje registrering automatiskt.

Nedan ser du exakt vad workflowet gör, vilka resultat det ger och vad du behöver för att köra det stabilt.

Så fungerar den här automatiseringen

Hela n8n-workflowet, från trigger till slutresultat:

n8n Workflow Template: Gmail + Google Sheets för provpass-pdf:er direkt

Problemet: provregistreringar skapar administrativt kaos

Någon fyller i ditt provformulär och förväntar sig ett pass direkt. Det som oftast händer är långsammare och stökigare: mejladressen är engångs, fotolänken är trasig, personalen hittar inte registreringen och personen dyker upp ändå och vill bli insläppt. Sedan slösar du tid på att leta i inkorgar, svara manuellt och försöka pussla ihop vad som hände utifrån halvfärdiga anteckningar. Det handlar inte bara om tid. Det handlar om trovärdighet i receptionen och tappat momentum när en lead med hög intent inte får den där “du är godkänd”-känslan direkt.

Friktionen byggs på. Här är var det fallerar.

  • Du mejlar ut pass ett och ett, vilket gör en snabb registrering till ett dagligt måste.
  • Engångs- eller fejkmejladresser blåser upp dina “leads” och försvinner sedan när du följer upp.
  • Receptionen kan inte verifiera åtkomst snabbt, så incheckningen blir ett stelt fram-och-tillbaka.
  • Spårning av registreringar finns utspritt, så uppföljningar missas och konverteringar blir otydliga.

Lösningen: verifierade provpass som PDF skickas direkt

Det här workflowet startar i samma ögonblick som någon skickar in ett formulär till en webhook. Det kontrollerar mejladressen mot VerifiEmail för att fånga engångsadresser och stoppar antingen med ett tydligt felmeddelande eller fortsätter med en verifierad registrering. För giltiga registreringar skapar det ett unikt pass-ID (formaterat som GYM-{timestamp}), genererar en skanningsbar QR-kod för incheckning och bygger en varumärkesanpassad passlayout som innehåller personens namn, foto och giltighetsdatum. Designen renderas till en strukturerad bild och konverteras till en mobilvänlig PDF. Slutligen skickar Gmail PDF:en som bilaga och Google Sheets loggar registreringen för spårning och uppföljning.

Workflowet börjar med en enkel payload (namn, mejl, foto-URL, startdatum, giltig till). Därefter verifierar det, genererar passtillgångarna, mejlar PDF:en och registrerar transaktionen så att du får en pålitlig källa till sanningen.

Det du får: automatisering vs. resultat

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

Säg att du får 20 provregistreringar på en dag. Manuellt är det lätt att lägga cirka 10 minuter per person på att kontrollera mejlet, skapa något som ser ut som ett pass, bifoga det och kopiera in detaljer i ett kalkylark, alltså ungefär 3 timmar. Med det här workflowet blir personaltiden nära noll efter setup: webhooken triggar direkt, körningen tar cirka 10 sekunder och personen får PDF:en automatiskt. Det är flera timmar tillbaka under stressiga dagar, plus färre “Kan du skicka mitt pass igen?”-meddelanden.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Gmail för att skicka mejlet med PDF-passet.
  • Google Sheets för att logga registreringar och verifieringsstatus.
  • VerifiEmail API-nyckel (hämta den i verifi.email-dashboarden).
  • HTMLCSSToImage-uppgifter (hämta dem från htmlcsstoimg.com).
  • HTMLCSSToPDF-uppgifter (hämta dem från pdfmunk.com).

Kunskapsnivå: Medel. Du kopplar några inloggningar, mappar fält till dina Google Sheet-kolumner och testar en webhook-payload.

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

Så fungerar det

En registrering triggar workflowet. Ditt formulär (eller valfritt verktyg som kan POST:a data) skickar namn, mejl, foto-URL och giltighetsdatum till n8n-webhooken.

Mejlverifiering körs direkt. VerifiEmail kontrollerar äkthet och engångsdomäner. Om den misslyckas returnerar workflowet ett 400-liknande svar så att ditt formulär kan visa ett tydligt “använd en riktig mejladress”-meddelande.

Passet genereras från start till mål. Ett kodsteg skapar ett unikt pass-ID, en HTTP-request genererar QR-koden och ett “set fields”-steg sätter ihop en varumärkesanpassad HTML-layout för passet inklusive användarens foto och datum. Därefter renderar HTMLCSSToImage designen och HTMLCSSToPDF konverterar den till en korrekt formaterad PDF.

Leverans och loggning sker automatiskt. Gmail skickar PDF-bilagan och en välkomstnotis, och sedan lägger Google Sheets till en rad med pass-ID, datum, verifieringsstatus och en enkel “utfärdad”-status.

Du kan enkelt ändra passdesignen och mejltexten så att det matchar ditt varumärke. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Ställ in den inkommande förfrågan som startar arbetsflödet och routar svaret via webhook reply-noder.

  1. Lägg till och öppna Incoming Webhook Trigger.
  2. Ställ in Path till gym-trial.
  3. Ställ in HTTP Method till POST.
  4. Ställ in Response Mode till responseNode så att svaren kommer från Return Success Reply eller Return Error Reply.
  5. Notera den genererade webhook-URL:en och använd den i er frontend eller vid formulärinlämning.

Steg 2: Anslut Google Sheets

Konfigurera arket där verifierade provpass registreras.

  1. Öppna Append Sheet Record.
  2. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter.
  3. Ställ in Operation till appendOrUpdate.
  4. Ställ in Document ID till YOUR_GOOGLE_SHEET_ID och Sheet Name till YOUR_GOOGLE_SHEET_NAME.
  5. Bekräfta att kolumnmappningarna använder de angivna uttrycken, till exempel Name{{ $('Incoming Webhook Trigger').item.json.body.name }} och Pass ID{{ $('Create Pass Info').item.json.pass_id }}.
  6. Låt Matching Columns vara satt till Pass ID så att uppdateringar baseras på det unika passet.

Steg 3: Ställ in e-postverifiering och dataförberedelse

Det här avsnittet validerar e-postadressen, kontrollerar resultatet och bygger all passmetadata som används längre fram i flödet.

  1. Öppna Validate Email Address och sätt Email till {{ $json.body.email }}.
  2. Inloggningsuppgifter krävs: Anslut era verifiEmailApi-inloggningsuppgifter.
  3. Öppna Email Validity Check och bekräfta att boolean-villkoret använder {{ $json.valid }} med operatorn satt till true.
  4. Öppna Create Pass Info och behåll JS Code som angivet, vilket hämtar webhook-data från Incoming Webhook Trigger och genererar pass_id samt formaterade datum.
  5. Verifiera att körordningen följer Incoming Webhook TriggerValidate Email AddressEmail Validity CheckCreate Pass Info.
⚠️ Vanlig fallgrop: Koden i Create Pass Info förväntar sig att webhook-body innehåller name, email, photo_url, start_date och valid_till. Saknade fält leder till tomma passuppgifter.

Steg 4: Bygg passresurser (QR, HTML, bild, PDF)

Dessa noder genererar QR-koden, sätter ihop passets HTML, renderar en bild, konverterar den till PDF och hämtar den slutliga PDF-resursen.

  1. Öppna QR Code Request och sätt URL till https://api.qrserver.com/v1/create-qr-code/?data={{ $json.pass_id }}&size=200x200.
  2. Öppna Assemble Pass HTML och sätt html_content till den fullständiga HTML-mallen som börjar med och innehåller uttryck som {{ $('Incoming Webhook Trigger').item.json.body.photo_url }}, {{ $json.pass_id }} och {{ $json.issued_at }}.
  3. Öppna Render HTML Image och sätt html_content till {{ $json.html_content }}.
  4. Inloggningsuppgifter krävs: Anslut era htmlcsstoimgApi-inloggningsuppgifter.
  5. Öppna Convert HTML to PDF och sätt html_content till {{ $('Assemble Pass HTML').item.json.html_content }}.
  6. Inloggningsuppgifter krävs: Anslut era htmlcsstopdfApi-inloggningsuppgifter.
  7. Öppna Fetch PDF Asset och sätt URL till {{ $json.pdf_url }}.
Tips: Noden Unnamed är för närvarande inte ansluten i körvägen. Ni kan ta bort den eller återanvända den för framtida felsökning eller transformationer.

Steg 5: Konfigurera e-postutskick och webhook-svar

Skicka det verifierade passet till användaren och returnera en payload för lyckat resultat till webhook-anroparen.

  1. Öppna Dispatch Pass Email och sätt Send To till {{ $('Incoming Webhook Trigger').item.json.body.email }}.
  2. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter.
  3. Ställ in Subject till Your Verified Gym Trial Pass - Welcome! 🏋️‍♀️.
  4. Ställ in Message till den angivna HTML-texten, som innehåller uttryck som {{ $('Create Pass Info').item.json.pass_id }}.
  5. Öppna Return Success Reply och bekräfta att Response Body använder JSON-uttrycket med fält som {{ $json['Pass ID'] }} och {{ $json['Issued At'] }}.
⚠️ Vanlig fallgrop: Om ni vill att PDF:en ska bifogas, mappa binärutdata från Fetch PDF Asset till bilagekonfigurationen i Dispatch Pass Email.

Steg 6: Lägg till felhantering

Arbetsflödet använder villkorsstyrd routning för att returnera ett felsvar när e-postadressen är ogiltig.

  1. I Email Validity Check, säkerställ att false-vägen kopplas till Return Error Reply.
  2. Öppna Return Error Reply och bekräfta att Response Code är satt till 400.
  3. Verifiera att Response Body innehåller JSON-felpayloaden med {{ $json.email }} inbäddat.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att verifiera webhooken, e-postvalideringen, passgenereringen, loggningen i arket och webhook-svaret.

  1. Klicka på Execute Workflow och skicka en POST-förfrågan till URL:en för Incoming Webhook Trigger med en body som innehåller name, email, photo_url, start_date och valid_till.
  2. Bekräfta att körvägen når Dispatch Pass Email, Append Sheet Record och Return Success Reply.
  3. Kontrollera att e-postmeddelandet kommer fram och att raden i Google Sheet läggs till eller uppdateras.
  4. Verifiera att webhook-svarets JSON visar "status": "success" och innehåller passuppgifterna.
  5. När allt fungerar, växla arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Gmail OAuth-uppgifter kan löpa ut eller sakna rätt scopes. Om leveransen plötsligt stoppar, kontrollera först statusen för dina n8n-uppgifter och behörigheterna i det anslutna Google-kontot.
  • Om du använder externa renderingstjänster (HTMLCSSToImage eller HTMLCSSToPDF) varierar processtiderna. Öka eventuell wait/retry-hantering om steget “fetch PDF asset” ibland hämtar en tom fil.
  • VerifiEmail kan vara strikt, vilket är hela poängen. Om du ser att giltiga kunder blockeras, granska svarspayloads och justera din hantering av “ogiltig mejl” innan du mjukar upp reglerna.

Vanliga frågor

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

Räkna med cirka en timme om du redan har API-nycklarna redo.

Behöver jag kodkunskaper för att automatisera provpass som PDF?

Nej. Du kopplar främst konton och klistrar in API-nycklar. Den enda “tekniska” delen är att testa en webhook med en exempel-payload.

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

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 volymer. Du behöver också räkna in VerifiEmail samt API-användning för HTML-till-bild/PDF, vilket oftast är en liten kostnad per request.

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

Två alternativ: n8n Cloud (hanterat, enklast setup) 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 serverhantering.

Kan jag anpassa det här Gmail Sheets PDFs-workflowet till en annan passdesign?

Ja, och det är en av de bästa delarna. Uppdatera HTML:en i steget “Assemble Pass HTML” för att ändra färger, layout, logoplacering och vilka fält du visar. Om du vill ha en annan QR-stil byter du endpoint eller parametrar i QR Code Request. Du kan också skriva om meddelandet i “Dispatch Pass Email” så att det matchar din ton och dina onboardingsteg.

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

Oftast handlar det om att OAuth-medgivandet har löpt ut eller att Gmail API-behörigheter saknas i det anslutna Google-projektet. Anslut Gmail-uppgifterna igen i n8n, bekräfta att Gmail API är aktiverat i Google Cloud och dubbelkolla att du skickar från samma konto som du autentiserade med. Om det fungerar för några utskick och sedan slutar kan även rate limits eller kontots säkerhetsflaggor vara orsaken.

Hur många pass klarar den här Gmail Sheets PDFs-automatiseringen?

Workflowet är byggt för minst 100 pass per timme, och de flesta gym kommer inte ens i närheten av det.

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

Ofta, ja, eftersom det här inte är en enkel “skicka ett mejl”-zap. Du gör verifiering, genererar en QR-kod, renderar HTML, konverterar till PDF och loggar samt svarar tillbaka till formuläret. n8n hanterar den typen av förgreningar och flersteglogik på ett tydligt sätt, och med self-hosting betalar du inte per liten åtgärd hela dagen. Zapier eller Make kan fortfarande fungera, men PDF-generering och avancerad felhantering tenderar att bli dyrt eller krångligt. Om du vill, prata med en automatiseringsexpert så kvalitetssäkrar vi vilken väg som passar din volym och budget.

När det här är live slutar provpass att vara en uppgift och blir ett system. Teamet får färre avbrott och nya medlemmar får den där omedelbara “du är inne”-upplevelsen.

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