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: rättvisa giveaways, rensade bidrag

Rickard Andersson Partner, Nodenordic.se

Giveaways ser enkla ut tills bidragen börjar rulla in. Då fastnar du i att svara på ”är jag berättigad?”, jaga prenumerationskrav och försöka bevisa att du inte ”valde favoriter” när du utser vinnaren.

Det är här spårning av Telegram-giveaways gör störst nytta. Marknadschefer som driver tillväxtkampanjer märker det först, men community-admins och småföretagare dras snabbt in i samma kaos.

Det här n8n-flödet gör din Telegram-bot till ett regelstyrt anmälningssystem med Postgres i ryggen, så att du kan köra rättvisa giveaways och ändå ha ett tydligt revisionsspår när någon klagar.

Så fungerar automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Telegram + Postgres: rättvisa giveaways, rensade bidrag

Utmaningen: rättvisa Telegram-giveaways utan kaos

Att köra en Telegram-giveaway manuellt är en märklig mix av kundsupport, detektivarbete och kalkylarksstress. Folk går med sent, avprenumererar tidigt och förväntar sig ändå att räknas. Samtidigt försöker du hålla koll på vilka kanaler som var obligatoriska, vilka som faktiskt följde dem och vad du gör om någon kallar giveawayen ”riggad”. Det värsta är den mentala belastningen. Även om du kan ”reda ut det” kommer du lägga timmar på dubbelkoll, export av listor och att göra om dragningen eftersom någon regel missades.

Det eskalerar snabbt. Här är var det oftast faller isär.

  • Du slutar med att kopiera användarnamn till ett kalkylark och kan ändå inte säkert bevisa behörighet i efterhand.
  • Prenumerationskrav glider iväg eftersom den ”officiella” kanallistan ligger i ett chatmeddelande någonstans.
  • Folk bråkar om att vinnarvalet inte var slumpmässigt, och du har ingen tydlig logg att hänvisa till.
  • Återställning inför nästa giveaway blir läskig, så du skjuter upp kampanjer du faktiskt vill köra.

Lösningen: ett Telegram-bot + Postgres-system för giveaways

Det här flödet ger dig en Telegram-bot som samlar in bidrag, upprätthåller dina regler och lagrar allt i Postgres så att du kan granska det i efterhand. Du definierar vilka Telegram-kanaler deltagarna måste prenumerera på och delar sedan botlänken. När någon startar boten tilldelar n8n deras Telegram-variabler, kontrollerar aktuell giveaway-status och skickar dem genom rätt meddelanden (deltagarflöde, referensflöde eller managerflöde). Behöriga deltagare läggs in i Postgres, inte i ett skört kalkylark. När det är dags att dra vinnare hämtar flödet deltagarlistan, blandar den, verifierar kraven på kanalprenumeration via Telegram-åtgärder och meddelar vinnare (med aviseringar till ansvarig) samtidigt som dataspåret bevaras.

Flödet startar i Telegram, där användarna redan finns. Postgres blir den enda sanningskällan för deltagare, kanaler och statusflaggor. Till sist postar boten slutmeddelanden för giveawayen och städar upp poster så att du är redo för nästa kampanj.

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

Effekt i praktiken

Säg att du kör en giveaway i veckan med 300 deltagare och 3 obligatoriska kanaler. Manuell hantering kan innebära cirka 5 minuter per ”är den här personen behörig?”-kontroll, plus en timme för att hämta listor och försöka slumpa rättvist, vilket lätt landar på totalt 4–6 timmar. Med det här flödet är uppsättningen en engångsinsats, och varje bidrag loggas automatiskt när användare interagerar med boten. När det är dags att dra vinnare triggar du körningen, flödet blandar deltagare, verifierar kanalkraven och skickar vinnar-/manager-notiser, oftast på minuter istället för en hel eftermiddag.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Telegram för giveaway-boten och meddelanden.
  • Postgres för att lagra deltagare, kanaler och status.
  • Telegram bot token (hämta den via BotFather i Telegram)

Kunskapsnivå: Medel. Du klistrar in ett SQL-skript, kopplar upp credentials och justerar några botmeddelanden.

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

Flödet i workflowet

En användare startar din Telegram-bot. Telegram Trigger fångar meddelandet, och sedan tilldelar n8n centrala Telegram-variabler (som användaridentifierare) så att varje åtgärd kopplas till en verklig deltagare.

Giveaway-status kontrolleras och routas. Flödet läser aktuell botstatus från Postgres och använder switch/if-logik för att avgöra vad personen ska se härnäst (ett välkomstmeddelande, kanalkraven eller managerkontroller).

Bidrag och kanalkrav lagras i Postgres. Deltagare läggs in (eller uppdateras) när de bekräftar deltagande. Kanalposter läggs till och underhålls så att din lista över ”obligatoriska kanaler” inte hänger på någons minne.

Dragningen körs och behörighet verifieras. När admin triggar körningen hämtar n8n deltagare, blandar dem, kontrollerar prenumerationskrav via Telegram-åtgärder, utvärderar success-flaggor och meddelar sedan vinnaren och ansvarig.

Du kan enkelt justera logiken för obligatoriska kanaler för att lägga till fler regler (som en anmälan per användare, referensbonusar eller geografiska begränsningar) utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.

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

Steg 1: Konfigurera Telegram-triggern

Konfigurera arbetsflödets startpunkt så att Telegram-meddelanden startar giveaway-logiken.

  1. Lägg till noden Telegram Trigger Start på er canvas och koppla den till Assign TG Variables.
  2. Credential Required: Anslut era Telegram-inloggningsuppgifter i Telegram Trigger Start.
  3. Verifiera att noden lyssnar på uppdateringar (nya meddelanden, knapp-callbacks) enligt er botkonfiguration.

⚠️ Vanlig fallgrop: Telegram-triggers tar inte emot uppdateringar om er bot-webhook inte är satt, eller om ett annat system redan använder den.

Steg 2: Initiera Telegram-variabler och startlogik

Förbered inkommande Telegram-data och kör inledande routingkontroller.

  1. I Assign TG Variables definierar ni de fält ni behöver från inkommande Telegram-payload (t.ex. chat-ID, användar-ID, meddelandetext).
  2. I Startup Setup konfigurerar ni standardvärden eller flaggor som används senare i routingbeslut.
  3. Koppla Startup Setup till Start Condition Check enligt exekveringsflödet.
  4. Säkerställ att Start Condition Check routar till både Referral Branch och Button Decision baserat på era startvillkor.

Tips: Använd Start Condition Check för att separera referral-registreringar från adminåtgärder tidigt, så undviker ni blandad logik senare.

Steg 3: Konfigurera onboardingflöden för referrals och managers

Sätt upp de två huvudsakliga onboardingflödena för referrals och managers.

  1. Från Referral Branch, säkerställ att referral-flödet leder till Referral Welcome Notice och därefter till Update Status & Referral och Insert Giveaway Participant.
  2. Från Referral Branch, säkerställ att manager-flödet leder till Manager Welcome Notice och därefter till Upsert Bot Status Start.
  3. Credential Required: Anslut era Telegram-inloggningsuppgifter i Referral Welcome Notice och Manager Welcome Notice.
  4. Credential Required: Anslut era Postgres-inloggningsuppgifter i Update Status & Referral, Insert Giveaway Participant och Upsert Bot Status Start.

⚠️ Vanlig fallgrop: Alla Telegram-noder i det här arbetsflödet behöver samma bot-inloggningsuppgifter. Om ni bara ansluter några få kan meddelanden misslyckas utan tydlig felindikering i senare grenar.

Steg 4: Sätt upp hämtning av botstatus och routing

Använd statusdata för att routa inkommande kommandon och knappåtgärder.

  1. Konfigurera Retrieve Bot Status så att den hämtar aktuellt läge från Postgres och sedan routar till Route Flow Logic.
  2. I Route Flow Logic definierar ni switch-fallen som skickar data till Command Router, Append Channel Record eller Giveaway Step Router.
  3. Från Command Router, säkerställ att flödet kopplar till List Channel Output och sedan till Update Status Request Channel.
  4. Credential Required: Anslut era Postgres-inloggningsuppgifter i Retrieve Bot Status och Update Status Request Channel.
  5. Credential Required: Anslut era Telegram-inloggningsuppgifter i List Channel Output.

Steg 5: Hantera kanalinsamling och giveaway-steg

Samla in kanaler, hantera dubbletter och driva giveaway-tillståndet framåt.

  1. Från Append Channel Record verifierar ni att success-spåret fortsätter till Request New Channel Msg och att dubblettspåret fortsätter till Notify Channel Exists.
  2. I Giveaway Step Router routar ni till List Channel Output eller Fetch Participant Records beroende på aktuellt steg.
  3. I Fetch Participant Records och Fetch Channel Records bekräftar ni att era Postgres-frågor returnerar förväntade listor.
  4. Använd Shuffle Participants för att slumpa deltagarna före Fetch Channel Records och Telegram Action.
  5. Credential Required: Anslut era Postgres-inloggningsuppgifter i Append Channel Record, Fetch Participant Records och Fetch Channel Records.
  6. Credential Required: Anslut era Telegram-inloggningsuppgifter i Request New Channel Msg, Notify Channel Exists och Telegram Action.

Tips: Testa kanalinsamlingen med en liten datamängd för att säkerställa att Append Channel Record korrekt grenrar till Notify Channel Exists när dubbletter förekommer.

Steg 6: Konfigurera logik för giveaway-resultat och parallella notifieringar

Aggregera statusflaggor, utvärdera resultat och trigga parallella notifieringar och rensning.

  1. Säkerställ att Telegram Action skickar output till Aggregate Status Flags och därefter till Success Evaluation.
  2. Konfigurera Success Evaluation så att den förgrenar till både success- och failure-rutter.
  3. Success Evaluation skickar output till både Send Success Notice och Notify Winner SMS parallellt.
  4. Från Notify Winner SMS, koppla till Notify Manager SMS, som sedan skickar output till Remove Channel Records, Remove Participant Records och Update Status Start parallellt.
  5. Från Update Status Start, koppla till Send End Message för att avsluta flödet.
  6. Credential Required: Anslut era Telegram-inloggningsuppgifter i Send Success Notice, Send Failure Notice, Notify Winner SMS, Notify Manager SMS och Send End Message.
  7. Credential Required: Anslut era Postgres-inloggningsuppgifter i Remove Channel Records, Remove Participant Records och Update Status Start.

⚠️ Vanlig fallgrop: Send Success Notice och Send Failure Notice är inaktiverade i arbetsflödet. Aktivera dem om ni behöver bekräftelser riktade till deltagare.

Steg 7: Konfigurera knappåtgärder och generering av giveaway-inlägg

Hantera knappstyrda åtgärder och generera giveaway-annonseringen.

  1. Från Button Decision bekräftar ni att huvudspåret routar till Button Options Router och att alternativspåret routar till Retrieve Bot Status.
  2. I Button Options Router ställer ni in switch-fallen så att de triggar Update Status Giveaway Run.
  3. Från Update Status Giveaway Run, koppla till Generate Giveaway Post för att publicera annonseringen.
  4. Credential Required: Anslut era Postgres-inloggningsuppgifter i Update Status Giveaway Run.
  5. Credential Required: Anslut era Telegram-inloggningsuppgifter i Generate Giveaway Post.

Tips: Håll knapp-payloads konsekventa med era switch-fall i Button Options Router för att undvika icke-hanterade flödesvägar.

Steg 8: Anslut och gruppera inloggningsuppgifter för Telegram och Postgres

Det här arbetsflödet använder många Telegram- och Postgres-noder. Gruppera credential-konfigurationen för att säkerställa att alla noder kan köras.

  1. Credential Required: Anslut era Telegram-inloggningsuppgifter till alla Telegram-noder (12+ noder hanterar välkomstmeddelanden, kanalmeddelanden, giveaway-inlägg och notifieringar).
  2. Credential Required: Anslut era Postgres-inloggningsuppgifter till alla Postgres-noder (12+ noder hanterar statusuppdateringar, deltagare, kanalposter och rensning).
  3. Verifiera att varje Telegram-nod använder samma bot-token, om inte ert arbetsflöde medvetet är multi-bot.
  4. Bekräfta att Postgres-noderna använder samma databas och schema för att undvika dataproblem mellan miljöer.

⚠️ Vanlig fallgrop: Arbetsflödets JSON innehåller inte inloggningsuppgifter. Ni måste lägga till Telegram- och Postgres-inloggningsuppgifter manuellt före testning.

Steg 9: Testa och aktivera ert arbetsflöde

Kör ett end-to-end-test för att bekräfta routing, notifieringar och databasåtgärder.

  1. Klicka på Execute Workflow och skicka ett Telegram-meddelande till boten för att trigga Telegram Trigger Start.
  2. Verifiera att Assign TG Variables och Startup Setup sätter förväntade värden och att Start Condition Check routar korrekt.
  3. Bekräfta att Postgres-skrivningar sker i Update Status & Referral, Insert Giveaway Participant och kanalpost-noderna enligt förväntan.
  4. Kontrollera att Success Evaluation skickar output till både Send Success Notice och Notify Winner SMS parallellt, och att Notify Manager SMS triggar sina tre rensningsgrenar parallellt.
  5. När ni är nöjda, slå på Active för att aktivera arbetsflödet i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp med

  • Telegram-botens behörigheter betyder mer än man tror. Om prenumerationskontrollerna misslyckas, bekräfta att boten kan komma åt kanalerna och gå igenom botinställningarna i BotFather först.
  • Om du använder väntetider (eller om Telegram API-svaren laggar) varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Mismatch i Postgres-tabeller/schema stoppar allt tidigt. Om inserts misslyckas, kontrollera ditt körda SQL-skript, schema-namnsersättning och de exakta kolumnnamn som flödet förväntar sig.

Vanliga frågor

Hur snabbt kan jag implementera den här automatiseringen för spårning av Telegram-giveaways?

Cirka 60–90 minuter om din Postgres och bot token är redo.

Kan icke-tekniska team implementera den här spårningen av giveaways?

Ja, men du vill ha någon som är bekväm med att klistra in ett SQL-skript och testa botflödet i Telegram. Ingen kodning, bara noggrann uppsättning.

Är n8n gratis att använda för det här workflowet för spårning av Telegram-giveaways?

Ja. n8n har ett gratis alternativ för egen hosting 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 dina hostingkostnader för Postgres.

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

Hur anpassar jag den här lösningen för spårning av Telegram-giveaways till mina specifika utmaningar?

Börja med Postgres-delarna, eftersom det är där reglerna blir verkliga. Du kan lägga till ett skydd för ”en anmälan per användare” genom att strama åt insert/upsert-logiken i stegen Insert Giveaway Participant och Update Status & Referral, och du kan ändra vad ”behörig” betyder genom att redigera Success Evaluation-logiken som följer efter steget Aggregate Status Flags. Vanliga justeringar är att lägga till fler obligatoriska kanaler, ändra Telegram-meddelandena så att de matchar ert tonalitet, samt logga vinnarannonseringar till Google Sheets för en snabb rapport som går att dela.

Varför fallerar min Telegram-anslutning i det här workflowet?

Oftast är det en ogiltig bot token eller att boten inte har åtkomst till kanalerna du kontrollerar. Skapa en ny token i BotFather vid behov och bekräfta sedan att boten har lagts till korrekt (och med rätt behörigheter) där prenumerationsverifieringen sker. Om det bara fallerar vid hög belastning kan du slå i Telegrams rate limits, så sänk tempot på kontrollerna vid dragning eller batcha dem.

Vilken kapacitet har den här lösningen för spårning av Telegram-giveaways?

För de flesta små kampanjer räcker det gott. På n8n Cloud beror kapaciteten på din plans månatliga körningar; om du kör egen hosting begränsas du främst av din server och Postgres-prestanda.

Är den här automatiseringen för spårning av Telegram-giveaways bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här inte är en enkel ”om X så Y”-automation. Du behöver routinglogik (switchar), statusspårning i Postgres och ett tydligt sätt att återställa kanaler och deltagare efter en körning. n8n hanterar förgreningar och databasoperationer utan att varje extra väg blir en extra kostnad. Zapier och Make kan fortfarande fungera om dina giveaway-regler är minimala, men de blir klumpiga när du lägger till managerkontroller, referenser och ett riktigt revisionsspår. Om du vill ha en second opinion innan du bestämmer dig, prata med en automationsexpert så gör vi en snabb rimlighetskontroll av din uppsättning.

Rättvisa giveaways ska bygga förtroende, inte skapa bråk. Sätt upp detta en gång, så kan du köra återkommande Telegram-kampanjer med kvitton när du behöver dem.

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