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: åtkomstkontroll utan manuella kontroller

Rickard Andersson Partner, Nodenordic.se

Du har ett Telegram-erbjudande med “gå med för att få åtkomst”, och det funkar… tills det inte gör det. Folk hävdar att de gått med, du kan inte verifiera snabbt, och plötsligt är din dag ett kaos av skärmdumpar och “snälla lås upp”-DM:s.

Den här konfigurationen för åtkomstspärr i Telegram träffar marknadsförare som kör giveaways och lead magnets först. Men community managers känner också av det, liksom byråägare som behöver strukturerade, repeterbara kundkampanjer. Resultatet är enkelt: åtkomst beviljas bara när kravet att gå med faktiskt är uppfyllt, inte bara när någon säger att det är det.

Det här arbetsflödet gör din bot till en automatisk grindvakt med Postgres som “source of truth”. Du får se vad som automatiseras, vad du får tillbaka och hur delarna hänger ihop.

Så fungerar automationen

Hela n8n-arbetsflödet, från trigger till slutligt resultat:

n8n Workflow Template: Telegram + Postgres: åtkomstkontroll utan manuella kontroller

Problemet: spärrad åtkomst blir manuell polisverksamhet

“Gå med i vår kanal för att få filen” låter enkelt. I verkligheten blir det ett dagligt modereringsjobb: folk går med, lämnar, går med igen och bråkar om huruvida de är berättigade. Om du kör flera obligatoriska kanaler multipliceras huvudvärken, eftersom du kontrollerar medlemskap på olika ställen och försöker hålla reglerna konsekventa. Och när du har mycket att göra blir grinden “mjuk”. Någon får åtkomst utan att kvalificera sig, det sprids, och nu är din “belöning” i praktiken offentlig.

Det eskalerar snabbt. Här är var det brukar gå sönder.

  • Du gör medlemskapskontroller manuellt, vilket kan ta runt 10 minuter per förfrågan när du räknar in fram och tillbaka i meddelanden.
  • Reglerna glider över tid eftersom ingen minns vilka kanaler som är “obligatoriska” den här veckan.
  • Support-DM:s staplas, och du kan ändå inte bevisa vem som faktiskt kvalificerade sig när någon klagar.
  • Rekommendationer och promolänkar blir röriga, så du kan inte se vilka användare som kom från vilken kampanj.

Lösningen: Telegram-boten spärrar åtkomst med kontroller som backas av Postgres

Det här n8n-arbetsflödet gör din Telegram-bot till en konsekvent grind som automatiskt kontrollerar “obligatoriska kanal-joins” och sedan svarar baserat på resultatet. Det startar när någon skriver till din bot (eller klickar på din rekommendationslänk) och arbetsflödet laddar den aktuella listan med obligatoriska kanal-ID:n från Postgres. Därefter kontrollerar boten användarens prenumerationsstatus för varje kanal och slår ihop resultaten till ett tydligt godkänd/underkänd-beslut. Om något krav saknas får de exakt instruktion om vad de ska göra och boten kan skicka ett välkomstmeddelande i rekommendationsstil. Om de godkänns skickar boten ett framgångsmeddelande (och arbetsflödet är redan förberett för att leverera en fil från Google Drive, även om den delen för närvarande är inaktiv).

Arbetsflödet börjar med en Telegram-meddelandetrigger och lite kontextsetup. Postgres håller dina kanalregler och användarstatus, så kontrollerna förblir konsekventa över tid. Till sist levererar Telegram rätt meddelande: “du är inne” eller “inte än”, med en tydlig väg framåt.

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du kör en veckovis giveaway där användare måste gå med i 3 kanaler innan de kan ladda ner belöningen. Om 50 personer begär åtkomst innebär manuell kontroll på cirka 10 minuter per person ungefär 8 timmar monotont jobb (och då är inte diskussionerna ens inräknade). Med det här arbetsflödet klickar användaren på din rekommendationslänk, boten kontrollerar alla 3 kanaler automatiskt och de får ett direkt godkänd/underkänd-meddelande. Du kommer fortfarande lägga tid på kampanjen, men inte på att agera polis.

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-bot som tar emot meddelanden och svarar.
  • Postgres för att lagra kanaler, användartillstånd och rekommendationer.
  • Telegram bot token (hämtas från BotFather i Telegram).

Kunskapsnivå: Mellan. Du kopplar in credentials, kör ett SQL-skript som du får och är bekväm med att testa bot-kommandon.

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

Så fungerar det

En användare skriver till din bot eller kommer in via en rekommendationslänk. Telegram-triggern fångar deras chattdetaljer, och arbetsflödet sätter variabler så att varje efterföljande steg vet vem användaren är och vad de efterfrågade.

Din bot kontrollerar vilket läge den ska köra i. Postgres lagrar “botstatus” och användartillstånd, så arbetsflödet kan routa till rätt spår (start, kontrollera åtkomst, lista kanaler, lägg till kanal, ta bort kanal).

De obligatoriska kanalerna laddas från Postgres och sedan verifieras Telegram-medlemskap. Arbetsflödet hämtar kanallistan, kontrollerar användarens prenumerationsstatus för varje kanal, aggregerar resultaten och slår ihop dem till ett enda beslut. Om en kanal saknas talar boten om det och kan skicka ett välkomstmeddelande som knuffar användaren tillbaka till rätt join-länkar.

Lyckat eller misslyckat kommuniceras direkt. Om de godkänns skickar boten ett framgångsmeddelande. Arbetsflödet innehåller också Google Drive-noder för att hitta och hämta en fil för leverans, som du kan aktivera när du är redo.

Du kan enkelt justera hur listan över obligatoriska kanaler fungerar för att stödja olika kampanjer (till exempel separata listor per erbjudande) utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera Telegram-triggern

Konfigurera den inkommande Telegram-triggern för att fånga användarförfrågningar och starta arbetsflödet.

  1. Lägg till och öppna Telegram Incoming Trigger.
  2. Autentiseringsuppgifter krävs: Anslut era Telegram-autentiseringsuppgifter.
  3. Spara noden för att generera Telegram-webhook-URL:en och koppla den till er bot.

Steg 2: initiera Telegram-kontext och administratörskontroll

Normalisera inkommande data och säkerställ adminåtkomst innan kommandon routas.

  1. I Set Telegram Variables mappar ni nyckelfält från trigger-payloaden (t.ex. användar-ID, chatt-ID, kommandotext) för återanvändning.
  2. I Initialize Context sätter ni standardvärden för kontexten som används av efterföljande routing (t.ex. request state eller flaggor).
  3. I Verify Admin User definierar ni villkoret för adminvalidering som måste uppfyllas innan flödet fortsätter till Select Request Type.

⚠️ Vanlig fallgrop: Om Verify Admin User inte är konfigurerad med era admin-ID:n kommer arbetsflödet tyst att blockera legitima förfrågningar.

Steg 3: sätt upp logik för kommandorouting

Routa kommandon till rätt hanteringsspår för att lägga till, ta bort, lista eller göra statuskontroller.

  1. I Select Request Type lägger ni till switch-regler för startkommandon, adminstatuskontroller och knapp-callbacks.
  2. Konfigurera Handle Button Choice för att mappa knappåtgärder till Update Status on Start.
  3. I Route Workflow Path och Command Router mappar ni kommandoutgångar till rätt grenar (add, delete, list eller check).

Säkerställ att varje switch-utgångsväg är kopplad till exakt en efterföljande åtgärd för att undvika oväntat ”fall-through”-beteende.

Steg 4: koppla databasoperationer (Postgres)

Alla läsningar och skrivningar i databasen beror på Postgres. Konfigurera autentiseringsuppgifter en gång och återanvänd dem i databasnoderna.

  1. Öppna valfri Postgres-nod (till exempel Retrieve Channel List) och anslut autentiseringsuppgifter.
  2. Autentiseringsuppgifter krävs: Anslut era Postgres-autentiseringsuppgifter.
  3. Använd samma autentiseringsuppgifter i alla Postgres-noder (12+ noder hanterar kanaldata, statusuppdateringar, referrals och uppslag), inklusive Insert Channel Record, Remove Channel Record, Load Channels For List och Fetch Bot Status.
  4. Bekräfta att era SQL-frågor eller tabellmappningar är korrekta i varje nod innan ni går vidare.

⚠️ Vanlig fallgrop: Om tabellnamn eller kolumnmappningar skiljer sig från ert databasschema kommer noder som Insert Channel Record och Update Status for Add Req att misslyckas.

Steg 5: konfigurera utgående Telegram-meddelanden

Konfigurera alla Telegram-svarsnoder som skickar bekräftelser, listor och statusuppdateringar till användare.

  1. Öppna valfri Telegram-nod (till exempel Send Success Message) och anslut autentiseringsuppgifter.
  2. Autentiseringsuppgifter krävs: Anslut era Telegram-autentiseringsuppgifter.
  3. Använd samma autentiseringsuppgifter i alla Telegram-noder (14+ noder skickar meddelanden som Ask Add Channel, Confirm Add Channel, Notify Missing Channel och Send Channel List).
  4. Anpassa meddelandetext och knappar för er målgrupp i varje Telegram-nod.

Använd konsekvent formatering och knappetiketter i Ask Add Channel och Ask Delete Channel så att routingen i Handle Button Choice förblir tillförlitlig.

Steg 6: aktivera kanallistning och sammanfogning av status

Bygg listvyn och flödet för statusvalidering som aggregerar data om prenumerationsstatus.

  1. I Load Channels For List bekräftar ni att frågan returnerar alla aktiva kanaler.
  2. Konfigurera Summarize Channel List för att formatera kanalraderna till en enda sammanfattande sträng.
  3. Skicka slutresultatet i Send Channel List.
  4. För statuskontroller: bekräfta att Retrieve Channel List flödar in i Fetch Subscription States, och därefter att Combine Status Records går in i Validate Status Merge.

Validate Status Merge skickar utdata parallellt till både Locate Drive File och Notify Check Success.

⚠️ Vanlig fallgrop: Parallella grenar körs båda; säkerställ att Notify Check Success och Google Drive-spåret båda är säkra att köra för samma förfrågan.

Steg 7: koppla filleverans från Google Drive (valfritt)

Grenen för filleverans är inaktiverad som standard; aktivera den endast om ni behöver skicka filer från Google Drive.

  1. Aktivera Locate Drive File, Fetch Drive File och Notify Success With File om ni vill använda filleverans.
  2. Autentiseringsuppgifter krävs: Anslut era Google Drive-autentiseringsuppgifter.
  3. I Locate Drive File ställer ni in sökkriterierna för filen ni vill skicka.
  4. I Fetch Drive File konfigurerar ni nedladdningsalternativen så att Notify Success With File kan bifoga filen.

Låt den här grenen vara inaktiverad tills ni har verifierat era Drive-behörigheter och filsökvägar.

Steg 8: testa och aktivera ert arbetsflöde

Kör ett end-to-end-test för att bekräfta att kommandorouting, databasuppdateringar och Telegram-notiser fungerar som förväntat.

  1. Klicka på Execute Workflow och skicka ett testkommando till er bot (t.ex. add, delete, list eller check).
  2. Verifiera att förväntat Telegram-svar skickas (t.ex. Confirm Add Channel eller Send Channel List).
  3. Kontrollera era Postgres-tabeller för att bekräfta uppdateringar från noder som Insert Channel Record eller Update Status for Del Req.
  4. När allt fungerar, slå om 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-credentials och botbehörigheter kan vara den tysta dödaren. Om kontrollerna misslyckas, bekräfta att boten är admin i de obligatoriska kanalerna och dubbelkolla bot-token i n8n.
  • Om du använder Wait-noder eller extern rendering varierar processningstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Schema-missmatch i Postgres ger förvirrande fel. Om SQL-skriptet har redigerats, verifiera tabellnamn och schema-prefixet (arbetsflödet förväntar sig att du ersätter “n8n” med ditt schema).

Vanliga frågor

Hur lång tid tar det att sätta upp den här automationen för åtkomstspärr i Telegram?

Cirka en timme om du redan har Postgres och din bot redo.

Behöver jag kodningskunskaper för att automatisera åtkomstspärr i Telegram?

Nej. Du kopplar konton och kör ett SQL-skript som du får en gång. Resten är att konfigurera meddelanden och testa bot-flödena.

Är n8n gratis att använda för det här arbetsflödet för åtkomstspärr i Telegram?

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 in kostnader för Postgres-hosting (ofta 5–20 USD/månad om du inte redan har det).

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (managed, enklast att sätta upp) 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 arbetsflödet för åtkomstspärr i Telegram för flera kampanjer?

Ja, men planera din datamodell först. De flesta skapar separata listor med obligatoriska kanaler i Postgres (per erbjudande, per varumärke eller per region) och justerar frågorna “Retrieve Channel List” och “Load Channels For Check” för att hämta rätt uppsättning. Du kan också ändra logiken i “Command Router” och “Select Request Type” för att upptäcka ett kampanjnyckelord i användarens meddelande eller rekommendationslänk. Om du senare vill leverera filer aktiverar du Google Drive-spåret som startar vid “Locate Drive File”.

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

Oftast är boten inte admin i kanalerna den kontrollerar, så Telegram returnerar inte pålitlig medlemskapsstatus. Näst vanligast är en inaktuell bot-token i dina n8n Telegram-credentials. Om det fungerar för några användare och sedan börjar fallera kan du också slå i rate limits när du kontrollerar för många kanaler eller för många användare samtidigt.

Hur många användare kan den här automationen för åtkomstspärr i Telegram hantera?

Många, så länge din server och Telegrams begränsningar hänger med.

Är den här automationen för åtkomstspärr i Telegram bättre än att använda Zapier eller Make?

För det här användningsfallet är n8n oftast bättre, eftersom du gör tillståndsbaserad routing, databasläsningar/-skrivningar och verifieringslogik över flera kanaler som blir klumpig (och dyr) i enklare automationverktyg. Du får också möjligheten att self-hosta, vilket spelar roll när din bot får hög belastning och körningarna sticker. Zapier eller Make kan fortfarande fungera för väldigt enkel spärr, men när du behöver “lägg till/ta bort obligatoriska kanaler”, rekommendationer och ett revisionsspår brukar det kännas trångt. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym och din setup.

Du sätter reglerna en gång, och boten upprätthåller dem varje gång. Ärligt talat räcker det långt när din “enkla grind” börjar dra in dig i support hela dagen.

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

Launch login modal Launch register modal