Onboardingmejl faller isär i den stökiga mitten. Någon uppdaterar ett Google Sheet sent, ett mejl går iväg med fel mall (eller går inte iväg alls), och du märker det först när en nyanställd svarar, förvirrad.
People Ops känner av trycket först. Men HR-generalister och onboardingfokuserade Customer Success-team hanterar samma kalkylark-och-inkorgs-kaos. Den här Sheets–Gmail-automationen för onboarding håller varje steg konsekvent och gör ”skickade vi det där?” till en fråga du aldrig behöver ställa.
Det här arbetsflödet läser din onboardingstatus från Google Sheets, väljer rätt meddelande, skickar det från Gmail och uppdaterar sedan arket så att framsteg alltid är synliga. Du får se hur logiken fungerar, vad du behöver och var team oftast går bet.
Så här fungerar automationen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Gmail: onboardingmejl som blir rätt
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate message table"]
n2@{ icon: "mdi:database", form: "rounded", label: "Read MSG status Rows", pos: "b", h: 48 }
n3@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If completed4", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Read Messages", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Update row to completed", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Do some action", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Check if action done", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Create next step", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Send msg to user", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Send msg to admin", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "Send msg to user1", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set variables", pos: "b", h: 48 }
n19@{ icon: "mdi:cog", form: "rounded", label: "Send msg to admin1", pos: "b", h: 48 }
n20@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n21@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch1", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch type of step", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-vertical", form: "rounded", label: "Debug mode set result", pos: "b", h: 48 }
n24@{ icon: "mdi:database", form: "rounded", label: "Update row to passed", pos: "b", h: 48 }
n20 --> n9
n21 --> n10
n4 --> n16
n4 --> n19
n7 --> n1
n17 --> n22
n9 --> n14
n3 --> n7
n14 --> n8
n14 --> n15
n16 --> n24
n22 --> n20
n22 --> n21
n10 --> n23
n2 --> n17
n24 --> n11
n23 --> n4
n1 --> n2
n0 --> n7
end
subgraph sg1["Registration Flow"]
direction LR
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Form"]
n6@{ icon: "mdi:database", form: "rounded", label: "Save registration Data", pos: "b", h: 48 }
n25["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Registration"]
n25 --> n6
n6 --> n5
end
subgraph sg2["Send message Flow"]
direction LR
n12@{ icon: "mdi:play-circle", form: "rounded", label: "Send message", pos: "b", h: 48 }
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail2", pos: "b", h: 48 }
n18["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Code"]
n18 --> n13
n12 --> n18
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0,n3,n25,n12 trigger
class n4,n20,n21,n22 decision
class n2,n7,n8,n11,n24,n6 database
class n1,n18 code
class n3 disabled
classDef customIcon fill:none,stroke:none
class n1,n5,n25,n18 customIcon
Utmaningen: onboardingmejl som faller mellan stolarna
Google Sheets är ett förvånansvärt vanligt ”onboardingsystem” eftersom det är enkelt, delat och flexibelt. Nackdelen märks så fort onboarding blir i flera steg. Du jonglerar mallar, spårar statusar, skickar uppföljningar och försöker minnas vilken version av ett meddelande som är den aktuella. En missad raduppdatering kan trigga fel mejl. Ett ”jag skickar det senare” blir en bortglömd uppgift. Och när du onboardar flera personer samtidigt är den mentala belastningen, helt ärligt, värre än själva skickandet.
Det blir snabbt mycket. Här är var det brister för de flesta team.
- Mallkonsekvensen glider över tid eftersom folk kopierar och justerar mejl i sin inkorg i stället för att använda en enda källa som gäller.
- Statustracking blir opålitlig när uppdateringar bygger på att någon kommer ihåg att ändra en cell efter att ha skickat.
- Onboarding i flera steg är svårt att granska, så du kan inte snabbt svara på ”vad har den här personen fått?” när frågor kommer in.
- Undantag flaggas inte tidigt, vilket gör att missade steg dyker upp dagar senare som eskaleringar.
Lösningen: kalkylarksstyrda onboardingmejl med inbyggd spårning
Det här n8n-arbetsflödet gör Google Sheets till en pålitlig onboardingmotor i stället för en skör checklista. Det börjar med att hämta dina meddelandemallar från ett ark och aktuell användarstatus från ett annat. Därefter bygger det en strukturerad ”meddelandematris” (så att dina steg, ämnesrader och mejltexter hålls organiserade), och kontrollerar sedan varje persons aktuella steg och status med förgreningslogik. Arbetsflödet lägger in personuppgifter som förnamn och e-postadress, väljer rätt mall för exakt det steget och skickar meddelandet från Gmail. Slutligen skriver det tillbaka resultatet till Google Sheets, markerar steget som slutfört eller godkänt och lägger till nästa steg så att processen fortsätter utan manuell passning.
Arbetsflödet kan triggas enligt schema, av en formulärinsändning eller av en händelse från ett inkommande meddelande. I mitten avgör Switch- och Code-noder vad som ska hända härnäst. I slutet skickar Gmail rätt mejl och Sheets blir din levande granskningslogg.
Vad som förändras: före vs. efter
| Det här tar bort | Effekt du kommer att se |
|---|---|
|
|
Verklig effekt
Säg att du onboardar 10 personer i månaden med en mejlsekvens i 5 steg. Manuellt lägger du oftast cirka 10 minuter per mejl på att hitta rätt mall, anpassa den, skicka och sedan uppdatera arket, vilket är ungefär 8 timmar i månaden. Med det här arbetsflödet lägger du cirka 20 minuter en gång på att sätta upp mallar och statusar, och sedan är varje person i stort sett ”hands off” förutom vid undantag. Vardagen blir snabba kontroller, inte repetitivt skickande.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra mallar och stegstatusar
- Gmail för att skicka onboardingmejl från ditt konto
- OAuth-inloggningsuppgifter för Google-konto (sätts upp i n8n-credentials)
Svårighetsnivå: Medel. Du konfigurerar främst inloggningsuppgifter och redigerar några fält, samt behöver vara bekväm med att justera mallkolumner och enkel förgreningslogik.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
En formulärinsändning, en manuell körning eller en tidsstyrd trigger startar allt. Du kan starta onboarding när någon fyller i ett registreringsformulär, när en admin kör det, eller enligt schema för att hantera köade rader.
Mallar och aktuella statusar hämtas från Google Sheets. Ett ark innehåller stegindelade mejlmallar (ämne, brödtext, meddelandetyp), medan det andra arket spårar varje persons aktuella steg och status.
Logik styr varje person till rätt nästa åtgärd. Switch-noder kontrollerar ”vilket steg är vi på?” och ”vad är statusen?”. Sedan lägger en Code-nod in variabler (som namn) i den valda mallen så att den är redo att skickas.
Gmail skickar mejlet och Sheets uppdateras direkt. Arbetsflödet markerar raden som slutförd eller godkänd, lägger till nästa stegrad och kan eskalera fel genom att avisera en admin när något misslyckas.
Du kan enkelt ändra onboardingstegen för att matcha din process utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera triggern för manuell körning
Ställ in de manuella och schemalagda triggers som startar hämtning av mallar och bearbetning av status.
- Öppna Manual Run Trigger och behåll standardinställningarna så att ni kan köra workflowet vid behov.
- Granska Timed Trigger Start; den är inaktiverad som standard. Aktivera den om ni vill köra schemalagt.
- Om ni aktiverar Timed Trigger Start, behåll intervallregeln inställd på minuter enligt konfigurationen.
- Bekräfta att båda triggers är kopplade till Retrieve Message Templates i canvasen.
Steg 2: Anslut Google Sheets
Dessa noder läser och uppdaterar meddelandemallar och statustabeller. Alla Google Sheets-noder delar samma typ av autentiseringsuppgifter.
- Öppna Retrieve Message Templates och ställ in Document till
[YOUR_ID]och Sheet tillSheet1. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter. - Öppna Fetch Status Rows och ställ in Document till
[YOUR_ID]och Sheet tillSheet1. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter. - Anslut Google Sheets-uppgifter till alla noder som uppdaterar/lägger till: Mark Row Completed, Mark Row Passed, Append Next Step och Append Registration Record. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
- Verifiera att Mark Row Completed har Operation inställd på
updateoch columns.status inställd påcompleted. - Verifiera att Mark Row Passed har Operation inställd på
updateoch columns.status inställd påpassed. - Verifiera att Append Next Step har Operation inställd på
appendoch mappar step till{{ $('Fetch Status Rows').item.json.step + 1 }}.
[YOUR_ID] lämnas oförändrat kommer Google Sheets-noderna att misslyckas. Ersätt det med ert faktiska kalkylblads-ID.Steg 3: Sätt upp bearbetning av meddelandematrix
Dessa noder bygger meddelandestrukturen och förbereder variabler för routning och personalisering.
- Öppna Build Message Matrix och behåll JavaScript Code som den är för gruppering på step och Type.
- Öppna Assign Context Variables och bekräfta att variables är inställd på
{{ { email: $('Fetch Status Rows').item.json['First Name']+'.'+$('Fetch Status Rows').item.json['Last Name'] +'@yourcompany.com', error: "This has been ean error" } }}. - Säkerställ att Fetch Status Rows är kopplad till Assign Context Variables och därefter till Route by Status.
Steg 4: Konfigurera routning och steplogik
Workflowet routar rader baserat på status och steg, och triggar därefter åtgärder eller kontroller.
- I Route by Status, verifiera att villkoren använder
{{ $('Fetch Status Rows').item.json.status }}med utgångar försentochcompleted. - I Route Step Actions, bekräfta att varje regel matchar
{{ $('Fetch Status Rows').item.json.step }}för steg 1–5. - I Route Step Checks, bekräfta att samma stegregler är konfigurerade för steg 1–5.
- Säkerställ att Route by Status skickar ut till både Route Step Actions och Route Step Checks (separata grenar).
- Behåll Perform Step Action och Verify Action Completed som platshållare för åtgärds- och verifieringssteg.
Steg 5: Konfigurera körning av sub-workflow och logik för slutförande
Dessa noder kör externa workflows, uppdaterar statusar och hanterar grenar för slutförande.
- Öppna Run Sub-Workflow (Configure Required) och ställ in Workflow till workflow-ID:t ni vill köra. Mappa indata med hjälp av de angivna uttrycken som
{{ $('Fetch Status Rows').item.json.Email }}och{{ $('Build Message Matrix').item.json[$('Fetch Status Rows').item.json.step].sent.Content }}. - Öppna Run Sub-Workflow (Configure Required) 2 och ställ in Workflow-ID:t för felhantering, med uttryck som
{{ $('Build Message Matrix').item.json[$('Fetch Status Rows').item.json.step].error.Content }}. - Öppna Set Debug Flag och behåll check inställd på
true. - Öppna Completion Branch Check och säkerställ att den kontrollerar
{{ $json.check }}för true. - Öppna Run Sub-Workflow (Configure Required) 3 och ställ in workflow-ID:t för slutförande; den använder
{{ $('Build Message Matrix').item.json[$('Fetch Status Rows').item.json.step].completed['Content'] }}. - Öppna Run Sub-Workflow (Configure Required) 4 och ställ in workflow-ID:t för fel för att hantera slutförandefel med
{{ $('Build Message Matrix').item.json[$('Fetch Status Rows').item.json.step].error['Content'] }}.
Steg 6: Konfigurera formulär-onboarding och Gmail-notifieringar
Den här grenen fångar onboardingdata och skickar mallbaserade e-postnotifieringar via Gmail.
- Öppna Onboarding Form Trigger och bekräfta att Form Title är
Welcome to our companyoch att Form Description ärPlease enter you data here. - Verifiera att dolda fält i Onboarding Form Trigger sätter step till
1och status tillsent. - Öppna Append Registration Record och verifiera att Operation är
append. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter. - Öppna Completion Form View och bekräfta att Completion Title är
Thanks a lot for entering your information. - Öppna Incoming Message Trigger och bekräfta indata för email, subject, content och variables.
- Öppna Template Variable Merge och behåll mallkoden som ersätter
{{variable}}-tokens. - Öppna Send Gmail Notification och ställ in Send To till
{{ $('Incoming Message Trigger').item.json.email }}, Subject till{{ $('Incoming Message Trigger').item.json.subject }}och Message till{{ $json.msg }}. Credential Required: Anslut era gmailOAuth2-uppgifter.
Steg 7: Testa och aktivera ert workflow
Validera varje gren och bekräfta att uppdateringar och e-post skickas som förväntat innan ni aktiverar schemalagda körningar.
- Klicka på Manual Run Trigger för att köra huvudflödet och bekräfta att rader läses från Retrieve Message Templates och Fetch Status Rows.
- Kontrollera Google Sheets för att verifiera att Mark Row Completed, Mark Row Passed och Append Next Step uppdaterar eller lägger till rader som förväntat.
- Skicka in formuläret i Onboarding Form Trigger för att verifiera att Append Registration Record lägger till posten och att Completion Form View visar tackmeddelandet.
- Trigga Incoming Message Trigger från ett överordnat workflow och bekräfta att Template Variable Merge skapar ett meddelande med ersatta variabler och att Send Gmail Notification skickar e-postmeddelandet.
- När allt är verifierat, aktivera Timed Trigger Start för att köra enligt schema och aktivera workflowet för produktion.
Se upp med
- Inloggningsuppgifter för Google Sheets kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera sidan Credentials i n8n och bekräfta att det anslutna Google-kontot fortfarande har åtkomst till kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar behandlingstider. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka en timme om dina Sheets är redo och Gmail är anslutet.
Ja. Du skriver ingen kod, men du kommer att mappa några kolumner och testa förgreningslogiken med exempelrader.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Molnplaner börjar på 20 USD/månad för högre volymer. Du behöver också ta hänsyn till Googles användningsgränser (oftast inga problem) och eventuella valfria verktyg du lägger till.
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 hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Det kan du. De flesta ändringar sker på tre ställen: mallkolumnerna i Google Sheets, Switch-förgreningarna ”Route by Status / Route Step Actions” och Code-noden ”Template Variable Merge”. Vanliga justeringar är att lägga till steg (som ”IT-setup” eller ”uppföljning första veckan”), styra olika mallar per avdelning och skicka eskaleringar till en delad inkorg i stället för en enda admin. Om du hellre vill använda Slack eller en annan kanal byter du ut Gmail-sändnoden mot en annan meddelandenod och behåller samma Sheet-styrda logik.
Oftast beror det på utgången Google OAuth-behörighet eller att fel Google-konto är anslutet. Återanslut Gmail-credentials i n8n och bekräfta sedan att kontot har åtkomst till samma Sheets som används av arbetsflödet. Om det bara misslyckas ibland kan du slå i Googles sändningsgränser eller försöka skicka från ett alias som inte är aktiverat i Gmails inställningar.
För de flesta små team räcker den gott.
Ofta, ja, eftersom det här arbetsflödet bygger på förgreningslogik, steg-/statusstyrning och spårning med ”write-back” som blir krångligt (och dyrt) i enklare byggare. n8n ger dig också ett alternativ för egen hosting, vilket kan spela roll om onboardingvolymen skjuter i höjden eller om du vill ha förutsägbara kostnader. Zapier eller Make kan fortfarande fungera om ditt flöde bara är ”ny rad → skicka mejl” utan status i flera steg. Så fort du behöver ”skicka bara mall B om steg A är slutfört” brukar n8n hålla sig renare. Prata med en automationsexpert om du vill ha hjälp att välja utifrån din process.
När dina onboardingsteg ligger i Sheets och utskicken sker automatiskt i Gmail slutar processen att hänga på minnet. Arbetsflödet tar hand om de repetitiva delarna så att du kan fokusera på människorna du onboardar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.