Du uppgraderar n8n, migrerar servrar eller ”städar upp” en instans. Sedan kommer magkänslan: ett workflow saknas, exporten du trodde att du hade är föråldrad och den enda personen som ”kan hur det funkar” är offline.
Marketing ops-team känner av det när lead routing eller rapporteringsautomationer försvinner. Byråägare känner av det när en kunds hela leveranspipeline inte går att återställa. Och om du driver ett småföretag känner du av det eftersom du inte har tid att bygga om. Den här GitHub Gmail backups-automationen ger dig en repeterbar, versionshanterad backup som du faktiskt kan lita på.
Nedan ser du workflowet i korthet, vad det löser och hur det förvandlar ”jag hoppas att vi kan återställa” till ”vi kan återställa på några minuter”.
Så fungerar den här automationen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: GitHub + Gmail-backuper du kan återställa tryggt
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", 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/>Create_Backup_Package"]
n2["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get_Workflows"]
n3["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Check_Repository_Exists"]
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If_Repo_Not_Exists", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Clean_Workflows"]
n6["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Create_Repository"]
n7["<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/>Split_Workflow_Files"]
n8["<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/>Backup_Complete_Summary"]
n9["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload_Workflow_Files"]
n10["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload_README"]
n11["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload_Manifest"]
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop_Workflow_Uploads", pos: "b", h: 48 }
n14["<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/>Backup_Config"]
n16@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail - Notification", pos: "b", h: 48 }
n14 --> n2
n2 --> n5
n10 --> n7
n5 --> n1
n11 --> n10
n6 --> n11
n4 --> n6
n4 --> n11
n7 --> n12
n1 --> n3
n12 --> n8
n12 --> n9
n9 --> n12
n8 --> n16
n3 --> n4
n0 --> n14
end
subgraph sg1["Flow 2"]
direction LR
n13["<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/telegram.svg' width='40' height='40' /></div><br/>Send_Backup_Notification"]
end
subgraph sg2["Daily Flow"]
direction LR
n15@{ icon: "mdi:play-circle", form: "rounded", label: "Daily", pos: "b", h: 48 }
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,n15 trigger
class n4 decision
class n2,n3,n6,n9,n10,n11 api
class n1,n5,n7,n8,n14 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n5,n6,n7,n8,n9,n10,n11,n14,n13 customIcon
Problemet: backuper som fallerar när du behöver dem
De flesta ”backupplaner” för n8n är egentligen bara vanor. Någon exporterar ett workflow då och då. Kanske hamnar det i en delad mapp. Sedan uppgraderar du, flyttar till en ny instans eller importerar några workflows och skriver över något viktigt. Plötsligt jagar du den senaste versionen, jämför filer för hand och försöker minnas vad som ändrades. Tidsförlusten är uppenbar, men den större kostnaden är osäkerhet. När du inte är säker på att du kan återställa, tvekar du att förbättra något alls.
Det staplas snabbt. Här är var det faller isär i verkligheten:
- Manuella exporter glöms bort, så ”senaste backupen” är ofta flera veckor gammal.
- En enda stor exportfil är svår att granska, vilket gör versionshantering i praktiken värdelös.
- Under en migrering upptäcker du saknade workflows först efter att något slutar köra.
- Team tvekar att refaktorera eftersom ingen vill vara personen som pajade produktionen.
Lösningen: automatiska n8n-workflowbackuper till GitHub + Gmail
Det här workflowet hämtar varje workflow från din n8n-instans via n8n API, rensar och normaliserar datan så att exporten blir konsekvent, och paketerar den så att du kan återställa med trygghet. I stället för att lagra en enda stökig klump delar det upp workflows i separata JSON-filer och pushar dem till ett GitHub-repo så att du får riktig versionshistorik. Om mål-repot inte finns ännu skapar det det åt dig, och laddar sedan upp ett manifest och en README så att backupen är självinstruerande senare. När uppladdningarna är klara sammanställer det en tydlig sammanfattning och mejlar den via Gmail, så att du vet att backupen kördes och vad som ingick. Tyst, pålitligt och ärligt talat svårt att sabba när det väl rullar.
Workflowet startar med en manuell trigger (och innehåller även en daglig schematrigger som du kan aktivera). Det hämtar och sanerar workflows, kontrollerar sedan GitHub efter repot och skapar det vid behov. Till sist laddar det upp manifest, README och varje workflowfil, och skickar därefter en Gmail-sammanfattning (eller Telegram om du föredrar) när körningen är klar.
Det här får du: automation kontra resultat
| Vad workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att din instans har 40 workflows. En ”ansvarsfull manuell backup” brukar innebära export, filnamngivning, uppladdning någonstans och anteckningar, vilket lätt kan ta runt 2 timmar om du vill göra det ordentligt. Med det här workflowet startar du det (eller schemalägger det), väntar några minuter på GitHub-uppladdningarna och får en Gmail-sammanfattning när det är klart. Den mänskliga tiden sjunker till ungefär 5 minuter, och du slutar chansa med föråldrade exporter.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger funkar bra)
- GitHub för att lagra backuper med versionshistorik
- Gmail för att få en sammanfattning efter varje körning
- n8n API-åtkomst (generera den i dina användarinställningar i n8n)
Svårighetsnivå: Medel. Du klistrar in API-nycklar, kopplar konton och justerar några inställningsfält utan problem.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En trigger startar backupen. Du kan köra den manuellt när du testar, och sedan byta till den medföljande dagliga schematriggern när du litar på resultatet.
Din n8n-instans frågas efter workflows. Workflowet anropar n8n API (via HTTP Request), hämtar alla workflows och rensar och normaliserar JSON:en så att exportfilerna håller sig konsekventa från körning till körning.
GitHub förbereds och filer laddas upp i batchar. Det kontrollerar om mål-repot finns, skapar det om det inte gör det och laddar upp ett manifest samt en README. Sedan delar det upp workflows i individuella JSON-filer och loopar igenom dem (Split in Batches) för att ladda upp varje fil.
Du får en slutsammanfattning i Gmail. När loopen är klar sammanställer workflowet en backup-sammanfattning och skickar ett mejl så att du vet exakt vad som hände utan att öppna n8n.
Du kan enkelt justera namngivningen av mål-repot och notifikationskanalen utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startar manuellt och fortsätter sedan genom backup-pipelinen. Ni kan även lägga till en schemalagd trigger för dagliga körningar.
- Lägg till noden Manual Start Trigger som arbetsflödets startpunkt.
- (Valfritt) Lägg till Utility: Daily Schedule Trigger om ni vill ha automatiska dagliga backuper.
- Koppla Manual Start Trigger till Configure Backup Settings.
Steg 2: Definiera backup-parametrar och hämta arbetsflöden
Dessa noder ställer in konfigurationsvärden och hämtar arbetsflöden från er n8n-instans.
- Öppna Configure Backup Settings och lägg till koden som definierar detaljer för backup-destinationen (till exempel repository-namn, owner eller API-bas-URL).
- Koppla Configure Backup Settings till Retrieve Workflows.
- I Retrieve Workflows konfigurerar ni HTTP-anropet till n8n-API:t som returnerar arbetsflödes-JSON.
Steg 3: Rensa och paketera arbetsflödesdata
Dessa kodnoder sanerar arbetsflödes-JSON och sätter ihop backup-payloaden.
- Koppla Retrieve Workflows till Sanitize Workflow Data och implementera logik som tar bort eller normaliserar känsliga fält.
- Koppla Sanitize Workflow Data till Assemble Backup Bundle och sätt ihop det slutliga backup-objektet som inkluderar arbetsflödesfiler och metadata.
Steg 4: Verifiera eller skapa repositoryt och publicera manifest
Arbetsflödet kontrollerar om ett repository finns, skapar det om det saknas och publicerar sedan manifest- och README-filer.
- Koppla Assemble Backup Bundle till Verify Repo Presence och konfigurera HTTP-anropet som kontrollerar repositoryt.
- Koppla Verify Repo Presence till Branch If Repo Missing så att arbetsflödet kan avgöra om ett repository ska skapas.
- På “true”-grenen, koppla Branch If Repo Missing till Generate Repository och konfigurera anropet för att skapa repositoryt.
- Koppla Generate Repository till Post Manifest File och sedan till Post README File för att publicera metadatafiler på toppnivå.
- På “false”-grenen, koppla Branch If Repo Missing direkt till Post Manifest File så att befintliga repositoryn hoppar över skapandet.
Steg 5: Ladda upp arbetsflödesfiler i batchar
Den här delen delar upp arbetsflödesfiler i uppladdningsklara chunkar och itererar över dem.
- Koppla Post README File till Divide Workflow Files och implementera logik som skapar en lista med arbetsflödesfilobjekt.
- Koppla Divide Workflow Files till Iterate File Uploads för att hantera uppladdningar i batchar.
- Koppla Iterate File Uploads till Upload Workflow Assets för att skicka varje fil till ert repository-API.
- Koppla Upload Workflow Assets tillbaka till Iterate File Uploads för att fortsätta batch-loopen.
Steg 6: Sammanställ summering och skicka notiser
Efter filuppladdningar sammanfattar arbetsflödet backupen och mejlar resultatet.
- Koppla Iterate File Uploads till Compile Backup Summary för att bygga en summering av slutförandet.
- Koppla Compile Backup Summary till Dispatch Email Notice för att mejla rapporten.
- (Valfritt) Använd Utility: Telegram Backup Alert för direktnotiser genom att koppla den till Compile Backup Summary.
- Credential Required: Anslut era Gmail-inloggningsuppgifter i Dispatch Email Notice.
- Credential Required: Anslut era Telegram Bot API-inloggningsuppgifter i Utility: Telegram Backup Alert.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett kontrollerat test för att validera skapande av repository, uppladdningar och notiser.
- Klicka på Execute Workflow från Manual Start Trigger för att köra en testbackup.
- Verifiera att Verify Repo Presence och Generate Repository fungerar korrekt för befintliga respektive saknade repositoryn.
- Bekräfta att filer laddas upp genom att kontrollera output från Upload Workflow Assets och repositoryts innehåll.
- Säkerställ att Dispatch Email Notice skickar ett sammanfattningsmejl och (om det används) att Utility: Telegram Backup Alert publicerar ett meddelande.
- När ni är nöjda, ställ arbetsflödet till Active så att schemalagda eller manuella körningar är redo för produktion.
Vanliga fallgropar
- GitHub-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det strular, kontrollera först scopes för din GitHub Personal Access Token och credential-inställningarna i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram failar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in ert tonalitet/brand voice tidigt, annars kommer du redigera utdata i all evighet.
Vanliga frågor
Cirka 30 minuter om din n8n API-nyckel och GitHub-token är redo.
Nej. Du kopplar konton och klistrar in API-nycklar. De inkluderade kodnoderna är redan skrivna, så du konfigurerar mest.
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 volym. Du behöver också räkna in GitHub (oftast gratis) och Gmail (gratis) om inte din organisation har betalda planer.
Två alternativ: n8n Cloud (hanterad, enklaste setupen) 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 exekveringar men kräver grundläggande serverhantering.
Ja, men… behåll Gmail-noden om du vill ha en inkorgslogg. Det här workflowet har redan en Telegram-notifieringsväg (leta efter noden Telegram Backup Alert), så du kan aktivera den och inaktivera noden Dispatch Email Notice. Vanliga anpassningar är att ändra repo-namnet i kodnoden Configure Backup Settings, lägga till en datum-baserad mappstruktur i uppladdningssteget och byta schemat från dagligt till timvis för team med högt ändringstempo.
Oftast är det en utgången GitHub-token eller en token med för snäva rättigheter. Skapa en ny Personal Access Token, bekräfta att den kan skapa repos och skriva contents, och uppdatera sedan credential i n8n. Om det bara fallerar vissa körningar, kontrollera GitHub rate limits och säkerställ att repo-ägare/namn matchar det som workflowet kontrollerar.
Ett par hundra är normalt på en liten VPS.
För just det här jobbet är n8n oftast en bättre match. Du behöver loopar, filhantering och villkorslogik (som ”skapa repot om det inte finns”), vilket är klumpigt och dyrt i många no-code-verktyg. Med self-hosting betalar du heller inte per litet steg när du backar upp dussintals workflows. Zapier eller Make kan fortfarande fungera om du bara vill ha ett enkelt ”exportera och mejla mig”-flöde, men det känns inte som en riktig återställningsplan. Prata med en automationsexpert om du vill ha hjälp att välja.
Backuper ska kännas tråkiga, för tråkigt betyder pålitligt. Sätt upp det här en gång, så förvandlas inte nästa uppgradering till en ombyggnad sent på kvällen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.