Du uppdaterar ett workflow för att fixa en liten grej, och två veckor senare minns ingen vad som ändrades. Sedan frågar en kund: ”Varför slutade det här fungera?” och du sitter och gräver i gamla skärmbilder, halvdana dokument och gissningar.
Drift- och operationsansvariga märker det när automationer sakta glider iväg. Byråägare märker det när team ändras och tyst kunskap försvinner. Och om du ansvarar för marknadssystem känner du redan igen smärtan. Den här GitHub Notion-backup-automationen ger dig versionshanterade backuper plus levande dokumentation, utan att vara beroende av att någon ”kommer ihåg att uppdatera Notion”.
Den här guiden bryter ner vad workflowet gör, vad du behöver för att köra det och hur du ska tänka kring att anpassa det för dina egna interna automationer som helt enkelt inte får fallera.
så här fungerar automationen
Här är hela workflowet du kommer att sätta upp:
n8n Workflow Template: GitHub + Notion: säkerhetskopiera och dokumentera flöden
flowchart LR
subgraph sg0["Weekly Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Weekly Schedule Trigger", 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/n8n.svg' width='40' height='40' /></div><br/>Retrieve Tagged Active Workf.."]
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Recent Updates", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Workflow Fields", pos: "b", h: 48 }
n4["<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/>Query Notion by Workflow ID"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare Payload Mapping", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Summarize Workflow Purpose", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check If Notion Entry Exists", pos: "b", h: 48 }
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/notion.dark.svg' width='40' height='40' /></div><br/>Create Notion Record"]
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/slack.svg' width='40' height='40' /></div><br/>Post Slack on New Record"]
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/notion.dark.svg' width='40' height='40' /></div><br/>Update Notion Record"]
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/slack.svg' width='40' height='40' /></div><br/>Post Slack on Update"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verify Error Workflow Config", pos: "b", h: 48 }
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/github.dark.svg' width='40' height='40' /></div><br/>Commit Workflow to Repo"]
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/github.dark.svg' width='40' height='40' /></div><br/>Create Repo File"]
n15["<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/slack.svg' width='40' height='40' /></div><br/>Alert Slack on Repo Failure"]
n16["<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/slack.svg' width='40' height='40' /></div><br/>Alert Slack on Setup Issue"]
n5 --> n12
n5 --> n6
n3 --> n4
n8 --> n9
n10 --> n11
n0 --> n1
n13 --> n14
n14 --> n15
n2 --> n3
n4 --> n5
n6 --> n7
n7 --> n8
n7 --> n10
n1 --> n2
n12 --> n13
n12 --> n16
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 trigger
class n6 ai
class n2,n7,n12 decision
class n8,n10 database
class n4 api
classDef customIcon fill:none,stroke:none
class n1,n4,n8,n9,n10,n11,n13,n14,n15,n16 customIcon
Varför det här spelar roll: workflow-drift och ”var är senaste versionen?”
De flesta team tappar inte bort workflows på ett dramatiskt sätt. Det går långsammare än så. Ett workflow justeras i all hast, dokumentationssidan uppdateras inte, och plötsligt ligger din ”single source of truth” en månad efter. Under tiden är workflowet i sig nu det enda korrekta underlaget, vilket blir ett problem när någon ny börjar, när du behöver felsöka under press eller när du försöker standardisera processer mellan kunder. Ärligt talat är den mentala belastningen värst: du är aldrig helt säker på vad som är aktuellt.
Det blir snabbt mycket. Här är var det oftast fallerar i verkligheten.
- Du exporterar workflows först när något går fel, vilket betyder att din ”backup” redan är inaktuell.
- Notion-sidor skrivs en gång och ignoreras sedan, så nästa person ”fixar” fel sak.
- Manuell versionshantering skapar mänskliga fel, särskilt när flera personer rör samma automationer.
- Du upptäcker ändringar för sent eftersom det inte finns någon tydlig signal när ett viktigt flöde uppdaterades.
Det du bygger: veckovisa workflow-backuper med auto-genererade Notion-dokument
Det här workflowet körs veckovis och kontrollerar din n8n-instans efter aktiva workflows taggade internal-infra. När det hittar ett workflow som är nytt eller nyligen ändrat hämtar det detaljerna, mappar de nyckelfält du bryr dig om och slår upp en matchande post i din Notion-databas. Därefter genererar OpenAI (4o-mini) en sammanfattning på enkel svenska av vad workflowet gör, så att dokumentationen är användbar även för icke-tekniska kollegor. Till sist exporterar workflowet workflowet till ett GitHub-repo (privat rekommenderas) och skickar ett Slack-meddelande så att teamet vet vad som ändrades. Om något är felkonfigurerat larmar det i stället för att misslyckas tyst.
Flödet börjar med ”vad har ändrats?” och slutar med ”det är backat, det är dokumenterat och någon har blivit notifierad”. GitHub blir det versionshanterade arkivet. Notion blir den läsbara kunskapsbasen. Slack blir spåret som håller alla ärliga.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du underhåller 15 ”viktiga” workflows. Att manuellt backa upp och dokumentera bara 5 av dem per vecka kan lätt ta 10 minuter per workflow för att exportera, namnge filer, committa, uppdatera Notion och meddela teamet, så du bränner ungefär en timme varje vecka. Med den här automationslösningen kör den veckovisa triggern av sig själv, OpenAI skriver sammanfattningen, Notion uppdateras och GitHub får exporten automatiskt. Din aktiva tid hamnar närmare 5 minuter i veckan, mest för att snabbt skumma Slack-uppdateringar och fixa enstaka credential-problem.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- GitHub för att lagra versionshanterade workflow-exporter
- Notion för att hålla en sökbar databas med workflow-dokumentation
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
Svårighetsnivå: Medel. Du kopplar credentials, redigerar några fält (som din n8n-URL) och pekar noder mot din Notion-databas och ditt GitHub-repo.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Ett veckoschema sätter igång. Workflowet körs på en timer, så du är inte beroende av att någon kommer ihåg ”backup-dagen”. Det frågar direkt n8n efter aktiva workflows med taggen internal-infra.
Det filtrerar på det som faktiskt har ändrats. En ”If”-kontroll verifierar senaste uppdateringar, så att du inte spammar Notion och Slack med brus. Bara nya eller modifierade workflows går vidare.
Notion och AI sköter dokumentationsdelen. Workflowet tilldelar nyckelfält (namn, tidsstämplar, URL) och använder en HTTP-request för att söka i din Notion-databas på workflow-id. Sedan genererar OpenAI Chat Model en ”AI Summary” som förklarar vad workflowet gör, vilket är perfekt för kollegor som inte lever i n8n.
GitHub blir backupsystemet och Slack är signalen. Om Notion-posten finns uppdateras den; om inte skapas en ny post och en Slack-notis skickas. Parallellt committas workflow-exporten till ditt GitHub-repo och Slack larmas om en repo-skrivning misslyckas eller om en kontroll för fel-workflow-setup flaggar ett konfigurationsproblem.
Du kan enkelt ändra tagg-filtret internal-infra så att det matchar din egen etikett för ”kritiska workflows” utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den veckovisa schematriggaren
Ställ in det veckoschema som startar workflowet och definiera när det körs.
- Lägg till Weekly Schedule Trigger som trigger.
- Ställ in Rule → Interval → Field på
weeks. - Ställ in Rule → Interval → Trigger At Day på
1och Trigger At Hour på1. - Koppla Weekly Schedule Trigger till Retrieve Tagged Active Workflows.
Steg 2: anslut n8n och filtrera senaste uppdateringar
Hämta aktiva workflows taggade för intern infrastruktur och fortsätt bara med dem som uppdaterats de senaste 7 dagarna.
- I Retrieve Tagged Active Workflows, ställ in Filters → Tags på
internal-infraoch Active Workflows påtrue. - I Validate Recent Updates, ställ in villkoret så att det jämför Left Value
={{ $json.updatedAt }}med Right Value={{ new Date(new Date().setDate(new Date().getDate()-7)).toISOString() }}med afterOrEquals. - Koppla Retrieve Tagged Active Workflows till Validate Recent Updates, och sedan till Assign Workflow Fields.
Steg 3: konfigurera fältmappning och Notion-uppslagning
Förbered ett normaliserat payload och fråga Notion för att hitta befintliga poster.
- I Assign Workflow Fields, mappa workflowets metadatafält, inklusive url som
=https://och envId som/workflow/{{ $json.id }} =internal-{{ $json.id }}. - Ställ in workflow-definition på
={{ JSON.stringify($json, null, 2) }}och workflow-export-filename på={{ $json.name.replace(/ /g, "_").replace(/-/g, "_") + ".json" }}. - I Query Notion by Workflow ID, ställ in URL på
https://api.notion.com/v1/databases/och JSON Body på/query ={ "filter": { "and": [ { "property": "envId", "rich_text": { "contains": "{{ $json.envId }}" } } ] } }. - Ställ in Authentication på
predefinedCredentialTypeoch Node Credential Type pånotionApi. - I Prepare Payload Mapping, ställ in input på
={{ $('Assign Workflow Fields').item.json }}och behåll Include Other Fields aktiverat.
Inloggningsuppgifter krävs: Anslut era notionApi-inloggningsuppgifter i Query Notion by Workflow ID.
Steg 4: konfigurera AI-sammanfattning och parallell exekvering
Skapa en AI-sammanfattning av varje workflow och förgrena körningen parallellt för kontroller av repo-backup.
- I Summarize Workflow Purpose, ställ in Model på
gpt-4o-minioch behåll prompten som refererar till{{ $json.input['workflow-definition'] }}. - Bekräfta exekveringsflödet där Prepare Payload Mapping skickar output till både Verify Error Workflow Config och Summarize Workflow Purpose parallellt.
- Koppla Summarize Workflow Purpose till Check If Notion Entry Exists.
Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i Summarize Workflow Purpose.
⚠️ Vanlig fallgrop: AI-noder som Summarize Workflow Purpose kräver inloggningsuppgifter på själva föräldranoden – det finns inga separata undernoder här.
Steg 5: konfigurera Notion skapa/uppdatera och Slack-notiser
Skapa en ny Notion-post när ingen finns, eller uppdatera den befintliga, och notifiera Slack.
- I Check If Notion Entry Exists, behåll villkoret som kontrollerar att
={{ $('Prepare Payload Mapping').item.json.results }}är tomt. - I Create Notion Record, ställ in Database ID till er Notion-databas och ställ in Title på
={{ $('Prepare Payload Mapping').item.json.input['workflow-name'] }}. - Mappa Notion-egenskaperna exakt som konfigurerat, inklusive AI Summary till
={{ $json.message.content }}och envId till={{ $('Prepare Payload Mapping').item.json.input.envId }}. - I Update Notion Record, ställ in Page ID på
={{ $('Prepare Payload Mapping').item.json.results[0].id }}och uppdatera egenskaperna (inklusive AI-sammanfattningen) enligt definitionen. - I Post Slack on New Record och Post Slack on Update, ställ in Text till de befintliga uttrycken som refererar till
{{ $('Prepare Payload Mapping').item.json.input['workflow-name'] }}och välj er Slack-kanal.
Inloggningsuppgifter krävs: Anslut era Notion-inloggningsuppgifter i Create Notion Record och Update Notion Record.
Inloggningsuppgifter krävs: Anslut era Slack-inloggningsuppgifter i Post Slack on New Record och Post Slack on Update.
Steg 6: konfigurera GitHub-backup och Slack-varningar
Säkerhetskopiera workflow-JSON till GitHub och varna Slack om konfiguration eller repo-operationer misslyckas.
- I Verify Error Workflow Config, behåll OR-villkoret som kontrollerar
={{ $json.input.errorWorkflow }}eller att workflow-namnet är lika med_infra: Get a Slack alert when a workflow went wrong. - I Commit Workflow to Repo, ställ in Resource på
file, Operation påeditoch File Path på=N8N_Workflows/{{ $('Assign Workflow Fields').item.json['workflow-export-filename'].replaceAll(/[\/:*?"<>|,\t\n#%&']/g, "_") }}. - I Create Repo File, behåll samma File Path och ställ in Commit Message på
created by N8N. - Konfigurera Alert Slack on Repo Failure och Alert Slack on Setup Issue med de angivna uttrycken för varningsmeddelanden.
Inloggningsuppgifter krävs: Anslut era GitHub OAuth2-inloggningsuppgifter i Commit Workflow to Repo och Create Repo File.
Inloggningsuppgifter krävs: Anslut era Slack-inloggningsuppgifter i Alert Slack on Repo Failure och Alert Slack on Setup Issue.
⚠️ Vanlig fallgrop: Om repo-filen inte finns routar Commit Workflow to Repo till Create Repo File. Säkerställ att er GitHub-token har både läs- och skrivbehörighet för repot.
Steg 7: testa och aktivera ert workflow
Kör ett manuellt test för att verifiera Notion-uppdateringar, Slack-meddelanden och GitHub-commits innan ni aktiverar det veckovisa schemat.
- Klicka på Execute Workflow och verifiera att Retrieve Tagged Active Workflows returnerar workflows med taggen
internal-infra. - Bekräfta att uppdaterade workflows passerar Validate Recent Updates och flödar genom Assign Workflow Fields in i Notion.
- Kontrollera i Notion att det finns en ny eller uppdaterad post med AI Summary ifylld från Summarize Workflow Purpose.
- Verifiera att Slack-meddelanden dyker upp från Post Slack on New Record eller Post Slack on Update, och att GitHub har en ny eller uppdaterad fil.
- När allt är verifierat, ställ om workflowet till Active för att köra automatiskt varje vecka.
Tips vid felsökning
- GitHub-credentials kan löpa ut eller kräva specifika behörigheter. Om det strular, börja med att kontrollera scoparna på repo access token (och inställningarna för repo-ägare/namn i GitHub-noderna).
- Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att sitta och redigera output för alltid.
Snabba svar
Cirka en timme om du redan har Notion-databasen och credentials redo.
Nej. Du kopplar främst konton och redigerar några fält som repo-detaljer och din n8n-URL.
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 volym. Du behöver också räkna med kostnader för OpenAI API (ofta bara några dollar i månaden i den här skalan).
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du förmodligen. Du kan ändra filtret ”Retrieve Tagged Active Workflows” till att använda en annan tagg än internal-infra, byta OpenAI-steget ”Summarize Workflow Purpose” till en annan modell/leverantör och justera Notion-fälten i stegen ”Assign Workflow Fields” och ”Prepare Payload Mapping” så att de matchar dina egna databaskolumner.
För det mesta är det ett problem med access token. Skapa en ny GitHub-token, säkerställ att den har behörighet att skriva till mål-repot (privata repo kräver explicit åtkomst) och uppdatera sedan credential i n8n. Om det fortfarande misslyckas, dubbelkolla fälten för repo-ägare/namn och bekräfta att workflowet skapar filer i en giltig sökväg. Rate limiting kan också dyka upp om du försöker backa upp en stor batch på en gång, så minska batchstorleken vid behov.
För de flesta team fungerar det fint med dussintals workflows per vecka. På n8n Cloud Starter begränsas du av månatliga körningar, och varje workflow som processas kan ta flera körningar beroende på hur dina noder loopar. Om du self-hostar finns inget tak för körningar, så begränsningen blir serverresurser och API-rate limits från Notion/GitHub/OpenAI.
Ofta, ja, eftersom det här flödet kräver mer än en enkel trigger och action. Du frågar n8n efter workflows, förgrenar baserat på ”finns vs finns inte”, genererar AI-sammanfattningar, committar filer och skickar olika Slack-meddelanden beroende på utfall. n8n hanterar den typen av logik snyggt, och self-hosting kan hålla kostnaderna förutsägbara när volymen växer. Zapier eller Make kan fortfarande fungera om du håller det litet, men du kan slå i begränsningar kring looping, avancerad förgrening eller mönster för filer/versionshantering. Prata med en automationsexpert om du vill ha en snabb rekommendation utifrån din stack.
När detta väl rullar slutar era viktigaste flöden att bo i människors huvuden. GitHub håller historiken, Notion håller sammanhanget och Slack håller alla uppdaterade.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.