Att ta fram skapardata tar märkligt mycket tid. Du hoppar mellan GitHub-filer, kopierar siffror till ett dokument, missar ett fält och får sedan göra om allt nästa gång någon frågar “snabbt” i chatten.
Om du är community manager känner du av det här varje vecka. Ops-ansvariga som sammanställer interna uppdateringar hamnar i samma röra. Och kreatörer som följer sitt eget arbete fastnar i kalkylblad. Den här automatiseringen för Telegram GitHub-rapporter gör en enda chatförfrågan till en delbar Markdown-rapport.
Nedan ser du vad workflowet gör, vad som förändras i vardagen och vad du behöver för att köra det stabilt i n8n.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Telegram + GitHub: skaparrapporter på beställning
flowchart LR
subgraph sg0["When Executed by Another Workflow 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/httprequest.dark.svg' width='40' height='40' /></div><br/>stats_aggregate_creators"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>stats_aggregate_workflows"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Global Variables", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse Workflow Data", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse Creators Data", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Take Top 25 Creators", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter By Creator Username", pos: "b", h: 48 }
n9@{ icon: "mdi:play-circle", form: "rounded", label: "When Executed by Another Wor..", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Response", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Creators Data", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflows Data", pos: "b", h: 48 }
n20["<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/merge.svg' width='40' height='40' /></div><br/>Merge Creators & Workflows"]
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Creators", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Workflows", pos: "b", h: 48 }
n23@{ icon: "mdi:cog", form: "rounded", label: "Sort By Top Weekly Creator I..", pos: "b", h: 48 }
n24@{ icon: "mdi:cog", form: "rounded", label: "Sort By Top Weekly Workflow ..", pos: "b", h: 48 }
n25@{ icon: "mdi:cog", form: "rounded", label: "Take Top 300 Workflows", pos: "b", h: 48 }
n6 --> n13
n18 --> n20
n19 --> n20
n2 --> n0
n2 --> n1
n21 --> n23
n4 --> n21
n3 --> n22
n22 --> n24
n5 --> n18
n25 --> n19
n0 --> n4
n1 --> n3
n7 --> n6
n20 --> n7
n9 --> n2
n23 --> n5
n24 --> n25
end
subgraph sg1["When chat message received Flow"]
direction LR
n8@{ icon: "mdi:brain", form: "rounded", label: "gpt-4o-mini", pos: "b", h: 48 }
n10@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n11@{ icon: "mdi:wrench", form: "rounded", label: "Workflow Tool", pos: "b", h: 48 }
n12@{ icon: "mdi:cog", form: "rounded", label: "creator-summary", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "n8n Creator Stats Agent", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Save creator-summary.md", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Summary Report", pos: "b", h: 48 }
n26@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory", pos: "b", h: 48 }
n8 -.-> n14
n11 -.-> n14
n12 --> n15
n26 -.-> n14
n14 --> n16
n14 --> n12
n10 --> n14
end
subgraph sg2["Flow 3"]
direction LR
n17@{ icon: "mdi:brain", form: "rounded", label: "Ollama Chat Model", 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 n9,n10 trigger
class n14 ai
class n8,n17 aiModel
class n11 ai
class n26 ai
class n7 decision
class n0,n1 api
class n17 disabled
classDef customIcon fill:none,stroke:none
class n0,n1,n20 customIcon
Utmaningen: göra rå GitHub-statistik till en användbar uppdatering
Skapar- och workflow-statistik lagras ofta som JSON i GitHub-repon. Det är toppen för maskiner, men mindre bra för människor som behöver en korrekt formaterad uppdatering i Slack, e-post eller ett community-inlägg. Den verkliga smärtan är upprepningen: du letar upp samma filer, filtrerar på samma skaparnamn och bygger om samma lilla tabell med “topp-workflows” om och om igen. Det är lätt att klistra in fel siffra, blanda veckovisa och månatliga mätvärden eller glömma att lägga till sammanhang. Sedan felsöker du din egen rapport i stället för att dela insikter.
Friktionen ökar snabbt. Här är var det faller isär i verkliga team.
- Att hitta rätt GitHub JSON-filer tar längre tid än det borde, särskilt när URL:er eller sökvägar ändras.
- Manuell filtrering på skaparnamn är felkänslig, så du hamnar ändå med att dubbelkolla allt.
- Vecko- och månadsmetrics blandas ihop, vilket leder till obekväma “vänta, det där kan inte stämma”-samtal.
- Rapporter kommer ut i olika format varje gång, så ingen litar på dem som en konsekvent källa.
Lösningen: fråga i Telegram, få en Markdown-rapport för kreatören tillbaka
Det här workflowet gör ett Telegram-meddelande till en rapport med skapardata vid begäran, genererad från GitHub-data och formaterad som korrekt formaterad Markdown. Det startar när någon ber om ett specifikt användarnamn (till exempel “visa mig statistik för användarnamnet alex”). n8n hämtar sedan två JSON-dataset från GitHub: ett för kreatörer och ett för workflows. Det extraherar arrayerna, sorterar och begränsar resultaten så att du jobbar med meningsfulla urval (som topp-kreatörer och topp-workflows), och sammanfogar därefter skapare- och workflow-poster på användarnamn. Efter att det filtrerat ner till användarnamnet du bad om skriver en AI-agent en läsbar sammanfattning med en tabell över nyckeltal och lite tolkning. Till sist sparas rapporten som en tidsstämplad Markdown-fil så att du kan återanvända den eller dela den utan att köra hela jakten igen.
Workflowet börjar med en Telegram-trigger och skickar vidare förfrågan till en AI-agent. I bakgrunden hämtar och sammanfogar det GitHub-statistik och levererar sedan en konsekvent Markdown-rapport som du kan skicka via e-post, använda i en community-uppdatering eller spara i ditt eget arkiv.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du märker |
|---|---|
|
|
Praktisk effekt
Säg att du publicerar en veckovis “creator spotlight” och dessutom svarar på några ad hoc-förfrågningar i Telegram. Manuell hantering innebär att varje rapport oftast betyder att öppna GitHub, hitta två JSON-källor, filtrera och skriva om sammanfattningen, vilket tar ungefär 30 minuter per förfrågan. Tre förfrågningar på en vecka blir cirka 90 minuter repetitivt arbete. Med det här workflowet lägger du kanske 1 minut på att skicka användarnamnet i Telegram, väntar på bearbetning och får en färdig Markdown-fil att dela. Det är ungefär en timme tillbaka de flesta veckor, och resultatet håller sig konsekvent.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Telegram för att ta emot förfrågan om användarnamn.
- GitHub (via HTTP) för att hämta JSON-statistikfilerna.
- OpenAI-uppgifter (hämta dem i din OpenAI API-dashboard)
Svårighetsnivå: Medel. Du kopplar konton, sätter ett par variabler och testar med riktiga Telegram-meddelanden.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Workflow-flödet
Ett Telegram-meddelande startar allt. Någon skickar en chatförfrågan med ett skaparnamn, och workflowet fångar texten så att det vet vem det ska slå upp.
GitHub-statistik hämtas och struktureras. n8n använder HTTP-förfrågningar för att hämta skaparmetrics och workflow-metrics från GitHub-hostade JSON-filer och extraherar sedan arrayerna så att de är enkla att arbeta med.
Poster sorteras, begränsas, sammanfogas och filtreras. Workflowet sorterar veckovisa inserts, begränsar datasetet till den mest relevanta delen (topp-kreatörer, topp-workflows), mappar fält till en konsekvent struktur, sammanfogar skapare- och workflow-data och filtrerar ner till det efterfrågade användarnamnet.
En AI-agent skriver rapporten och sparar den. OpenAI-chatmodellen genererar en Markdown-sammanfattning med tabeller och lättförståeliga insikter, och sedan skriver n8n en tidsstämplad fil som du kan återanvända eller vidarebefordra.
Du kan enkelt ändra vart rapporten ska skickas (Telegram-svar, Gmail, Google Drive) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera chattriggern
Detta arbetsflöde kan initieras antingen av ett chattmeddelande eller av ett överordnat arbetsflöde, vilket möjliggör både interaktiv och programmatisk körning.
- Lägg till och placera Chat Message Trigger för att ta emot interaktiva chattförfrågningar.
- Behåll standardalternativen i Chat Message Trigger (inga anpassade fält krävs).
- Lägg till Triggered by Parent Workflow för programmatisk anropning från ett annat arbetsflöde.
- I Triggered by Parent Workflow ställer ni in Input Source till
jsonExampleoch behåller exempel-payloaden: - Ställ in JSON Example till
{ "query": { "username": "sample_user" } }.
Steg 2: Anslut och initiera källdata
Initiera bas-URL:er och filnamn, och hämta sedan skapare- och arbetsflödesmätvärden parallellt.
- I Initialize Global Fields ställer ni in path till
https://raw.githubusercontent.com/teds-tech-talks/n8n-community-leaderboard/refs/heads/main/. - Ställ in workflows-filename till
=stats_aggregate_workflowsoch creators-filename till=stats_aggregate_creators. - Ställ in chart-filename till
=stats_aggregate_chart. - Ställ in datetime till
={{ $now.format('yyyy-MM-dd') }}och username till={{ $json.query.username }}. - Initialize Global Fields skickar utdata till både Fetch Creator Metrics och Retrieve Workflow Metrics parallellt.
- I Fetch Creator Metrics ställer ni in URL till
={{ $json.path }}{{ $json['creators-filename'] }}.json. - I Retrieve Workflow Metrics ställer ni in URL till
={{ $json.path }}{{ $json['workflows-filename'] }}.json.
Steg 3: Konfigurera AI-bearbetning och verktyg
AI-agenten genererar en markdown-rapport med hjälp av en språkmodell, ett arbetsflödesverktyg och minne.
- I Creator Insights Agent ställer ni in Text till
={{ $json.chatInput }}och behåller Prompt Type somdefine. - Anslut OpenAI Mini Chat Model som språkmodell för Creator Insights Agent.
- Inloggningsuppgifter krävs: Anslut era
openAiApi-inloggningsuppgifter i OpenAI Mini Chat Model. - Anslut Workflow Stats Tool som ett verktyg till Creator Insights Agent och behåll workflowId inställt på
={{ $workflow.id }}. - Anslut Windowed Chat Memory till Creator Insights Agent för konversationsminne.
- Obs: Workflow Stats Tool och Windowed Chat Memory är AI-undernoder; inloggningsuppgifter (om de behövs) ska läggas till i den överordnade Creator Insights Agent, inte i undernoderna själva.
- Om ni planerar att använda Ollama Chat Engine, aktivera noden och lägg till inloggningsuppgifter.
- Inloggningsuppgifter krävs: Anslut era
ollamaApi-inloggningsuppgifter i Ollama Chat Engine.
Steg 4: Konfigurera databearbetning och filtrering
Detta avsnitt delar upp, sorterar och sammanfogar skapare- och arbetsflödesmätvärden, och filtrerar sedan till den efterfrågade skaparen.
- I Extract Creator Array och Extract Workflow Array mappar ni data till
={{ $json.data }}. - Ställ in Split Creator Items och Split Workflow Items så att de delar upp fieldToSplitOut som
data. - I Sort Weekly Creator Inserts sorterar ni efter sum_unique_weekly_inserters i
descendingordning. - I Sort Weekly Workflow Inserts sorterar ni efter unique_weekly_inserters i
descendingordning. - I Limit Top 25 Creators ställer ni in Max Items till
25; i Limit Top 300 Workflows ställer ni in Max Items till300. - Mappa skaparfält i Map Creator Fields, inklusive username som
={{ $json.user.username }}och totalsummor som={{ $json.sum_unique_weekly_inserters }}. - Mappa arbetsflödesfält i Map Workflow Fields, inklusive wf_detais.name som
={{ $json.wf_detais.name }}och inserter-/visitor-mätvärden. - I Combine Creator & Workflow ställer ni in Mode till
combine, Join Mode tillenrichInput1och Fields To Match tillusername. - I Filter by Creator Handle jämför ni leftValue
={{ $json.username }}med rightValue={{ $('Initialize Global Fields').item.json.username }}. - Aggregera resultat med Aggregate Records genom att använda Aggregate inställt på
aggregateAllItemData, och mappa sedan svaret i Prepare Workflow Response till={{ $json.data }}.
Steg 5: Konfigurera utdata och filskrivning
Den AI-genererade rapporten mappas till utdata och sparas i en markdown-fil med tidsstämpel.
- Creator Insights Agent skickar utdata till både Map Summary Output och Creator Summary File parallellt.
- I Map Summary Output mappar ni output till
={{ $json.output }}. - I Creator Summary File ställer ni in Operation till
toTextoch Source Property tilloutput. - I Write Summary Markdown ställer ni in Operation till
writeoch File Name till=C:\\Users\\[YOUR_ID]\\Downloads\\{{ $binary.data.fileName }}-{{ $now.format('yyyy-MM-dd-hh-mm-ss') }}.md. - Aktivera Append i Write Summary Markdown om ni vill att flera körningar ska lägga till i samma fil.
C:\\Users\\[YOUR_ID]\\Downloads\\ till en giltig sökväg på ert system.Steg 6: Testa och aktivera ert arbetsflöde
Validera både chattriggern och triggern för överordnat arbetsflöde för att säkerställa korrekt dataflöde och att filen skapas.
- Klicka på Execute Workflow och skicka ett chattmeddelande via Chat Message Trigger med ett skaparanvändarnamn.
- Verifiera att Creator Insights Agent producerar markdown-utdata och att Write Summary Markdown skriver en
.md-fil till er angivna sökväg. - Testa den programmatiska vägen genom att köra Triggered by Parent Workflow och bekräfta att Initialize Global Fields tar emot användarnamnet.
- En lyckad körning ska visa att data fylls på genom Combine Creator & Workflow och filtreras i Filter by Creator Handle.
- När ni är redo växlar ni arbetsflödet till Active för att möjliggöra produktionsanvändning.
Se upp för
- Telegram-uppgifter kan gå ut eller kräva särskilda behörigheter. Om något slutar fungera, kontrollera först din Telegram bot-token och chattbehörigheter i n8n:s Credentials.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om din Telegram-bot och din OpenAI-nyckel är klara.
Ja, men du vill ha någon som är bekväm med att koppla Credentials i n8n. Ingen kodning, bara noggrann konfiguration och testning.
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 OpenAI API-användning, som vanligtvis är låg för en enskild Markdown-rapport.
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 klarar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.
Det går. De flesta team börjar med att byta ut destinationen: behåll Markdown-genereringen, men skicka den till Gmail, spara den i Google Drive eller posta den tillbaka i Telegram. Om du vill ha andra mätvärden justerar du GitHub JSON-URL:erna i den globala fältkonfigurationen och uppdaterar stegen för att “mappa fält” så att sammanslagningen fortfarande matchar på användarnamn. Du kan också justera AI-agentens prompt så att den fokuserar på det du bryr dig om (veckovisa inserts, endast topp-workflows eller en kort sammanfattning för ledning).
Oftast är det en utgången eller felaktig bot-token, eller att boten inte får läsa meddelanden i chatten du testar i. Uppdatera Telegram-credential i n8n och bekräfta sedan att boten är tillagd i chatten och har behörighet att ta emot meddelanden. Om det fortfarande misslyckas, kontrollera n8n:s körlogg efter ett “401”- eller “403”-svar, vilket pekar på autentisering eller åtkomstproblem.
Gott om kapacitet för normal teamanvändning: några dussin förfrågningar per dag är vanligtvis inga problem.
Ofta, ja. Det här workflowet gör flerstegs databearbetning (sortering, begränsning, sammanslagning, filtrering) innan det ens skriver rapporten, och n8n hanterar den typen av logik snyggt utan att det blir en hög med betalda “tasks”. Self-hosting-alternativet spelar också roll om du förväntar dig många körningar, eftersom du inte betalar per litet steg. Zapier eller Make kan fortfarande vara bra om du bara vill ha ett enkelt “Telegram-meddelande in, skicka ett standardsvar ut”. Om du är osäker, prata med en automationsexpert så kvalitetssäkrar vi vilket verktyg som är bäst för din volym och komplexitet.
När detta väl är uppsatt blir “kan du plocka fram statistik för ___?” en uppgift på ett meddelande, inte ett miniprojekt. Workflowet sköter de upprepningsbara delarna, så att du kan fokusera på vad siffrorna faktiskt betyder.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.