Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

GitHub + Google Sheets: en levande traction-översikt

Rickard Andersson Partner, Nodenordic.se

Du lanserar. Folk börjar stjärnmarkera, forka, rösta och installera. Sedan börjar grovjobbet: logga in på fyra plattformar, kopiera siffror till ett kalkylark och försöka minnas hur “bra” såg ut förra veckan.

Det här problemet med en GitHub Sheets-dashboard drabbar produktmarknadsförare först (veckouppdateringar tar aldrig slut). Men grundare som jagar tidig traction och byråteam som rapporterar till kunder känner av det också. Du vill ha en vy som alltid är aktuell utan att du behöver vaka över den.

Det här arbetsflödet hämtar live-mätvärden från GitHub, Docker Hub, npm och Product Hunt enligt schema, formaterar dem korrekt och skickar dem till en kalkylarksanpassad dashboard. Du får se vad det gör, vad du behöver och var folk oftast kör fast.

Så fungerar den här automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: GitHub + Google Sheets: en levande traction-översikt

Utmaningen: traction-mätvärden utspridda över flera plattformar

Traction är brusigt, och datan finns på de sämsta ställena. GitHub har stjärnor, forks, watchers och öppna issues. Docker Hub har pulls och stjärnor. npm har signaler för kvalitet, popularitet och underhåll. Product Hunt har röster, kommentarer, recensioner och betyg. När de siffrorna ligger i fyra olika flikar hamnar du i samma loop om och om igen: “kolla, kopiera, klistra in, formatera”, oftast precis innan ett möte. Och ärligt talat är det då misstagen smyger sig in: du klistrar in i fel cell, glömmer att uppdatera en källa och plötsligt stämmer inte berättelsen du drar med verkligheten.

Det blir snabbt mycket. Här är var det faller isär i det dagliga arbetet.

  • Du slösar ungefär 30 minuter per uppdatering bara på att samla in siffrorna, och det är innan du gör dem läsbara.
  • Manuella ögonblicksbilder döljer momentum, så du missar när ett lanseringsinlägg faktiskt gav effekt.
  • Olika källor använder olika etiketter och format, vilket gör att din “dashboard” blir ett skört kalkylarksprojekt.
  • Om två personer uppdaterar samma rapport driver siffrorna isär och ingen litar på arket längre.

Lösningen: En schemalagd traction-dashboard som uppdaterar sig själv

Det här arbetsflödet gör din traction-uppföljning till en bakgrundsprocess. Enligt schema (varje minut i standardupplägget) anropar n8n API:erna för GitHub, Docker Hub, npm och Product Hunt. Varje källa kommer tillbaka i sitt eget format, så arbetsflödet formaterar om svaren till konsekventa, dashboard-klara fält. Sedan skickar det mätvärdena till din dashboard-destination, där Google Sheets (och valfritt Microsoft Excel 365) kan visa siffrorna live. Resultatet är enkelt: i stället för att jaga mätvärden öppnar du ett kalkylark och ser aktuellt läge över alla fyra kanaler, formaterat på samma sätt varje gång.

Arbetsflödet börjar med en Cron-trigger och ett block för “dashboardinställningar” så att du kan definiera vad som ska spåras. Därefter hämtar det råa mätvärden, gör snabba transformationer i Function-noder och skickar de rensade värdena till utsteg (noderna “Post …”). Ditt kalkylark blir den enda vyn som alltid är uppdaterad.

Vad som förändras: före vs. efter

Effekt i verkligheten

Säg att du gör en traction-uppdatering tre gånger i veckan. Manuellt kollar du fyra plattformar, plockar 10–12 siffror och städar arket, vilket är ungefär 30 minuter per uppdatering (cirka 1,5 timmar i veckan). Med det här arbetsflödet är “jobbet” i princip att öppna arket och skriva din sammanfattning. Datainsamlingen blir en snabb överblick, och automatiseringen sköter hämtningen varje minut i bakgrunden.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • GitHub för att hämta repo-stjärnor, forks, watchers och issues.
  • Google Sheets för att lagra och visa dashboard-mätvärdena.
  • Product Hunt API-token (hämta den i dina Product Hunt-utvecklarinställningar).

Svårighetsnivå: Medel. Du kopplar konton, lägger in API-uppgifter och säkerställer att fälten matchar din arklayout.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

En schemalagd trigger kör automatiskt. Cron-noden triggar varje minut som standard, så din dashboard kan vara “live” utan att någon behöver klicka på en knapp.

Inställningar definierar vad som spåras. Ett steg för dashboardinställningar samlar repo-/paketidentifierare och eventuella ID:n som behövs för Product Hunt, vilket gör resten av arbetsflödet rent och återanvändbart.

Varje plattform hämtas och normaliseras. GitHub använder en dedikerad GitHub-nod för att hämta repodata, medan Docker Hub, npm och Product Hunt hämtas via HTTP Request-anrop. Function-noder formaterar sedan de råa svaren till konsekventa mätvärden (till exempel genom att göra npm:s multi-score-utdata till fält för underhåll/kvalitet/popularitet).

Mätvärden skickas till utdata som du kan rapportera från. Noderna “Post …” skickar de rensade värdena till din dashboard-destination, som kan vara Google Sheets och, om du behöver det, Microsoft Excel 365 för team som arbetar i Microsoft 365.

Du kan enkelt ändra vilka mätvärden som spåras så att de matchar dina KPI:er utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: konfigurera cron-triggern

Det här arbetsflödet körs enligt ett återkommande schema för att uppdatera er instrumentpanel med mätvärden.

  1. Öppna Scheduled Trigger och ställ in schemat i Trigger Times.
  2. För den nuvarande konfigurationen, låt Mode vara inställd på everyMinute om ni vill ha täta uppdateringar.
  3. Koppla Scheduled Trigger till Dashboard Settings som första steg i flödet.

Steg 2: anslut Dashboard Settings

Definiera kärnparametrarna som alla API-anrop kommer att återanvända.

  1. Öppna Dashboard Settings och sätt dashboardHostname till http://0.0.0.0:8080.
  2. Sätt dashboardAuthToken till n8n-rocks! (ersätt med er riktiga token).
  3. Fyll i produktidentifierarna: product_hunt_post_id = 170391, npm_package = n8n, docker_name = n8nio, docker_repository = n8n, github_owner = n8n-io, github_repo = n8n.
  4. Säkerställ att Dashboard Settings skickar utdata till Fetch Product Hunt Data, Fetch npm Metrics, Fetch Docker Metrics och Fetch GitHub Repo parallellt.

Tips: håll alla strängvärden i Dashboard Settings uppdaterade för varje produkt ni spårar. Varje nedströmsförfrågan är beroende av dessa fält.

Steg 3: konfigurera datahämtning (parallella grenar)

Dessa noder hämtar mätvärden från externa tjänster samtidigt efter att inställningarna är definierade.

  1. I Fetch Docker Metrics sätter ni URL till =https://hub.docker.com/v2/repositories/{{$node["Dashboard Settings"].json["docker_name"]}}/{{$node["Dashboard Settings"].json["docker_repository"]}} och behåller värdet n8n i headern User-Agent.
  2. I Fetch npm Metrics sätter ni URL till =https://api.npms.io/v2/package/{{$node["Dashboard Settings"].json["npm_package"]}} och behåller värdet n8n i headern User-Agent.
  3. I Fetch Product Hunt Data sätter ni URL till https://api.producthunt.com/v2/api/graphql, Request Method till POST och lägger till frågeparametern query med det angivna GraphQL-uttrycket.
  4. I Fetch Product Hunt Data sätter ni headern authorization till Bearer [CONFIGURE_YOUR_TOKEN] och ersätter med er Product Hunt-token.
  5. Öppna Fetch GitHub Repo och sätt Resource till repository, Operation till get, Owner till ={{$node["Dashboard Settings"].json["github_owner"]}} och Repository till ={{$node["Dashboard Settings"].json["github_repo"]}}.
  6. Autentisering krävs: anslut era githubApi-uppgifter i Fetch GitHub Repo.

⚠️ Vanlig fallgrop: API-anropet till Product Hunt misslyckas om ni inte ersätter [CONFIGURE_YOUR_TOKEN] med en giltig token i Fetch Product Hunt Data.

Dashboard Settings skickar utdata till Fetch Product Hunt Data och Fetch npm Metrics och Fetch Docker Metrics och Fetch GitHub Repo parallellt.

Steg 4: formatera och transformera mätvärden

Normalisera och formatera råa mätvärden innan ni skickar dem till era dashboard-widgets.

  1. Öppna Format Docker Metrics och behåll Function Code som formaterar star_count och pull_count med tusentalsavgränsare.
  2. Öppna Transform npm Metrics och behåll avrundningslogiken för poängen maintenance, popularity, quality och final.
  3. Öppna Format GitHub Metrics för att formatera stargazers_count, subscribers_count, forks_count och open_issues_count med tusentalsavgränsare.
  4. Öppna Format Product Hunt Data för att formatera commentsCount, votesCount och reviewsCount med tusentalsavgränsare.
  5. Säkerställ att Fetch Docker MetricsFormat Docker Metrics, Fetch npm MetricsTransform npm Metrics, Fetch GitHub RepoFormat GitHub Metrics och Fetch Product Hunt DataFormat Product Hunt Data är kopplade.

Format Docker Metrics skickar utdata till både Post Docker Stars och Post Docker Pulls parallellt, och Transform npm Metrics skickar utdata till Post npm Maintenance, Post npm Quality, Post npm Popularity och Post npm Final parallellt.

Format GitHub Metrics skickar utdata till både Post GitHub Stars och Post GitHub Watchers och Post GitHub Forks och Post GitHub Issues parallellt, och Format Product Hunt Data skickar utdata till Post Product Hunt Rating, Post Product Hunt Reviews, Post Product Hunt Votes och Post Product Hunt Comments parallellt.

Steg 5: konfigurera utdata-/åtgärdsnoder

Posta alla mätvärden till era dashboard-widgets med HTTP Request-noderna.

  1. För Post Docker Stars och Post Docker Pulls, sätt URL till ={{$node["Dashboard Settings"].json["dashboardHostname"]}}/widgets/docker_stars respektive ={{$node["Dashboard Settings"].json["dashboardHostname"]}}/widgets/docker_pulls, med Request Method = POST, och body-parametrar auth_token = ={{$node["Dashboard Settings"].json["dashboardAuthToken"]}} och current = ={{$node["Format Docker Metrics"].json["star_count"]}} / ={{$node["Format Docker Metrics"].json["pull_count"]}}.
  2. För Post npm Maintenance, Post npm Quality, Post npm Popularity och Post npm Final, behåll Request Method = POST och sätt varje URL till dess widget-endpoint, till exempel ={{$node["Dashboard Settings"].json["dashboardHostname"]}}/widgets/npm_quality, med body-parametern value som använder motsvarande poäng från Transform npm Metrics.
  3. För Post GitHub Stars, Post GitHub Watchers, Post GitHub Forks och Post GitHub Issues, sätt varje URL till dess widget-sökväg och body current till motsvarande fält i Format GitHub Metrics.
  4. För Post Product Hunt Rating, Post Product Hunt Reviews, Post Product Hunt Votes och Post Product Hunt Comments, sätt varje URL till dess widget-endpoint och body till reviewsRating, reviewsCount, votesCount och commentsCount från den formaterade Product Hunt-datan.
  5. Eftersom det finns 17+ HTTP request-noder, verifiera att fälten URL och auth_token är konsekventa i alla noder som postar till dashboarden.

Tips: om era dashboard-endpoints ändras, uppdatera bara dashboardHostname i Dashboard Settings så uppdateras resten av arbetsflödet automatiskt.

Steg 6: testa och aktivera ert arbetsflöde

Kör en manuell exekvering för att validera dataflödet och aktivera sedan schemat.

  1. Klicka på Execute Workflow för att trigga Scheduled Trigger manuellt och observera de parallella hämtningarna och postningarna.
  2. En lyckad körning ser ut som slutförda körningar på alla postningsnoder, till exempel Post Docker Stars, Post npm Final, Post GitHub Stars och Post Product Hunt Comments, utan fel.
  3. Kontrollera er dashboard för att bekräfta att widgetvärdena har uppdaterats med formaterade antal och poäng.
  4. När ni är redo för produktion, slå på reglaget Active för arbetsflödet för att aktivera schemalagda körningar från Scheduled Trigger.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Product Hunt-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först statusen för din token i Product Hunts utvecklarinställningar.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att sitta och redigera utdata för alltid.

Vanliga frågor

Hur snabbt kan jag implementera den här automatiseringen för en GitHub Sheets-dashboard?

Vanligtvis ungefär en timme när du har API-uppgifterna.

Kan icke-tekniska team implementera den här automatiseringen för en traction-dashboard?

Ja, men någon behöver vara bekväm med att koppla konton och testköra ett flöde. Ingen kodning, bara noggrann konfiguration.

Är n8n gratis att använda för det här arbetsflödet för en GitHub Sheets-dashboard?

Ja. n8n har ett gratis alternativ för egen drift 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 in API-kostnader för betalda endpoints du anropar (GitHub och Product Hunt kan vara gratis beroende på användning).

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 egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger obegränsade körningar men kräver grundläggande serverhantering.

Hur anpassar jag den här GitHub Sheets-dashboardlösningen till mina specifika utmaningar?

Du kan byta vad som spåras i steget “Dashboard Settings” och sedan justera noderna “Format GitHub Metrics”, “Format Docker Metrics” och “Format Product Hunt Data” så att de matchar dina kolumner i arket. Vanliga justeringar är att spåra flera repos, lägga till fler GitHub-fält som antal releaser och ändra schemat från varje minut till en gång per timme. Om du vill ha narrativa sammanfattningar behåller du AI Agent/OpenAI Chat Model-noden och låter den skriva en veckoblurb i en separat flik i arket.

Varför misslyckas min GitHub-anslutning i det här arbetsflödet?

Oftast beror det på att tokenen har löpt ut eller att tokenen inte har åtkomst till repot du frågar efter. Anslut GitHub-uppgiften på nytt i n8n och kör sedan om noden “Fetch GitHub Repo” för att bekräfta att den returnerar data. Om du slår i rate limits vid frekventa uppdateringar, sänk Cron-frekvensen och undvik att hämta extra fält du inte använder.

Vilken kapacitet har den här GitHub Sheets-dashboardlösningen?

Om du kör egen drift finns ingen körningsgräns (din server är begränsningen). På n8n Cloud har Starter-planen en månatlig körningskvot och högre nivåer klarar mer. I praktiken är det här arbetsflödet lätt: det är en handfull API-anrop per körning, så de flesta små team kan uppdatera varje timme eller dagligen utan att behöva tänka på kapacitet.

Är den här GitHub Sheets-dashboardautomatiseringen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här upplägget kräver flera HTTP-anrop, formateringslogik och utskick till flera mätvärdesfält. n8n hanterar förgreningar och transformationer utan att du behöver betala per “gren”, och egen drift gör högfrekventa uppdateringar kostnadseffektiva. Zapier och Make är fortfarande bra för en enkel tvåapps-synk, men de kan bli klumpiga när du normaliserar data från fyra källor. Dessutom innehåller det här arbetsflödet redan formateringssteg (Function-noderna) så att ditt ark håller sig korrekt formaterat. Om du vill ha hjälp att välja, prata med en automationsexpert så mappar vi det mot din rapporteringsrytm.

En live traction-dashboard förändrar hur du driver lanseringar. Arbetsflödet hanterar den repetitiva insamlingen och formateringen, så att du kan fokusera på vad siffrorna faktiskt säger.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal