Ditt team ställer samma frågor i Telegram. Du svarar. Igen. Och igen. Någonstans i ett Google-dokument finns det ”officiella” svaret, men ingen hittar det när de behöver det.
Det är här Telegram docs automation snabbt ger effekt. Ops-chefer märker det i onboarding. Team leads blir avbrutna av ”snabba frågor” hela dagen. Till och med byråägare hamnar i support för sina egna processdokument.
Det här arbetsflödet gör dina Google Docs till en Q&A-hubb i Telegram, så att folk får korrekta svar direkt. Du får se hur det fungerar, vad du behöver och var team oftast går i fällan.
Så här fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Telegram + Google Docs: snabba svar för team
flowchart LR
subgraph sg0["When chat message received Flow"]
direction LR
n5@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Model", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Search Embeddings"]
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Embend User Message"]
n6 --> n7
n9 --> n6
n10 --> n9
n8 -.-> n7
n5 --> n10
end
subgraph sg1["Telegram Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Content for the Training", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Splitting into Chunks"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Embedding Uploaded document"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/supabase.svg' width='40' height='40' /></div><br/>Save the embedding in DB"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram Trigger"]
n4 --> n0
n1 --> n2
n0 --> n1
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n5,n4 trigger
class n7 ai
class n8 aiModel
class n9,n10,n2 api
class n1 code
class n4 disabled
classDef customIcon fill:none,stroke:none
class n9,n10,n1,n2,n3,n4 customIcon
Problemet: teamets kunskap försvinner i chatten
Telegram är grymt för tempo, vilket är exakt därför det av misstag blir en rörig ”kunskapsbas”. En nyanställd frågar hur filer ska namnges. Någon svarar snabbt i förbifarten. Två veckor senare ändras processen, och det gamla meddelandet vidarebefordras fortfarande som om det vore skrivet i sten. Samtidigt finns er verkliga källa till sanning i Google Docs, men den går inte att söka i stunden. Så folk frågar. Du svarar. Arbetet stannar upp av små avbrott som inte känns stora förrän dagen är slut.
Ingen av de här sakerna är problemet i sig. Tillsammans är de det.
- Svaren glider över tid, vilket gör att teamet följer föråldrade steg och du får rätta till misstag som hade kunnat undvikas.
- Onboarding går långsammare eftersom enkla ”var finns det dokumenterat?”-frågor staplas under de första två veckorna.
- Leads blir flaskhalsar eftersom alla pingar samma två personer för godkännanden, länkar och processförtydliganden.
- Att söka i chatthistoriken är opålitligt, så folk frågar igen i stället för att hitta det som redan finns.
Lösningen: svar i Telegram som drivs av Google Docs
Det här n8n-arbetsflödet ger teamet en enkel vana: fråga i Telegram, få svaret tillbaka i Telegram. Bakom kulisserna använder det ditt Google-dokument som träningsinnehåll, delar upp dokumentet i lagom stora delar och skapar ”embeddings” (en sökbar vektorversion av texten) via ett embeddings-API. Delarna och vektorerna lagras i Supabase. Efter den engångssetupen embeddings-kodas varje ny Telegram-fråga på samma sätt, matchas mot de mest relevanta delarna och skickas sedan in i en LLM-prompt som uttryckligen instrueras att bara svara utifrån den givna kontexten. Resultatet är ett konsekvent svar som följer era riktlinjer och faktiskt speglar det ni dokumenterat.
Arbetsflödet börjar med att ditt Google Docs-innehåll hämtas in och förbereds för sökning. Sedan, när en användare skickar ett meddelande, hittar det de bästa matchande avsnitten och genererar ett svar med en chatmodell som körs via OpenRouter. Till sist levererar Telegram svaret tillbaka till samma konversation, så att ingen behöver öppna ännu ett verktyg.
Det du får: automatisering kontra resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att ditt team får cirka 12 återkommande frågor per dag i Telegram (namnstandarder, länkar till mallar, ”vad är senaste processen?”). Om varje fråga tar kanske 5 minuter att svara på ordentligt blir det ungefär en timme per dag i avbrott, plus kostnaden för kontextskiften. Med det här flödet tar det fortfarande bara sekunder att fråga, och botens svar kommer oftast inom en minut efter bearbetning. Det är ungefär en timme tillbaka de flesta dagar, utan att ditt team känner ”self-serve eller else”.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Telegram för att ta emot frågor och skicka svar.
- Google Docs för er dokumentation som är källan till sanning.
- Supabase för att lagra delar och embeddings för sökning.
- Together AI API-nyckel (hämta den i din Together AI-dashboard) för embeddings.
- OpenRouter API-nyckel (hämta den i dina kontoinställningar i OpenRouter) för chatmodellen.
Kunskapsnivå: Medel. Du kopplar konton, lägger in API-nycklar och klistrar in en Google Doc-URL, men du bygger ingen app från grunden.
Vill du inte sätta upp detta själv? Prata med en automatiseringsexpert (gratis 15-minuterskonsultation).
Så fungerar det
Dina dokument ”förbereds” en gång. Arbetsflödet hämtar innehåll från Google Docs och delar sedan upp det i delar så att det går att söka utan att tappa kontext eller att promptar blir för långa.
Dessa delar omvandlas till sökbara vektorer. n8n anropar en embeddings-endpoint (via HTTP Request) och lagrar sedan varje del plus dess embedding i en Supabase-tabell.
Varje Telegram-meddelande matchas mot de bästa avsnitten. När ett chattmeddelande kommer in embeddings-kodar arbetsflödet användarens fråga, frågar Supabase efter de bästa träffarna och sammanställer de mest relevanta delarna till en strukturerad kontext.
Svaret genereras och skickas tillbaka till Telegram. En Q&A-kedja bygger en prompt som begränsar modellen till den givna kontexten, och sedan tar en OpenRouter-chatmodell fram det slutliga svaret till användaren.
Du kan enkelt uppdatera källdokumentet för att täcka nya ämnen, eller byta chatmodell för att matcha önskad stil och kostnad. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera triggern för Telegram-meddelanden
Konfigurera Telegram-triggern så att arbetsflödet startar när ett nytt meddelande kommer in.
- Lägg till Telegram Message Trigger som er startnod.
- Aktivera noden om den är inaktiverad (i workflow-JSON:en är Telegram Message Trigger inaktiverad).
- Lämna Updates inställd på
message. - Credential Required: Anslut era telegramApi-credentials.
Steg 2: Anslut träningsinnehåll från Google Docs
Ladda ert källdokument som ska bäddas in i vektordatabasen.
- Lägg till Retrieve Training Content och koppla den till Telegram Message Trigger.
- Ställ in Operation på
get. - Ställ in Document URL på
1shUBSb2aEFZrOWOROcCeG9glxi7u205p4lEopNt1e7E. - Ställ in Authentication på
serviceAccount. - Credential Required: Anslut era googleApi-credentials.
Steg 3: Sätt upp textchunkning och lagring av embeddings
Dela upp dokumentet i chunkar, generera embeddings och lagra dem i Supabase.
- Lägg till Divide Text Segments och koppla den till Retrieve Training Content.
- I Divide Text Segments ska ni behålla den medföljande JavaScript-koden för 1000-teckenschunkar som den är.
- Lägg till Generate Document Embeddings och koppla den till Divide Text Segments.
- Ställ in URL på
https://api.together.xyz/v1/embeddingsoch Method påPOST. - I Body Parameters, ställ in model på
BAAI/bge-large-en-v1.5och input på{{ $json.chunk }}. - Credential Required: Anslut era httpBearerAuth-credentials.
- Lägg till Store Vectors in Database och koppla den till Generate Document Embeddings.
- Ställ in Table ID på
embedoch mappa fälten: chunk till{{ $('Divide Text Segments').item.json.chunk }}, embedding till{{ JSON.stringify($json.data[0].embedding) }}. - Credential Required: Anslut era supabaseApi-credentials.
Steg 4: Konfigurera chattintag och vektorsökning
Ta emot användarmeddelanden, skapa embeddings för frågor och hämta liknande vektorer från Supabase.
- Lägg till Chat Message Intake som chattens startpunkt.
- Ställ in Public på
trueoch Initial Messages påHi there! 👋 Test the basic RAG chat with Supabase. - Lägg till Embed User Query och koppla den till Chat Message Intake.
- Ställ in URL på
https://api.together.xyz/v1/embeddingsoch Method påPOST. - I Body Parameters, ställ in model på
BAAI/bge-large-en-v1.5och input på{{ $json.chatInput }}. - Credential Required: Anslut era httpBearerAuth-credentials.
- Lägg till Query Vector Matches och koppla den till Embed User Query.
- Ställ in URL på
https://fqdttboovkcezrxizkpw.supabase.co/rest/v1/rpc/matchembeddings1och Method påPOST. - I Body Parameters, ställ in =query_embedding på
{{ $json.data[0].embedding }}och match_count på5. - Credential Required: Anslut era supabaseApi-credentials.
Steg 5: Bygg RAG-svaret med LLM:en
Samla ihop hämtade chunkar och generera ett svar med LLM-kedjan och OpenRouter-modellen.
- Lägg till Combine Context Chunks och koppla den till Query Vector Matches.
- Säkerställ att Fields To Aggregate innehåller chunk.
- Lägg till LLM Response Builder och koppla den till Combine Context Chunks.
- Ställ in Text på
=You are an AI assistant. Use the following context to answer the user's question. Context: {{ $json.chunk }} User's message: {{ $('Chat Message Intake').item.json.chatInput }} Provide a helpful and detailed answer based *only* on the context. If the answer is not in the context, say "I don't know based on the provided information.". - Koppla OpenRouter Chat Engine till LLM Response Builder som språkmodell (AI-anslutning).
- Credential Required: Anslut era openRouterApi-credentials till OpenRouter Chat Engine (LLM-noden använder dessa credentials).
Steg 6: Testa och aktivera ert arbetsflöde
Verifiera att embeddings lagras och att svar genereras korrekt innan ni aktiverar.
- Klicka på Execute Workflow och skicka ett testmeddelande till Chat Message Intake eller Telegram.
- Bekräfta att Store Vectors in Database skriver poster till tabellen
embed. - Kontrollera att Query Vector Matches returnerar träffar och att LLM Response Builder ger ett svar baserat på den aggregerade kontexten.
- Aktivera arbetsflödet med reglaget Active för användning i produktion.
Vanliga fallgropar
- Åtkomst för Google Docs-servicekonto misslyckas ofta tyst om dokumentet inte är delat med servicekontots e-postadress. Kontrollera dokumentets delningsinställningar innan du felsöker något annat.
- Om du använder Wait-noder eller extern rendering varierar processingtiderna. Öka väntetiden om noder längre ned i flödet misslyckas på grund av tomma svar.
- OpenRouter- eller Together AI-nycklar kan slå i rate limits under initial embedding av ett långt dokument. Om svar börjar komma tillbaka tomma, kontrollera API-användningsdashboards och försök köra ”första arbetsflödet” igen senare.
Vanliga frågor
Cirka en timme om dina konton och nycklar är klara.
Nej. Du klistrar in nycklar, kopplar tjänster och pekar på rätt Google-dokument. Den enda ”kod”-delen finns redan med för chunking, så du konfigurerar mest.
Ja. n8n har ett gratis self-hosted-alternativ 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 Together AI/OpenRouter-användning, vilket vanligtvis bara blir några dollar i månaden för små team.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, men du vill separera innehåll per källa. Ett vanligt upplägg är en Supabase-tabell (eller en kolumn för ”avdelning”) per dokument, och sedan justera Google Docs-steget ”Retrieve Training Content” samt Supabase-matchfrågan så att boten söker i rätt delmängd. Vissa team lägger också till en Switch-nod för att routa frågor baserat på ett Telegram-kommando som ”/sales” eller ”/ops”.
Oftast är det ett problem med bot-token eller att boten inte är tillagd i rätt chatt. Generera om Telegram-bot-token i BotFather, uppdatera credential i n8n och skicka sedan ett nytt meddelande för att trigga en ny uppdatering. Om du använder den inaktiverade Telegram Trigger-noden för dokumentinläsning vid ”första körningen”, se till att den verkligen bara är aktiverad när du behöver den.
Väldigt många för ett litet team. På n8n Cloud Starter är du i praktiken begränsad av månatliga körningar, och varje fråga är vanligtvis en körning. Om du self-hostar är du mest begränsad av serverstorlek och API-rate limits, och det är normalt att hantera dussintals eller hundratals frågor per dag utan dramatik.
Ofta, ja, eftersom detta inte är en enkel integration i två steg. Du behöver chunking, vektorsökning och kontrollerad prompting, och n8n hanterar den logiken snyggt utan att tvinga dig till dyr task-prissättning för varje gren. Zapier och Make kan fungera, men du lägger ofta mer tid på att brottas med begränsningar kring lång text, loopar och lagring av embeddings. Om du redan har en Zapier-tung stack och bara vill ha ett lätt ”skicka fråga till AI”-flöde, håll det enkelt där. För en riktig Google Docs Q&A-hubb är n8n det mer praktiska valet. Prata med en automatiseringsexpert om du vill ha hjälp att välja.
När detta väl är på plats slutar ditt Google-dokument vara ”dokumentation som folk ignorerar” och börjar fungera som ett riktigt stödsystem i Telegram. Sätt upp det en gång och låt sedan arbetsflödet ta hand om återkommande frågor.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.