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 + Gmail: QR-brickor skickas auto

Rickard Andersson Partner, Nodenordic.se

Incheckningen på event fallerar av tråkiga skäl. Ett felstavat namn, fel e-post, en badge som inte genererades – och plötsligt gör du ”support” vid registreringsdisken i stället för att driva eventet.

Eventmarknadsförare märker det när hundratals anmälningar rullar in samtidigt. Ops-koordinatorer får jaga omtryck. Och en småföretagare som håller workshops fastnar i samma röra med QR-badge-automatisering, bara i mindre skala.

Det här workflowet tar en registreringsinlämning, genererar en varumärkesanpassad QR-badge som bild, loggar detaljerna i Google Sheets och mejlar badgen via Gmail. Du får veta vad som automatiseras, vad du behöver och hur du får det att fungera stabilt.

Så här fungerar automatiseringen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: Google Sheets + Gmail: QR-brickor skickas auto

Varför det här spelar roll: flaskhalsar i badge-skapandet vid incheckning

Manuell badge-skapande ser harmlöst ut – tills den dagen det inte är det. Anmälningar kommer in från ett formulär, ett kalkylark, en kollegas inkorg och ibland en sista-minuten-lista som någon sms:ar dig. Sedan kopierar du namn, försöker hålla deltagar-ID:n unika, genererar QR-koder i ett separat verktyg, exporterar bilder och mejlar dem en och en. Det är långsamt en lugn dag och kaotiskt precis innan dörrarna öppnar. Ännu värre: felen syns inte förrän någon dyker upp och inte kan skanna in – vilket är det sämsta möjliga tillfället att upptäcka att du loggat fel e-post eller bifogat fel badge.

Friktionen byggs på. Här är var det brukar skapa fel.

  • Varje manuell omskrivning av namn, roll och e-post bjuder in till stavfel som blir omtryck.
  • QR-koder dupliceras när du genererar ”bara en till” badge under press.
  • Det finns ingen strukturerad revisionslogg, så du kan inte svara på enkla frågor som ”Vem har redan fått en badge?”
  • När badge-generatorn fallerar får du oftast veta det först när deltagare börjar vidarebefordra mejl som ”Jag fick inget”.

Vad du bygger: ett Google Sheets + Gmail-system för QR-badges

Den här automatiseringen startar i samma ögonblick som en registrering når din webhook (en POST-request från ditt formulär, din landningssida eller ditt registreringsverktyg). n8n validerar och sanerar deltagardetaljerna så att du inte genererar badges för tomma namn, felaktigt formaterade e-postadresser eller konstiga tecken som sabbar layouter. Därefter skapar den en unik QR-kod och sätter ihop en skanningsbar deltagarlänk/ett deltagar-ID, renderar sedan en varumärkesanpassad HTML-badge och konverterar den till en högkvalitativ PNG (400x680px) via HTMLCSStoImage API. Om badge-resultatet ser korrekt ut loggar workflowet deltagarposten i Google Sheets och skickar ett personligt mejl via Gmail med badgen bifogad (eller länkad). Om något går fel larmar den administratören i stället för att fallera i tystnad.

Workflowet börjar med felfri indata, gör om den till en QR-badge-bild och avslutas med två ”bevispunkter”: en rad i Google Sheets och ett levererat Gmail-mejl. Det gör omtryck enkla, och du vet alltid vad som hände.

Vad du bygger

Förväntade resultat

Säg att du har 200 deltagare på en endagskonferens. Manuellt kan även ett ”snabbt” flöde (generera QR, bygga badge, exportera bild, mejla) ta cirka 5 minuter per person – alltså ungefär 16 timmar repetitivt arbete. Med det här workflowet ligger behandlingen i snitt på 5–8 sekunder per badge, och din enda manuella tid är att sätta upp det en gång och ibland hantera edge cases. I praktiken innebär det oftast att du får tillbaka en hel dag före eventet, plus färre överraskningar vid incheckningen samma dag.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att logga deltagare och badge-URL:er
  • Gmail för att mejla badges och fel-larm
  • HTMLCSStoImage API-nyckel (hämta den i din HTMLCSStoImage-dashboard)

Svårighetsgrad: Nybörjare. Du kopierar ett Sheet-ID, kopplar OAuth-uppgifter och testar en exempelinsändning till webhooken.

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

Steg för steg

En registrering triggar workflowet. Ditt formulär (eller valfritt system som kan skicka en POST-request) anropar n8n-webhooken med fält som namn, e-post, event och roll.

Deltagardatan rensas upp. Ett valideringssteg kontrollerar e-postformat, tar bort problematiska tecken och säkerställer att obligatoriska fält finns så att badge-layouten inte skapar fel mitt i renderingen.

En QR-badge genereras automatiskt. n8n skapar en QR-kod via HTTP, sätter ihop QR-länken/deltagar-ID:t, renderar sedan en HTML-badge-mall och konverterar den till en 400×680 PNG med HTMLCSStoImage.

Allt loggas och levereras. Om badge-resultatet går igenom en enkel kontroll lägger n8n till en rad i Google Sheets (inklusive badge-URL och tidsstämpel), hämtar badge-bilden och skickar ett personligt Gmail-mejl med badgen. Om kontrollen misslyckas får administratören ett larmmejl i stället.

Du kan enkelt ändra badge-HTML/CSS så att det matchar din profil, eller byta mejltexten för att passa olika typer av event. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Sätt upp den inkommande webhooken som tar emot nya deltagaruppgifter.

  1. Lägg till noden Incoming Webhook Trigger i ert workflow.
  2. Ställ in Pathnew-attendee.
  3. Ställ in HTTP MethodPOST.
  4. Kopiera webhook-URL:en och planera att skicka deltagar-JSON till den.

⚠️ Vanlig fallgrop: Workflowet förväntar sig deltagardata i body (t.ex. {"name":"Jane Doe","email":"[email protected]","event":"TechCon 2025","role":"Attendee"}).

Steg 2: Sätt upp validering och QR-förberedelser

Validera deltagardata, skapa ett unikt deltagar-ID och förbered QR-kodsresurserna.

  1. Öppna Validate Attendee Details och bekräfta att JavaScript-koden validerar name och email, sätter standardvärden för event och role, samt returnerar attendeeId, initials och eventDate.
  2. I Create QR Code Image, ställ in URLhttps://api.qrserver.com/v1/create-qr-code/.
  3. Aktivera Send Query och ställ in query-parametrar: size till 300x300 och data till ={{ $json.attendeeId }}.
  4. Bekräfta att Assemble QR Link bygger qrCodeUrl och returnerar deltagaruppgifter plus QR-URL:en för rendering.

Tips: Håll deltagar-ID:t stabilt – om ni ändrar formatet blir tidigare QR-koder ogiltiga.

Steg 3: Rendera badge-layouten

Konvertera HTML/CSS-mallen för badge till en bild.

  1. Lägg till noden Render Badge Layout och klistra in HTML:en i HTML Content.
  2. Säkerställ att mallen använder dynamiska platshållare som {{ $json.initials }}, {{ $json.event }}, {{ $json.eventDate }}, {{ $json.name }}, {{ $json.role }}, {{ $json.qrCodeUrl }} och {{ $json.attendeeId }}.
  3. Inloggning krävs: Koppla era htmlcsstoimgApi-uppgifter i Render Badge Layout.
  4. Verifiera kopplingsflödet: Assemble QR LinkRender Badge LayoutCheck Badge Output.

⚠️ Vanlig fallgrop: Om HTML:en är felaktig kommer Check Badge Output att misslyckas med testet isNotEmpty för {{ $json.image_url }}.

Steg 4: Logga och hämta badge-bilden

Skriv badge-detaljerna till Google Sheets och hämta den renderade badge-bildfilen.

  1. I Append Sheet Log, ställ in Operationappend.
  2. Välj ert kalkylarks Document ID och Sheet Name (t.ex. Event Badge TrackerBadgesLog).
  3. Mappa kolumner med hjälp av de angivna uttrycken, inklusive Name ={{ $('Assemble QR Link').item.json.name }}, Email ={{ $('Assemble QR Link').item.json.email }}, Event ={{ $('Assemble QR Link').item.json.event }}, Role ={{ $('Assemble QR Link').item.json.role }}, Badge URL ={{ $json.image_url }} och Attendee ID ={{ $('Assemble QR Link').item.json.attendeeId }}.
  4. Inloggning krävs: Koppla era googleSheetsOAuth2Api-uppgifter i Append Sheet Log.
  5. I Fetch Badge Image, ställ in URL={{ $json['Badge URL'] }} och bekräfta att svaret lagras som en fil i badge.

Steg 5: Konfigurera e-postutskick och felaviseringar

Skicka badge-mejlet till deltagaren och meddela er om renderingen misslyckas.

  1. I Dispatch Badge Email, ställ in Send To={{ $json.Email }} och Subject=Your Event Badge for {{ $json.Event }} 🎫.
  2. Klistra in HTML:en i Message och verifiera platshållare som {{ $json.Name }}, {{ $json.Role }} och {{ $json['Badge URL'] }}.
  3. Bifoga badge-filen genom att ställa in Attachments att använda den binära egenskapen badge.
  4. Inloggning krävs: Koppla era gmailOAuth2-uppgifter i Dispatch Badge Email.
  5. I Send Failure Alert, ställ in Send To[YOUR_EMAIL] och behåll aviseringstexten som refererar till fälten {{ $('Validate Attendee Details').item.json.* }}.
  6. Inloggning krävs: Koppla era gmailOAuth2-uppgifter i Send Failure Alert.

Tips: Noden Check Badge Output skickar lyckade resultat till Append Sheet Log och fel till Send Failure Alert, så behåll villkoret inställt på isNotEmpty för ={{ $json.image_url }}.

Steg 6: Testa och aktivera ert workflow

Verifiera hela flödet från start till mål innan ni slår på det i produktion.

  1. Klicka på Execute Workflow och skicka en POST-förfrågan till Incoming Webhook Trigger-URL:en med exempel-JSON för deltagare.
  2. Bekräfta att en URL till badge-bilden skapas i Render Badge Layout och klarar villkoret i Check Badge Output.
  3. Verifiera att en ny rad visas i ert Google Sheet från Append Sheet Log och innehåller Badge URL.
  4. Kontrollera mottagarens inkorg för mejlet som skickats av Dispatch Badge Email med badge-bilagan.
  5. När allt fungerar, växla workflowet till Active för att aktivera användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • Google Sheets-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först vilket Google-konto som är kopplat i n8n-menyn Credentials och bekräfta sedan att Sheet-ID:t är korrekt.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • Gmail OAuth kan misslyckas om kontot blockerar ovanlig inloggningsaktivitet eller om du nyligen bytt lösenord. Återanslut Gmail-uppgiften i n8n och verifiera att den fortfarande har behörighet att ”skicka e-post”.

Snabba svar

Hur lång tid tar det att sätta upp den här QR-badge-automatiseringen?

Cirka 30 minuter om dina Google- och Gmail-konton är redo.

Krävs kodning för den här QR-badge-automatiseringen?

Nej. Du kopplar mestadels konton och klistrar in ditt Google Sheet-ID. Det inbyggda valideringssteget ingår redan.

Är n8n gratis att använda för det här workflowet för QR-badge-automatisering?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna in användningen av HTMLCSStoImage API, eftersom badge-renderingar debiteras av den leverantören.

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

Kan jag anpassa det här workflowet för QR-badge-automatisering för olika use cases?

Ja, och det är det bästa. Du kan ändra badge-utseendet genom att redigera HTML/CSS som används i steget Render Badge Layout, och du kan justera skanningsbeteendet genom att ändra det som byggs i Assemble QR Link. Vanliga justeringar är rollbaserade designer (VIP vs. deltagare), olika badge-storlekar och att lägga till extra fält som företagsnamn eller bordsnummer.

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

Oftast är det behörigheter eller fel kalkylarks-ID. Återanslut din Google Sheets OAuth-uppgift i n8n och bekräfta sedan att Google-kontot har redigeringsbehörighet till målarket. Dubbelkolla också att dina kolumnrubriker finns (Namn, E-post, Event, Roll, Deltagar-ID, Badge-URL, Tidsstämpel), eftersom saknade kolumner kan göra att append misslyckas.

Vilken volym kan det här workflowet för QR-badge-automatisering hantera?

Betydligt mer än de flesta event behöver. Workflowet ligger i snitt på 5–8 sekunder per badge, så även 500 registreringar kan bli klara på under en timme om de kommer in som en batch, och anmälningar i realtid känns i princip omedelbara. De praktiska begränsningarna är oftast API-rate limits (HTMLCSStoImage) och din n8n-plan eller serverresurser. Om du self-hostar finns ingen körningsgräns, men du vill ändå övervaka CPU och minne vid stora toppar.

Är den här QR-badge-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. Det här flödet kräver villkorslogik (kontrollen av badge-resultatet), flera HTTP-steg och en pålitlig felväg som larmar en admin – vilket är enklare att styra i n8n. n8n ger dig också möjligheten att self-hosta när volymen toppar före ett event, så att du inte behöver oroa dig för task-gränser. Zapier eller Make kan fungera bra för enkla ”lägg till rad och skicka mejl”, men bildrendering plus validering blir snabbt pilligt. Vill du ha en second opinion om vilken plattform som passar ditt eventflöde, prata med en automationsexpert.

När det här är live slutar badges vara ett stressigt förprojekt och blir en bakgrundsprocess du kan lita på. Du får mer felfri data, snabbare omtryck och en lugnare registreringsdisk.

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