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

Telegram + Postgres-quiz med poäng och ranking

Rickard Andersson Partner, Nodenordic.se

Att köra ett quiz i chatten låter enkelt tills du sitter och kopierar svar till kalkylark, jagar saknade svar och diskuterar med dig själv vad som egentligen “räknas” som rätt. Sedan vill någon ha en topplista. Eller en korrekt formaterad rapport. Och plötsligt blir allt administrativt arbete.

HR-chefer märker det när det är dags för utbildningsefterlevnad. En lärare som kör veckotester stöter på samma vägg. Det gör även en team lead som onboardar nyanställda. Den här automatiseringen för poängsättning av Telegram-quiz håller quizet i Telegram och lägger datan där den hör hemma: i en databas, poängsatt och klar.

Nedan ser du hur flödet körs, vad det automatiserar från början till slut, och vad du kan justera för att matcha din poängsättningsstil och ton.

Så här fungerar automatiseringen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Telegram + Postgres-quiz med poäng och ranking

Problemet: quiz i chatten blir snabbt rörigt

Att samla in svar i Telegram (eller valfri chatt) är enkelt. Att hantera dem är den smärtsamma delen. Du scrollar genom trådar för att hitta vem som svarade vad, och skriver sedan in det någonstans “officiellt” så att du kan poängsätta. Missar du ett meddelande blir resultaten fel. Lägg till ett andra quiz, en andra grupp eller en andra granskare, och plötsligt hanterar du inkonsekvent poängsättning, dubbla försök och rapporter som inte matchar det deltagarna såg i chatten.

Friktionen byggs på. Det är inte ett stort haveri, det är dussintals små som stjäl din uppmärksamhet.

  • Svaren ligger i Telegram-historiken, vilket gör att rapporteringen börjar med att söka och gissa.
  • Manuell poängsättning skapar lätt inkonsekvens, särskilt när flera personer kör samma test.
  • Deltagare frågar “hur gick det?” och du lägger ytterligare en timme på att sammanställa ranking.
  • När du vill se trender över tid är datan för rörig för att lita på.

Lösningen: Telegram-quiz loggas, poängsätts och rankas i Postgres

Det här n8n-flödet gör Telegram till ingången för quiz, och använder sedan Postgres som systemet som gäller. En deltagare startar i Telegram-botten, flödet kontrollerar var personen befinner sig i processen och skickar vidare till rätt steg (meny, testlista eller nästa obesvarade fråga). Frågor och svar hämtas från Postgres, flödet blandar ordningen och levererar sedan varje fråga i chatten. Varje svar registreras direkt tillbaka i Postgres, så du är inte beroende av att någon “sparar det senare”. I slutet räknas resultaten ut i databasen och deltagaren får sitt resultat plus en vy med ranking, direkt i Telegram.

Flödet startar med ett Telegram-meddelande till din bot. Därefter hämtar det testinnehåll från Postgres, skickar frågor en i taget och loggar varje svar när det kommer in. Slutligen beräknar det poängen och delar deltagarens ranking så att du slipper extra uppföljning.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du kör ett onboarding-quiz med 10 frågor för 20 nyanställda varje månad. Manuellt kan du lägga cirka 5 minuter per person bara på att hitta svar i chatten och mata in dem någonstans användbart, vilket blir ungefär 2 timmar innan du ens börjar poängsätta och ranka. Med det här flödet är “admin”-delen i princip noll: deltagaren startar botten, svarar i Telegram och Postgres lagrar varje svar automatiskt. Du lägger fortfarande tid på att granska utfall, men copy-paste och uppstädning försvinner.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Telegram för quizbotten och chatten med deltagare.
  • Postgres för att lagra tester, svar och poäng.
  • Postgres-schema/tabeller (skapa dem med den medföljande SQL-skriptfilen).

Kunskapsnivå: Medel. Du kopplar ihop Telegram och Postgres, kör ett SQL-skript och mappar några fält i n8n.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En deltagare skickar ett meddelande till din Telegram-bot. Telegram-triggern startar flödet och sätter variabler för sessionen, till exempel vilket menyläge användaren är i och vilket test de gör.

Flödet skickar dem till rätt steg. Med enkla kontroller och switchar avgör n8n om det ska visa en hälsning, visa testlistan, starta ett nytt försök eller fortsätta med obesvarade frågor.

Frågor hämtas från Postgres och levereras i chatten. Flödet hämtar frågor och svar, blandar dem, sätter aktuellt index och skickar nästa fråga. Det finns även en kort väntan och meddelanderensning så att chatten förblir lättläst.

Svar registreras och resultaten beräknas. Varje svar skrivs till Postgres, flödet kontrollerar vad som återstår, och när quizet är klart beräknar det poängen och skickar resultat plus ranking tillbaka till Telegram.

Du kan enkelt ändra poänglogiken för att acceptera delpoäng eller andra svarsformat beroende på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera Telegram-triggern

Det här arbetsflödet startar när ett Telegram-meddelande kommer in, initierar variabler och bootstrapp:ar sessionen innan användaren routas vidare.

  1. Lägg till och öppna Telegram Intake Trigger och koppla den till Telegram Variable Setup.
  2. Öppna Telegram Variable Setup och definiera de användar-/sessionsfält ni behöver för routing längre fram i flödet.
  3. Öppna Bootstrap Setup och ställ in eventuella standardvariabler som krävs för quizets state.
  4. Verifiera exekveringsvägen Telegram Intake TriggerTelegram Variable SetupBootstrap SetupStart Checkpoint.

Inloggningsuppgift krävs: Anslut era Telegram-inloggningsuppgifter (krävs för Telegram Intake Trigger och alla Telegram-noder).

Steg 2: konfigurera initial routing och hälsning

Efter bootstrap avgör arbetsflödet om användaren ska få en hälsning och hur kommandon ska routas jämfört med knappåtgärder.

  1. Öppna Start Checkpoint och konfigurera IF-villkoren som styr om användare får hälsningen och route-väljaren.
  2. Konfigurera Greeting Notice med ert välkomstmeddelande till användaren.
  3. Öppna Route Selector och definiera switch-regler för att skicka Telegram-input antingen till Button Branching eller Command Routing.
  4. I Button Branching lägger ni till rutter för interaktiva knappåtgärder till Primary Menu och Test Mode Router.
  5. I Command Routing definierar ni kommandobaserade flöden till Retrieve Test List och fallback till Error Notification.

Inloggningsuppgift krävs: Anslut era Telegram-inloggningsuppgifter (krävs för Greeting Notice, Primary Menu och Error Notification).

Steg 3: anslut databasoperationer (Postgres)

Arbetsflödet använder Postgres för quizlistor, enskilda test, svarsinspelning och resultatberäkning. Konfigurera inloggningsuppgifter för alla databasnoder.

  1. Öppna Set Bot Status och konfigurera den SQL som behövs för att registrera eller uppdatera botens sessionsstatus.
  2. Öppna Retrieve Test List och ställ in er query så att den returnerar tillgängliga quiz för användaren.
  3. Konfigurera frågorna i Fetch Single Test och Fetch Q&A Items för att hämta valt quiz och dess frågor.
  4. Öppna Upsert Predicted Answer och Record Answer för att lagra förutsagda/faktiska svar vid behov.
  5. Konfigurera Load Unanswered Items och Compute Results för att ladda återstående frågor och räkna ut slutpoängen.

Inloggningsuppgift krävs: Anslut era Postgres-inloggningsuppgifter (krävs för alla Postgres-noder som Retrieve Test List, Fetch Q&A Items, Compute Results och andra).

Steg 4: bygg testlistan och inflödet för att starta

När en lista har hämtats formaterar och visar arbetsflödet den, och låter sedan användare gå in i ett valt test.

  1. Öppna Attach Question Index för att mappa index för listan av test som returneras av Retrieve Test List.
  2. Konfigurera Summarize List för att bygga en kondenserad utdata-lista från den indexerade datan.
  3. Öppna Display Test List och formatera utdatameddelandet som skickas till Telegram.
  4. Säkerställ att vägen Fetch Single TestRun Test EntryFetch Q&A Items är kopplad för att starta ett valt test.

Inloggningsuppgift krävs: Anslut era Telegram-inloggningsuppgifter för Display Test List och Run Test Entry.

Steg 5: konfigurera frågehantering och parallell branching

Frågor slumpas, bearbetas och slås ihop innan förutsagda svar lagras. Det här steget använder en parallell branch efter omblandningen.

  1. Öppna Shuffle Questions och konfigurera sorterings-/shuffle-logiken för frågeordningen.
  2. Shuffle Questions skickar output parallellt till både Custom Script och Assign Variables.
  3. I Custom Script lägger ni till eventuell anpassad logik för frågemetadata eller filtrering.
  4. I Assign Variables mappar ni frågedata till konsekventa fält för efterföljande noder.
  5. Bekräfta att båda grenarna slås ihop i Combine Streams innan lagring med Upsert Predicted Answer.

Steg 6: leverera frågor, vänta och städa upp meddelanden

Det här avsnittet skickar varje fråga till Telegram, väntar och tar bort tidigare meddelanden för att hålla chatten ren.

  1. Öppna Send Question och formatera frågepayloaden som skickas till användaren.
  2. Konfigurera Delay Step för att definiera väntetiden innan städning.
  3. Öppna Remove Message för att radera eller dölja tidigare meddelanden efter fördröjningen.

Inloggningsuppgift krävs: Anslut era Telegram-inloggningsuppgifter för Send Question och Remove Message.

Steg 7: registrera svar och avgör om ni ska fortsätta

Svar lagras och arbetsflödet kontrollerar om det finns kvarvarande frågor, och loopar tillbaka eller beräknar resultat.

  1. Öppna Record Answer för att lagra användarens svar i er databas.
  2. Konfigurera Load Unanswered Items för att hämta nästa uppsättning obesvarade frågor.
  3. I Remaining Questions? ställer ni in IF-logiken för att routa till Shuffle Questions när frågor återstår eller till Compute Results när det är klart.

Inloggningsuppgift krävs: Anslut era Postgres-inloggningsuppgifter för Record Answer och Load Unanswered Items.

Steg 8: skicka resultat till användaren

När quizet avslutas beräknas resultaten och skickas via Telegram.

  1. Öppna Compute Results och säkerställ att SQL:en returnerar de poäng- och sammanfattningsfält ni vill visa.
  2. Konfigurera Send Results för att formatera det slutliga svarsmeddelandet till användaren.

Inloggningsuppgift krävs: Anslut era Telegram-inloggningsuppgifter för Send Results.

Steg 9: testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att validera Telegram-input, quizflöde, databasskrivningar och slutlig resultatutdata.

  1. Klicka på Execute Workflow och skicka ett meddelande till er Telegram-bot för att trigga Telegram Intake Trigger.
  2. Verifiera att hälsnings- och routingbeteendet går genom Greeting Notice, Route Selector och Primary Menu.
  3. Välj ett test och bekräfta att frågor skickas via Send Question med fördröjningen och städningen igång.
  4. Genomför quizet och bekräfta att Send Results publicerar slutpoängen.
  5. När allt fungerar, växla arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Telegram-botens inloggningsuppgifter kan gå ut eller vara kopplade till fel bot. Om meddelanden slutar skickas, kontrollera först dina autentiseringsuppgifter för Telegram-noden i n8n och bekräfta sedan att bot-token fortfarande är giltig i BotFather.
  • Om du använder Wait-noder eller förlitar dig på chatt-timing varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar eller om användaren svarar långsammare än förväntat.
  • Postgres-behörigheter spelar större roll än många tror. Om upserts eller inserts misslyckas, kontrollera databas-användarens rättigheter på dina quiz-tabeller och bekräfta att du har ersatt standard-schemanamnet “n8n” i SQL-skriptet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för poängsättning av Telegram-quiz?

Cirka 45 minuter om din Postgres och din Telegram-bot är redo.

Behöver jag kunna koda för att automatisera poängsättning av Telegram-quiz?

Nej. Du kopplar främst ihop konton och klistrar in den SQL som ingår för att skapa tabeller.

Är n8n gratis att använda för det här flödet för poängsättning av Telegram-quiz?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Molnplaner börjar på 20 USD/månad för högre volymer. Du behöver också räkna med kostnader för databashosting (Postgres ingår ofta i din befintliga stack).

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 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.

Kan jag anpassa det här flödet för poängsättning av Telegram-quiz för flera quiz och olika poängregler?

Ja, och det kommer du sannolikt vilja göra. De flesta anpassar genom att redigera testinnehållet direkt i Postgres och sedan justera texterna i Telegram-stegen “Send Question” och “Send Results” så att det matchar deras ton. Om du behöver andra utvärderingsmetoder (delpoäng, minuspoäng eller flera korrekta svar) uppdaterar du Postgres-frågan för poängsättning som används i “Compute Results”, och justerar de värden som flödet lagrar i “Record Answer”. Du kan också ändra blandningsbeteendet genom att redigera logiken i “Shuffle Questions” så att vissa frågor alltid visas först.

Varför fungerar inte min Telegram-anslutning i det här flödet?

Oftast beror det på en ogiltig eller roterad bot-token, så att Telegram-noderna inte längre kan skicka meddelanden. Uppdatera Telegram-autentiseringsuppgifterna i n8n och kör sedan ett testmeddelande från “Greeting Notice” eller “Send Question”. Om det fortfarande fallerar, kontrollera att botten får skicka meddelanden till användare (de måste starta botten först), och bekräfta att du inte blandar miljöer om du har en testbot och en produktionsbot.

Hur många quizförsök kan den här automatiseringen för poängsättning av Telegram-quiz hantera?

På n8n Cloud Starter kan du köra några tusen flödeskörningar per månad, vilket räcker för många små team som kör quiz varje vecka. Om du self-hostar finns inget tak för antal körningar, så begränsningen är främst din server och Postgres-prestanda. I praktiken hanterar flödet många samtidiga användare utan problem eftersom varje svar bara är en liten databasskrivning och ett Telegram-meddelande. Om du förväntar dig stora toppar, börja med att öka väntetider och säkerställ att din Postgres har index på fält för försök och användare.

Är den här automatiseringen för poängsättning av Telegram-quiz bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet inte är en enkel tvåstegsautomation “skicka och logga”. Du behöver förgreningar, tillståndshantering och återkommande frågeloopar, vilket n8n hanterar snyggt utan att tvinga dig till dyra task-volymer. Self-hosting är också viktigt om du kör quiz ofta. Zapier eller Make kan vara enklare för väldigt små flöden, men blir snabbt klumpiga när du ska hantera menyer, omförsök och rankinglogik. Om du vill ha hjälp att välja, prata med en automationsexpert så tar vi fram det enklaste alternativet för din setup.

När detta väl rullar slutar quiz att vara ett uppstädningsprojekt. Flödet tar hand om de repetitiva delarna så att du kan fokusera på vad resultaten 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.

×

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