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

Telegram + OpenAI: röstmeddelanden till sökbar text

Rickard Andersson Partner, Nodenordic.se

Dina Telegram-chattar är fulla av beslut, kunddetaljer och “glöm inte det här”-ögonblick. Och sedan försvinner allt in i röstmeddelanden som ingen kan söka i, skumma igenom eller kopiera in i dokument.

Marknadschefer sitter och spelar upp ljud om och om igen för att plocka citat. Byråägare tappar bort action points i kundtrådar. Till och med ops-ansvariga märker det när godkännanden ligger gömda i 45 sekunder mumlad kontext. Den här Telegram-automationen för transkribering gör röst till strukturerad text du faktiskt kan använda.

Du sätter upp ett n8n-flöde som lyssnar efter röstmeddelanden, transkriberar dem med OpenAI, faller tillbaka till Gemini vid behov och postar läsbar text tillbaka i samma chatt (även när meddelandena är långa).

Så fungerar den här automationen

Här är det kompletta flödet du kommer att sätta upp:

n8n Workflow Template: Telegram + OpenAI: röstmeddelanden till sökbar text

Varför det här spelar roll: röstmeddelanden går inte att söka i

Röstmeddelanden känns snabba i stunden. Men senare blir de friktion. Någon frågar: “Vad sa kunden om prissättningen?” och plötsligt sitter du och skrollar i ljud, höjer volymen, spolar tillbaka och hoppas att du fångar det viktiga. Multiplicera det med en intensiv vecka av teamchattar så får du en tyst tidskostnad. Det värsta är kontextförlusten: beslut hamnar aldrig i era dokument, och uppföljningar missas eftersom den “riktiga informationen” låg i ljud.

Det blir snabbt mycket. Här är var det oftast faller ihop.

  • Folk slutar dokumentera eftersom det är irriterande att spela upp ljud, så kunskap blir kvarlåst i Telegram.
  • Manuell transkribering är långsam och felkänslig, särskilt när flera pratar eller accenter varierar.
  • Ett långt röstmeddelande kan överskrida Telegrams gräns på 4 000 tecken vid transkribering, så texten kapas eller skickas aldrig.
  • Utan åtkomstkontroll kan vem som helst trigga transkriberingar och bränna AI-krediter (ibland av misstag).

Vad du bygger: säker röst-till-text i Telegram

Det här flödet gör om Telegram-röstmeddelanden till läsbara text-svar, automatiskt. Det startar när någon postar ett röstmeddelande eller en ljudfil i din Telegram-grupp, verifierar att avsändaren får använda transkriberingstjänsten och fortsätter sedan. Om meddelandet innehåller ljud i ett format som stöds laddar n8n ner filen och skickar den till OpenAI för transkribering (med en snabb “transkribering startad”-notis så att ingen behöver gissa). Om OpenAI ger fel skickar flödet samma fil vidare till Gemini som backup. Till sist postas den transkriberade texten tillbaka i chatten, och långa transkript delas upp i flera meddelanden så att inget kapas.

Flödet är enkelt i praktiken. Telegram triggar körningen, åtkomstkontroll håller användningen i schack och AI sköter transkriberingen. Sedan formaterar n8n resultatet efter Telegrams begränsningar och levererar det direkt där teamet redan jobbar.

Det här bygger du

Förväntade resultat

Säg att teamet får 10 röstmeddelanden om dagen och att varje tar cirka 3 minuter att spela upp, pausa och skriva in i något användbart. Det är ungefär 30 minuter dagligen, och det är oftast de sämsta 30 minuterna eftersom det avbryter riktigt arbete. Med det här flödet skickar du röstmeddelandet som vanligt, får en “startad”-notis och får sedan transkriptet tillbaka i chatten. Din manuella tid blir nära noll, och långa meddelanden kommer fortfarande fram som flera delar i stället för att misslyckas.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Telegram för att ta emot röstmeddelanden och posta transkript.
  • OpenAI för att transkribera ljud med Whisper.
  • Google Gemini som backup-transkribering om OpenAI misslyckas.
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard).

Kunskapsnivå: Medel. Du kopplar Telegram + AI-uppgifter och justerar sedan några regler (behöriga användare, format och hur utdata ska hanteras).

Vill du att någon bygger det här åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett Telegram-meddelande kommer in. Flödet triggas av nya meddelanden i din grupp och fångar avsändardetaljer plus meddelandetyp (röstmeddelande, ljudfil eller bara text).

Åtkomst kontrolleras direkt. En “if”-regel verifierar avsändaren mot en godkänd lista. Om de inte är behöriga svarar n8n med ett åtkomst nekad-meddelande och stoppar, vilket innebär att du inte slösar AI-krediter på slumpmässiga förfrågningar.

Ljud upptäcks och valideras. Flödet avgör om det finns en fil att transkribera, hämtar rätt Telegram-file ID och kontrollerar ljudformatet (OGG-röstmeddelanden, MP3, M4A/MP4 och andra typer som stöds). Om det inte finns något ljud eller om formatet är okänt skickar det en tydlig varning tillbaka till chatten.

Transkriberingen körs, med fallback. n8n laddar ner filen och skickar den till OpenAI för transkribering samtidigt som den postar en snabb “startad”-notis. Om OpenAI ger fel routar flödet automatiskt samma fil till Gemini och mappar sedan textresultatet till en gemensam utdatavariabel så att resten av flödet beter sig likadant.

Transkriptet levereras säkert. Om transkriberingen är under Telegrams gräns på 4 000 tecken postas den en gång. Om den är längre delar ett kodsteg upp den i läsbara delar och skickar flera meddelanden i följd.

Du kan enkelt justera listan över behöriga användare så att den matchar ditt team, eller ändra hur uppdelningen fungerar utifrån er chattstil. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera Telegram-triggern

Sätt upp startpunkten som lyssnar efter inkommande Telegram-meddelanden och startar arbetsflödet.

  1. Lägg till och öppna Incoming Telegram Trigger.
  2. Ställ in Updates till message.
  3. Credential Required: Anslut era telegramApi-inloggningsuppgifter.

Tips: Säkerställ att er Telegram-bot redan är skapad och tillåts ta emot meddelanden från de användare ni planerar att auktorisera.

Steg 2: Validera avsändare och identifiera meddelandetyp

Spärra åtkomst till boten och routa meddelanden beroende på om de innehåller röst- eller ljudfiler.

  1. Öppna Validate Sender Access och ställ in villkoren så att endast auktoriserade användare tillåts, med ={{ $json.message.from.username }} och tillåtna värden User 2 och User 1.
  2. Bekräfta att Validate Sender Access routar till Detect Message Type på true-grenen och till Send Access Denied på false-grenen.
  3. I Detect Message Type, verifiera att reglerna kontrollerar voice- och audio-objekt med ={{ $json.message.voice }} och ={{ $json.message.audio }}, och behåll Fallback Output inställd på extra.
  4. Bekräfta att Detect Message Type routar till Set Voice File ID, Set Audio File ID eller Alert Missing File beroende på meddelandets innehåll.

⚠️ Vanlig fallgrop: Om användarnamnet i Validate Sender Access inte exakt matchar avsändarens Telegram-användarnamn (skiftlägeskänsligt), kommer arbetsflödet alltid att routa till Send Access Denied.

Steg 3: Förbered fil-ID:n och validera ljudformat

Extrahera fil-ID från meddelandet och tvinga igenom accepterade ljud-MIME-typer innan ni laddar ner filen.

  1. I Set Voice File ID, sätt tilldelningen file_id till ={{ $json.message.voice.file_id }} och aktivera Include Other Fields.
  2. I Set Audio File ID, sätt tilldelningen file_id till ={{ $json.message.audio.file_id }} och aktivera Include Other Fields.
  3. I Validate Audio Format, behåll MIME-kontrollerna för audio/ogg, audio/mpeg, audio/mp4 och audio/m4a med uttrycken som refererar till Incoming Telegram Trigger.
  4. Bekräfta att false-grenen i Validate Audio Format routar till Warn Unrecognized File.

Credential Required: Anslut era telegramApi-inloggningsuppgifter till alla Telegram-åtgärdsnoder (totalt 8) inklusive Send Access Denied, Alert Missing File, Warn Unrecognized File, Notify Start Transcription, Retrieve File for GPT, Fetch File for Gemini, Send Transcript Output och Send Chunked Output.

Steg 4: Hämta filen och kör parallell transkribering

Ladda ner mediefilen och starta både transkriberingsprocessen och en användarnotis parallellt.

  1. I Retrieve File for GPT, ställ in Resource till file och File ID till ={{ $json.file_id }}.
  2. Retrieve File for GPT ger utdata till både OpenAI Transcription och Notify Start Transcription parallellt.
  3. I Notify Start Transcription, ställ in Text till Starting transcription. Please wait. och Chat ID till ={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}.
  4. Credential Required: Anslut era openAiApi-inloggningsuppgifter till OpenAI Transcription.

Tips: Parallell körning säkerställer att användaren notifieras direkt medan transkriberingen startar i bakgrunden.

Steg 5: Konfigurera Gemini-fallback och mappa transkriberingstext

Skicka filen till Gemini och normalisera båda transkriberingsutdata till ett konsekvent text-fält.

  1. I Fetch File for Gemini, ställ in Resource till file och File ID till ={{ $('Retrieve File for GPT').item.json.result.file_id }}.
  2. I Gemini Transcription, ställ in Resource till audio, Input Type till binary och Binary Property Name till =data.
  3. Credential Required: Anslut era googlePalmApi-inloggningsuppgifter till Gemini Transcription.
  4. I Map Text Variable, ställ in text till ={{ $json.text }}.
  5. I Map Text Variable 2, ställ in text till ={{ $json.content.parts[0].text }}.

Steg 6: Routen baserat på textlängd och skicka utdata

Skicka korta transkript som ett enda meddelande och dela upp långa transkript i chunkar.

  1. I Check Text Length, behåll villkoret ={{ $json["text"].length }} lt 4000.
  2. På true-grenen, skicka utdata via Send Transcript Output med Text inställd på ={{ $json.text }} och Chat ID inställd på ={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}.
  3. På false-grenen, använd Split Text Chunks med den angivna JavaScript-koden för att dela upp i chunkar om 4000 tecken.
  4. I Send Chunked Output, ställ in Text till ={{ $json.body }} och Chat ID till ={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}.

⚠️ Vanlig fallgrop: Om Split Text Chunks ändras så att den returnerar ett annat fält än body, kommer Send Chunked Output att skicka tomma meddelanden.

Steg 7: Testa och aktivera ert arbetsflöde

Verifiera beteendet end-to-end med riktiga Telegram-meddelanden innan ni går live.

  1. Klicka på Execute Workflow och skicka en röst- eller ljudfil till er Telegram-bot.
  2. Bekräfta att Notify Start Transcription skickar meddelandet “Starting transcription. Please wait.” omedelbart.
  3. Kontrollera att transkriberingsutdata visas via Send Transcript Output för kort text eller via flera meddelanden från Send Chunked Output för lång text.
  4. När allt är verifierat, växla arbetsflödet till Active för produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Telegram-uppgifter kan gå ut eller kräva rätt bot-behörigheter. Om meddelanden inte tas emot eller skickas, kontrollera först din Telegram-botåtkomst i n8n:s Credentials.
  • Om du använder Wait-liknande timing någon annanstans i din arbetsyta eller förlitar dig på externa transkriberingssvar varierar behandlingstider. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • Standardprompter och inställningar i AI-noder kan vara generiska. Om du vill ha konsekvent formatering (punkter, action points, talar-etiketter) ska du definiera den utdatastilen tidigt, annars kommer du att behöva städa transkript manuellt.

Snabba svar

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

Cirka 30 minuter om din Telegram-bot och dina API-nycklar är klara.

Krävs det kodning för att få det här röst-till-text-resultatet?

Nej. Du kopplar mest konton och redigerar några enkla regler. Den enda “kod”-delen finns redan med för att dela upp lång text.

Är n8n gratis att använda för det här Telegram-flödet för transkribering?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också räkna in API-användning för OpenAI och Gemini (de flesta team tycker att det är billigt för röstmeddelanden).

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

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 hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Telegram-flödet för transkribering för andra användningsfall?

Ja, och det bör du. Du kan ändra kontrollen av behöriga användare i steget “Validate Sender Access”, byta transkriberingsleverantör genom att justera noderna för OpenAI och Gemini och finjustera logiken i “Split Text Chunks” om du vill ha kortare svar eller annan formatering (till exempel action points först).

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

Oftast handlar det om bot-behörigheter eller att en credential i n8n har gått ut. Bekräfta att din bot är med i gruppen, kan läsa meddelanden och kan posta svar, och spara sedan om Telegram-credentialn. Om det triggar men inte kan ladda ner filer kan file ID-mappningen vara fel för meddelandetypen (voice vs audio), så kontrollera meddelandedetektering samt stegen “Set Voice File ID / Set Audio File ID”.

Vilken volym kan det här Telegram-flödet för transkribering hantera?

I n8n Cloud beror det på planens månatliga körningar, och varje transkribering är typiskt en körning. Om du kör egen hosting finns ingen gräns för körningar, så den verkliga begränsningen blir din server och API:ernas rate limits. I praktiken klarar de flesta små team dussintals röstmeddelanden per dag utan att tänka på det. Om du transkriberar långt ljud hela dagen vill du ha köhantering och bättre övervakning.

Är den här Telegram-automationen för transkribering bättre än att använda Zapier eller Make?

Ofta, ja. n8n hanterar grenad logik (åtkomstkontroll, detektering av meddelandetyp, fallback till Gemini och uppdelning) utan att göra din automation till ett spaghetti-monster. Du får också möjlighet till egen hosting, vilket är viktigt om du förväntar dig hög volym eller vill ha förutsägbara kostnader. Zapier och Make kan fortfarande fungera om behoven är enkla, men det här flödet har tillräckligt många “if” för att pris och komplexitet lätt kan dra iväg. Om du är osäker: Prata med en automationsexpert och beskriv din volym samt dina säkerhetskrav.

När det här väl rullar slutar röstmeddelanden vara “förlorad kontext” och blir användbar dokumentation. Sätt upp det en gång och låt flödet göra det tråkiga jobbet.

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