Dina funktionsönskemål ligger troligen utspridda i en Notion-databas som ser organiserad ut… tills du faktiskt ska leverera. Då blir det copy-paste-kaos: skriva om titlar, välja etiketter, hitta rätt repo, öppna GitHub, skapa ärendet, gå tillbaka till Notion, uppdatera länken, meddela teamet.
Produktchefer märker det när en “snabb triage” äter upp hela morgonen. Byråledare stöter på det när kunder lägger in önskemål mitt i sprinten. Och marknadsföraren som agerar “ops” blir till slut budbäraren. Den här Notion GitHub-automationen flyttar önskemål till riktiga ärenden snabbt, så att du slutar förlora tid på admin.
Nedan ser du exakt vad arbetsflödet gör, vilka resultat du kan förvänta dig och vad du behöver för att koppla in det i din egen process.
Så här fungerar automationsflödet
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Notion till GitHub, feature requests blir issues
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0["<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/>Get many database pages"]
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/github.dark.svg' width='40' height='40' /></div><br/>Create an issue"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Sort Issues Fields", pos: "b", h: 48 }
n3@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", 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/notion.dark.svg' width='40' height='40' /></div><br/>Get many users"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Notion Users", pos: "b", h: 48 }
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/notion.dark.svg' width='40' height='40' /></div><br/>Set Status and Issue URL"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Exclude Bot", pos: "b", h: 48 }
n9@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Group Recipients", pos: "b", h: 48 }
n7 --> n1
n7 --> n4
n8 --> n10
n4 --> n5
n1 --> n6
n10 --> n9
n5 --> n8
n3 --> n0
n2 --> n7
n0 --> n2
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 n3 trigger
class n7,n8 decision
class n0,n4,n6 database
classDef customIcon fill:none,stroke:none
class n0,n1,n4,n6 customIcon
Problemet: funktionsönskemål “spåras” men byggs inte
En Notion-databas är bra för att fånga idéer. Den är inte lika bra på att omsätta idéerna till handling. I samma stund som en förfrågan godkänns måste någon översätta den till ett GitHub-ärende med rätt repo, etiketter och en korrekt formaterad titel som utvecklingsteamet inte himlar med ögonen åt. Sedan behöver du fortfarande hålla Notion i synk, vilket brukar betyda att någon manuellt klistrar in ärendets URL i raden och ändrar status. Missar du en uppdatering tappar hela systemet förtroende. Det är ofta då team börjar köra två backlogs utan att säga det högt.
Friktionen byggs på. Här är var det brukar falla isär.
- Att skapa ärenden för hand tvingar fram samma formateringsjobb varje gång, så “bara en förfrågan” blir lätt cirka 10 minuter av meningslöst pill.
- Status glider mellan Notion och GitHub, vilket gör att standups innehåller detektivarbete i stället för beslut.
- Etiketter och repos är enkla att få fel, och misstaget upptäcks ofta först när ärendet redan ligger i någons kö.
- Notifieringar sker inkonsekvent, så intressenter fortsätter be om uppdateringar som du redan har.
Lösningen: Notion-önskemål skapar GitHub-ärenden automatiskt (och notifierar)
Det här arbetsflödet bevakar din Notion-databas med funktionsönskemål enligt ett schema och hämtar in de senaste eller uppdaterade raderna. Därefter strukturerar och mappar det fälten du bryr dig om (titel, beskrivning, etiketter, repo och status) så att GitHub får ett konsekvent, användbart ärende varje gång. Om en förfrågan markeras “To develop” skapar n8n GitHub-ärendet automatiskt och skriver direkt tillbaka till Notion med ärendets URL och en uppdaterad status (så att databasen förblir tillförlitlig). Om objektet inte är “To develop” tar flödet en annan väg och notifierar teamet via Gmail, med din Notion-användarlista och med botkonton bortfiltrerade. Inga fler manuella pingar. Inget mer “skapade någon ticketen?”
Arbetsflödet startar med en schemalagd kontroll av din Notion-databas. Därifrån routas varje förfrågan baserat på status och antingen skapas ett GitHub-ärende plus en Notion-uppdatering, eller så skickas en samlad e-postnotifiering till rätt personer. Slutresultatet blir en friktionsfri överlämning och en backlog du kan lita på.
Det här får du: automation vs. resultat
| Det här automatiserar arbetsflödet | Resultatet du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du godkänner 20 funktionsönskemål i veckan. Manuellt tar det ofta runt 10 minuter per önskemål att skapa varje GitHub-ärende (korrekt formaterad titel, etiketter, repo, länk tillbaka till Notion och ett snabbt “FYI”-meddelande), så du lägger omkring 3 timmar i veckan på att bara flytta information mellan verktyg. Med det här arbetsflödet ändrar du Notion-status till “To develop” och är i princip klar; den schemalagda körningen plockar upp det, skapar ärendet, skriver tillbaka URL:en och hanterar notifieringar. I praktiken är du nere på några få minuter per vecka för undantag.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Notion för din databas med funktionsönskemål.
- GitHub för att skapa ärenden i rätt repo.
- Gmail för att skicka teamnotifieringar från ett konto.
Kunskapsnivå: Nybörjare. Du kopplar konton, väljer rätt Notion-databas och matchar några fält (titel, etiketter, repo, status).
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Schemalagd Notion-kontroll. Med en timer hämtar n8n sidor från din Notion-databas så att du inte är beroende av att någon kommer ihåg att “processa” förfrågningar.
Fältstädning och statusrouting. Flödet formar om dina Notion-egenskaper till en konsekvent uppsättning fält och använder sedan status (som “To develop”) för att avgöra vad som händer härnäst.
Skapa GitHub-ärende plus återkoppling till Notion. Godkända objekt blir GitHub-ärenden med rätt titel, beskrivning, etiketter och repository. Därefter uppdateras Notion med ärendets URL och en statusändring så att databasen håller sig aktuell.
Teamnotifiering via Gmail (för icke-dev-statusar). Om förfrågan inte är redo att bli ett ärende hämtar flödet din Notion-användarlista, filtrerar bort botkonton, grupperar mottagarnas e-postadresser och skickar ett meddelande så att alla hålls uppdaterade.
Du kan enkelt ändra statusreglerna så att de matchar din pipeline (till exempel använda “Approved” i stället för “To develop”). Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den schemalagda triggern
Starta arbetsflödet enligt ett fast schema så att Notion-sidor kontrolleras och synkas regelbundet.
- Lägg till eller öppna Scheduled Automation Trigger och ställ in schemaregeln så att den körs var
12:e timme. - Verifiera att intervallkonfigurationen matchar Rule →
hoursInterval: 12. - Koppla Scheduled Automation Trigger till Fetch Database Pages som första åtgärd.
Steg 2: Anslut Notion
Hämta objekt i Notion-databasen och medlemsposter som senare används för uppdateringar och notiser.
- Öppna Fetch Database Pages och ställ in Resource till
databasePage, Operation tillgetAlloch Return All tilltrue. - Ställ in Database ID till mål-databasen i Notion och ersätt
[YOUR_ID]med ert databas-ID. - Inloggning krävs: Anslut era notionApi-uppgifter i Fetch Database Pages.
- Öppna Retrieve Notion Members och bekräfta att Resource är
useroch att Operation ärgetAll. - Inloggning krävs: Anslut era notionApi-uppgifter i Retrieve Notion Members.
[YOUR_ID] kommer inga sidor att returneras.Steg 3: Konfigurera fältmappning och statusstyrd routing
Normalisera Notion-fält till en konsekvent struktur och routa objekt baserat på status.
- Öppna Map Issue Fields och definiera fälttilldelningarna exakt enligt följande: Title =
{{ $json.name }}, Description ={{ $json.property_description }}, Labels ={{ $json.property_labels[0] }}, Repository ={{ $json.property_repository[0] }}, Status ={{ $json.property_status }}, DatabasePageId ={{ $json.id }}. - Koppla Fetch Database Pages → Map Issue Fields → Route by Status.
- I Route by Status lägger ni till en regel som kontrollerar att
{{ $json.Status }}är lika medTo developför att skapa i GitHub. - Lägg till en andra regel i Route by Status som kontrollerar att
{{ $json.Status }}är lika medDoneför hantering av notiser.
Steg 4: Konfigurera skapande av GitHub-issue och Notion-uppdateringar
Skapa GitHub-issues och uppdatera den ursprungliga Notion-sidan med status och den nya issue-URL:en.
- Öppna Generate GitHub Issue och ställ in Title till
{{ $json.Title }}och Body till{{ $json.Description }}. - Ställ in Repository till
{{ $json.Repository }}och bekräfta att Authentication äroAuth2. - Inloggning krävs: Anslut era githubOAuth2Api-uppgifter i Generate GitHub Issue.
- Öppna Update Status & Issue Link och ställ in Page ID till
{{ $('Route by Status').item.json.DatabasePageId }}. - I Update Status & Issue Link ställer ni in Status|status till
In progressoch Issue URL|url till{{ $json.html_url }}. - Inloggning krävs: Anslut era notionApi-uppgifter i Update Status & Issue Link.
{{ $json.html_url }} från GitHub—säkerställ att GitHub-noden är direkt kopplad till Update Status & Issue Link.Steg 5: Förbered mottagare och skicka e-postnotiser
Samla in e-postadresser för Notion-medlemmar, filtrera bort botar och skicka en notis när issues markeras som Done.
- Öppna Format User Records och mappa Name till
{{ $json.name }}, Email till{{ $json.person.email }}och type till{{ $json.type }}. - I Filter Non-Bot Users behåller ni endast poster där
{{ $json.type }}är lika medperson. - Öppna Aggregate Recipient Emails och ställ in Field To Aggregate till
Email. - I Dispatch Email Notice ställer ni in Send To till
{{ $json.Email.join(', ') }}. - Ställ in Subject till
A Github Issue has been closed !och Message tillYour message stipulating that the issue {{ $('Route by Status').item.json.Title }} has been marked as Done and closed within the {{ $('Route by Status').item.json.Repository }} repository.. - Inloggning krävs: Anslut era gmailOAuth2-uppgifter i Dispatch Email Notice.
Steg 6: Testa och aktivera ert arbetsflöde
Kör en manuell exekvering för att bekräfta att Notion-objekt skapar GitHub-issues och att notiser levereras korrekt.
- Klicka på Execute Workflow och följ hur objekt flödar från Scheduled Automation Trigger via Fetch Database Pages och Map Issue Fields.
- Bekräfta att en ny GitHub-issue skapas av Generate GitHub Issue och att Notion-sidan uppdateras av Update Status & Issue Link med
In progressoch GitHub-URL:en. - Verifiera att objekt med Done triggar notifieringsvägen: Retrieve Notion Members → Format User Records → Filter Non-Bot Users → Aggregate Recipient Emails → Dispatch Email Notice.
- När allt är verifierat, växla arbetsflödet till Active för att köra var 12:e timme i produktion.
Vanliga fallgropar
- Notion-inloggningsuppgifter kan löpa ut eller sakna åtkomst till databasen. Om det skapar fel, kontrollera först Notion-integrationskopplingen i n8n (och bekräfta att integrationen är inbjuden till databasen).
- Skapandet av GitHub-ärenden kan misslyckas om token saknar repo-behörigheter eller om ditt reponamn är mappat fel. När det felar, titta på GitHub-nodens autentiseringsscope och repository-fältet som kommer från Notion.
- Gmail-sändning misslyckas ofta på grund av begränsningar kring “less secure app” eller saknat OAuth-samtycke. Om e-post inte går iväg, autentisera om Gmail-kopplingen och bekräfta att avsändarkontot får skicka till hela teamet.
Vanliga frågor
Cirka 30 minuter om din Notion-databas och dina GitHub-repos redan är på plats.
Nej. Du kopplar mest konton och mappar några Notion-fält till GitHub-ärendefält.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du kan också ha vanliga verktygskostnader (som Notion/GitHub-planer), men det här flödet kräver inget betalt AI-API.
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.
Ja, och det är en av de enklaste ändringarna. Uppdatera villkoren i “Route by Status”-switchen så att de matchar dina exakta statusnamn, och justera sedan Notion-uppdateringsnoden som skriver tillbaka “In progress”. Vanliga anpassningar är att ändra vilken status som skapar ett ärende, mappa andra etikettsregler och välja repository från en annan Notion-egenskap.
Oftast handlar det om behörigheter. Notion-integrationen måste uttryckligen bjudas in till databasen du läser, och token i n8n måste matcha den integrationen. Om det fungerade tidigare och plötsligt slutade kan inloggningsuppgiften ha löpt ut eller roterats. Kontrollera också om någon duplicerat databasen, eftersom den nya databasen inte delas automatiskt.
I n8n Cloud beror det på din månatliga exekveringsgräns; om du self-hostar beror det främst på din server och hur ofta du schemalägger kontrollen. För de flesta små team som hanterar dussintals (eller några hundra) förfrågningar i veckan kör den utan problem som den är.
Oftast, ja, om ditt flöde behöver routing, fältstädning och “write back”-uppdateringar i samma körning. n8n:s switchlogik gör det enkelt att dela upp “To develop” från allt annat, och Notion-användaruppslagning plus aggregering av mottagare är den typen av fler-stegslogik som blir krånglig (och dyr) i enklare verktyg. Zapier eller Make kan fortfarande fungera om du bara behöver “Notion-rad skapad → skapa GitHub-ärende” och inget mer. Så fort du vill ha konsekvent mappning, status i synk och ett mejl till en filtrerad grupp är n8n ett bättre val. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.
När det här väl rullar slutar din “spårning av funktionsönskemål” vara en kalkylbladsritual och börjar bete sig som en riktig leveranspipeline. Arbetsflödet tar hand om den repetitiva överlämningen så att du kan fokusera på vad som ska byggas härnäst.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.