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: få svar från mejl snabbt

Rickard Andersson Partner, Nodenordic.se

Du vet känslan. Svaret finns någonstans i inkorgen, men “någonstans” betyder att scrolla trådar, söka på slumpmässiga nyckelord och öppna samma mejltråd tre gånger.

Det här drabbar marknadsansvariga när de snabbt behöver hitta ett tidigare godkännande. Byråägare känner det under kundsamtal. Och operatörer får agera historiker åt alla andra. Ett arbetsflöde för Telegram email search gör din mejlhistorik till något du faktiskt kan fråga ut på sekunder.

Den här automatiseringen låter dig ställa en fråga i Telegram, hämtar de bästa träffarna från Postgres (med PGVector) och svarar med ett strukturerat, lättläst svar. Du får se hur det fungerar, vad du behöver och var team oftast justerar det.

Så fungerar automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Telegram + Postgres: få svar från mejl snabbt

Utmaningen: hitta “det där mejlet” när du behöver det

Mejl är en kunskapsbas som aldrig var byggd för att vara det. Viktiga detaljer gömmer sig i vidarebefordrade kedjor, ämnesrader glider iväg och personen som “definitivt minns” är plötsligt offline. Så du söker. Sedan förfinar du sökningen. Sedan ger du upp och frågar i gruppchatten, vilket skapar en andra tråd som du också kommer tappa bort senare. Ärligt talat är det värsta inte ens tiden. Det är den mentala belastningen av att dubbelkolla att du inte missat något, plus pinsamheten i att behöva be om samma info igen.

Det adderar snabbt. Här är var det faller isär.

  • Nyckelordssökning misslyckas när du inte minns exakt formulering, avsändare eller ämnesrad som var viktig.
  • Du slösar runt 20 minuter på att leta, och sedan ytterligare 10 minuter på att bekräfta att det är rätt version.
  • Svar återskapas ur minnet, vilket leder till onödiga misstag och “det var inte det vi kom överens om”-ögonblick.
  • Även när du hittar mejlet måste du fortfarande kopiera utdrag till Slack eller Telegram och förklara sammanhanget.

Lösningen: fråga i Telegram, sök mejl i Postgres, få ett svar

Det här arbetsflödet gör ditt mejlarkiv till något du kan fråga ut som en hjälpsam assistent. Du skickar en fråga i Telegram (till exempel “Vilket hotell bodde jag på förra sommaren?”). Arbetsflödet bygger upp en sessionskontext, och sedan avgör en AI-agent hur svaret ska hämtas: en semantisk sökning över din vektoriserade mejlhistorik (PGVector i Postgres), en strukturerad sökning med SQL (via ett separat “SQL composer”-arbetsflöde), eller båda. Resultaten slås ihop, städas upp och formateras till ett läsbart Telegram-svar. Om svaret är långt delas det upp och skickas i batchar så att du inte tappar innehåll eller skapar fel i Telegram-formateringen.

Arbetsflödet startar med en Telegram-meddelandetrigger, och skickar sedan din fråga via agenten och hämtningsverktygen. Därefter escape:ar det Markdown, batchar utdata och svarar i Telegram med de mest relevanta utdragen och sammanhanget. Slutresultatet känns enkelt: fråga, läs, gå vidare.

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

Praktisk effekt

Säg att du ställer 10 “var är det där mejlet?”-frågor i veckan (helt normalt i team med högt tempo). Om varje tar cirka 15 minuter att spåra, är det ungefär 2,5 timmar som går åt till att leta och tveka. Med det här arbetsflödet tar det kanske 30 sekunder att fråga i Telegram, och du får oftast ett användbart svar inom en minut eller två. Det är runt 2 timmar tillbaka varje vecka, utan att tvinga någon att ändra hur de kommunicerar.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Självhosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Telegram för att ställa frågor och ta emot svar.
  • Postgres + pgvector för att lagra och söka mejl-embeddings.
  • Ollama för lokal LLM och embeddings (nomic-embed-text).
  • OpenAI API-nyckel (från din OpenAI-dashboard) om du använder noden OpenAI Chat Model i stället för en lokal chattmodell.

Kunskapsnivå: Medel. Du kopplar konton och konfigurerar databas-/LLM-uppgifter, plus pekar ett verktygssteg till ditt eget SQL-composer-arbetsflöde.

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

Flödet i arbetsflödet

Ett Telegram-meddelande startar allt. Du skriver en fråga på naturligt språk i Telegram, och arbetsflödet skapar en sessionskontext så att assistenten kan vara konsekvent över följdfrågor.

Agenten väljer hur den ska söka. För “känsla”-frågor (“vad kom vi överens om kring prissättning?”) lutar den sig mot likhetssökning med PGVector i Postgres. För frågor som passar filter (datum, avsändare, ordernummer) kan den anropa ett separat SQL composer-arbetsflöde som översätter din fråga till en databasfråga.

Resultaten slås ihop och städas upp. Arbetsflödet formaterar slutsvaret, escape:ar Markdown-tecken som annars skulle skapa fel i Telegram-renderingen och delar sedan upp lång text i säkra meddelandestorlekar.

Du får ett läsbart Telegram-svar. I stället för en vägg av kopierad mejltext får du ett strukturerat svar med de mest relevanta delarna hämtade från din lagrade mejlhistorik.

Du kan enkelt ändra svarsformatet för att inkludera länkar, meddelandegränser eller “källutdrag” utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera Telegram- och chatttriggers

Sätt upp båda inkommande ingångarna så att meddelanden från Telegram eller chattgränssnittet går in i samma flöde för att bygga sessionskontext.

  1. Lägg till och konfigurera Telegram Message Trigger med Updates satt till message och Additional Fields → chatIds satt till [YOUR_ID].
  2. Inloggningsuppgift krävs: Anslut era telegramApi-inloggningsuppgifter i Telegram Message Trigger.
  3. Lägg till Chat Session Trigger för att tillåta chattbaserade indata parallellt med Telegram, och lämna Options tomt.
  4. Koppla Telegram Message Trigger och Chat Session Trigger till Build Session Context så att båda källorna skapar ett enhetligt indataschema.

⚠️ Vanlig fallgrop: Ersätt [YOUR_ID] i Telegram Message Trigger med ert faktiska Telegram-chatt-ID, annars kommer triggern aldrig att triggas.

Steg 2: Anslut Telegram

Konfigurera utgående meddelanden så att workflowet kan svara tillbaka till den Telegram-användare som initierade konversationen.

  1. Öppna Telegram Batch Reply och sätt Text till ={{ $json.text }}.
  2. Sätt Chat ID till ={{ $('Telegram Message Trigger').first().json.message.from.id }}.
  3. I Additional Fields, sätt parse_mode till MarkdownV2, reply_to_message_id till ={{ $('Telegram Message Trigger').first().json.message.message_id }}, och aktivera disable_notification och disable_web_page_preview.
  4. Inloggningsuppgift krävs: Anslut era telegramApi-inloggningsuppgifter i Telegram Batch Reply.

Steg 3: Sätt upp agenten för e-postfrågor

Konfigurera AI-agenten, minnet och retrieval-verktygen som besvarar e-postrelaterade frågor.

  1. I Build Session Context, sätt Mode till raw och JSON Output till ={ "chatInput": {{ $json.message?.text.quote() ?? $json.chatInput.quote() }}, "reply_to": {{ $json.message?.reply_to_message?.message_id ?? null }}, "message_id": {{ $json.sessionId?.quote() || $json.message?.message_id }} }.
  2. Konfigurera Email Query Agent med Text satt till ={{ $json.chatInput }} och behåll Prompt Type som define för att använda den anpassade systemprompten.
  3. Koppla Chat Model Engine till Email Query Agent som språkmodell och sätt Model till mistral-small3.1:latest. Inloggningsuppgift krävs: Anslut era openAiApi-inloggningsuppgifter i Chat Model Engine.
  4. Koppla Windowed Memory Buffer till Email Query Agent som minne med sessionKey satt till ={{ $json.reply_to ?? $json.message_id }} och sessionIdType satt till customKey. Det här minnesverktyget ärver konfiguration från den överordnade agenten.
  5. Koppla PGVector Search Tool till Email Query Agent och sätt Mode till retrieve-as-tool, Top K till 100, Tool Name till emails_vector_search, och Table Name till emails_embeddings. Inloggningsuppgift krävs: Anslut era postgres-inloggningsuppgifter i PGVector Search Tool.
  6. Koppla Ollama Embedding Model som embedding-leverantör för PGVector Search Tool med Model satt till nomic-embed-text:latest. Inloggningsuppgift krävs: Anslut era ollamaApi-inloggningsuppgifter på den överordnade verktygsanslutningen (lägg inte till inloggningsuppgifter inne i agenten).
  7. Koppla SQL Composer Tool till Email Query Agent och behåll name satt till email_sql_search. Om det refererade workflowet kräver inloggningsuppgifter, lägg till dem inne i det anropade workflowet, inte i den här verktygsnoden.

Steg 4: Konfigurera noder för utdata och routing

Routa agentens svar beroende på meddelandekälla och förbered långa svar för Telegrams begränsningar.

  1. I Source From Telegram?, behåll villkoret Left Value satt till ={{ $('Telegram Message Trigger').isExecuted }} för att avgöra vilken väg som ska användas.
  2. Koppla Source From Telegram? till Chunk Text Blocks för Telegram-vägen och till Format Chat Output för icke-Telegram-sessioner.
  3. I Format Chat Output, sätt värdet för utdatatilldelningen till ={{ $json.output }}.
  4. I Chunk Text Blocks, behåll JavaScript-koden som delar upp utdata i 500-teckens chunkar, och säkerställ att den returnerar $input.first().json.output.
  5. Konfigurera Batch Iterator med Options → reset satt till false för att iterera genom chunkarna.

Körflöde: Email Query AgentSource From Telegram?Chunk Text BlocksBatch Iterator routar varje chunk genom svarscykeln.

Steg 5: Konfigurera leverans och formatering av utdata

Escapa Markdown-tecken och skicka tillbaka varje chunk till Telegram.

  1. I Markdown Escape, behåll JavaScript-koden som escaper specialtecken: replace(/([\.\\-<>_*\\[\\]\\(\\)~`#+=\\|{}·!])/g, '\\\\$1').
  2. Koppla Batch Iterator till Markdown Escape, och därefter till Telegram Batch Reply för att skicka varje escapad chunk.
  3. Koppla Telegram Batch Reply tillbaka till Batch Iterator för att fortsätta batcha tills alla chunkar har skickats.
  4. Behåll No-Op Placeholder kopplad till den alternativa utgången på Batch Iterator för “klar”-flödet.

Tips: Om Telegram-svar misslyckas på grund av formatering, verifiera att Markdown Escape körs före Telegram Batch Reply och att parse_mode förblir MarkdownV2.

Steg 6: Testa och aktivera ert workflow

Validera leverans från början till slut för både Telegram och chattsessioner, och aktivera därefter workflowet för produktion.

  1. Klicka på Execute Workflow och skicka ett Telegram-meddelande för att trigga Telegram Message Trigger.
  2. Bekräfta att Build Session Context skapar chatInput och att Email Query Agent producerar en output.
  3. Verifiera att Chunk Text Blocks skapar flera objekt och att Telegram Batch Reply skickar sekventiella meddelanden i samma chatt.
  4. Testa en chattsession via Chat Session Trigger och bekräfta att Format Chat Output returnerar svaret utan chunking.
  5. Växla workflowet till Active när båda trigger-vägarna fungerar som förväntat.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Telegram-inloggningar och botbehörigheter kan vara kinkiga. Om svar slutar dyka upp, kontrollera först bot-token och chattbehörigheter i din n8n Telegram-credential.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned i flödet fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.

Vanliga frågor

Hur snabbt kan jag implementera den här Telegram email search-automatiseringen?

Om din Postgres/PGVector-databas redan är fylld kan du oftast få igång den på ungefär en timme.

Kan icke-tekniska team implementera den här mejlsökningen i Telegram?

Ja, men du vill ha någon som är bekväm med credentials och databaser. Det är inget “kodprojekt”, men att sätta upp PGVector och koppla Ollama är fortfarande riktigt setup-arbete.

Är n8n gratis att använda för det här Telegram email search-arbetsflödet?

Ja. n8n har ett gratis alternativ för självhosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader om du väljer noden OpenAI Chat Model (ofta bara några dollar i månaden vid låg användning).

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

Två alternativ: n8n Cloud (hanterat, enklast setup) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och klarar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Hur anpassar jag den här Telegram email search-lösningen till mina specifika utmaningar?

Du kan byta chattmodell och embeddings-leverantör utan att ändra grundlogiken. Byt till exempel ut “Chat Model Engine” (noden OpenAI Chat Model) mot din lokala Ollama-chattmodell och behåll “Ollama Embedding Model” för embeddings. Vanliga anpassningar är att ändra vad agenten returnerar (kort svar vs. källbelagda utdrag), skruva åt PGVector-sökinställningarna och redigera “Format Chat Output” så att Telegram-svaren ser ut som du vill.

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

Oftast är det en ogiltig bot-token eller att boten inte får läsa meddelanden i den chatten. Kontrollera Telegram-credentialen i n8n igen, bekräfta att boten är tillagd i chatten (och inte blockerad) och verifiera att du triggar arbetsflödet från samma chatt-ID som triggern förväntar sig. Om triggern fungerar men svaren inte kommer fram handlar det ofta om att Markdown-formatering skapar fel i meddelandet, vilket är exakt varför steget “Markdown Escape” är viktigt.

Vilken kapacitet har den här Telegram email search-lösningen?

I n8n Cloud beror kapaciteten på din plans månadsvisa körningar. Om du självhostar finns ingen körningsgräns, men prestandan beror på din server och hur stort ditt Postgres/PGVector-index är. I praktiken kör de flesta team detta som en assistent för “några frågor per dag” och det känns direkt. Om du förväntar dig tung användning vill du övervaka Postgres-belastning och finjustera vektorindexering.

Är den här Telegram email search-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet bygger på en AI-agent, PGVector-sökning och ett sekundärt “verktygsarbetsflöde” för SQL-generering, vilket är krångligt (eller dyrt) att bygga i typiska no-code-verktyg. n8n ger dig också en väg för självhosting, vilket är viktigt om du vill köra “100 % lokalt” och med öppen källkod. Nackdelen är setup-komplexitet, särskilt kring Postgres + embeddings. Om du vill, prata med en automatiseringsexpert så säger vi rakt ut vilken väg som är enklast i din situation.

När det här väl är på plats slutar “kan du skicka det igen?” vara en veckovis ritual. Du frågar i Telegram, arbetsflödet hittar bästa träffen och du fortsätter med din dag.

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