Din supportchatt fylls snabbt upp. Svaren finns någon annanstans. Och du slutar med att skriva om samma “officiella” svar igen – och sedan tveka om det fortfarande stämmer.
Supportansvariga känner av det här mest, helt ärligt. En produktspecialist dras också in i samma frågor. Och om du driver en byrå som hanterar kundsupport är Telegram-supportautomation skillnaden mellan “hanterbart” och “vi behöver anställa en till”.
Det här arbetsflödet gör Google Docs till en Telegram-klar kunskapsassistent med OpenAI, och förbättrar sedan svaren över tid baserat på enkel godkännandefeedback. Du får lära dig vad det gör, vad du behöver och hur du får igång det i n8n.
Så fungerar den här automationen
Här är det kompletta arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Telegram + Google Docs: snabba supportsvar direkt
flowchart LR
subgraph sg0["Receive Message on Telegram Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Knowledge Base Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n8@{ icon: "mdi:memory", form: "rounded", label: "MongoDB Chat Memory", pos: "b", h: 48 }
n9@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI1", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n12@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI3", pos: "b", h: 48 }
n13@{ icon: "mdi:cube-outline", form: "rounded", label: "Search Positive Interactions", pos: "b", h: 48 }
n14@{ icon: "mdi:cube-outline", form: "rounded", label: "Search Documentation", pos: "b", h: 48 }
n15@{ icon: "mdi:cube-outline", form: "rounded", label: "Search Negative Interactions", pos: "b", h: 48 }
n16["<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/>Receive Message on Telegram"]
n17["<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/>Send Message on Telegram, Wa.."]
n18["<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/>Map feedback data"]
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set feedback fields for coll..", pos: "b", h: 48 }
n20@{ icon: "mdi:cube-outline", form: "rounded", label: "Submit embedded chat feedback", pos: "b", h: 48 }
n21@{ icon: "mdi:vector-polygon", form: "rounded", label: "OpenAI Embeddings Generator1", pos: "b", h: 48 }
n2 -.-> n14
n18 --> n19
n1 -.-> n0
n9 -.-> n13
n12 -.-> n15
n10 -.-> n20
n8 -.-> n0
n0 --> n17
n14 -.-> n0
n16 --> n0
n21 -.-> n20
n15 -.-> n0
n13 -.-> n0
n11 -.-> n10
n19 --> n20
n17 --> n18
end
subgraph sg1["When clicking "Execute Workflow" Flow"]
direction LR
n3@{ icon: "mdi:robot", form: "rounded", label: "Document Section Loader", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Document Chunker", pos: "b", h: 48 }
n5@{ icon: "mdi:vector-polygon", form: "rounded", label: "OpenAI Embeddings Generator", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Google Docs Importer", pos: "b", h: 48 }
n7@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking 'Execute Workf..", pos: "b", h: 48 }
n22@{ icon: "mdi:cube-outline", form: "rounded", label: "MongoDB Documentation Inserter", pos: "b", h: 48 }
n4 -.-> n3
n6 --> n22
n3 -.-> n22
n5 -.-> n22
n7 --> n6
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 n16,n7 trigger
class n0,n10,n11,n3,n4 ai
class n1 aiModel
class n8 ai
class n13,n14,n15,n20,n22 ai
class n2,n9,n12,n21,n5 ai
class n18 code
classDef customIcon fill:none,stroke:none
class n16,n17,n18 customIcon
Varför det här spelar roll: långsamma, inkonsekventa supportsvar
De flesta team har inget “supportproblem”. De har ett kunskapsproblem. Rätt svar finns, men det är fast i Google Docs, gamla ärenden, i en produktchefs huvud eller i en halvt uppdaterad intern wiki. Så varje Telegram-fråga blir en liten skattjakt. En person svarar utifrån minnet, en annan klistrar in ett utdaterat stycke, och kunden ser motsägelser. Den verkliga kostnaden är inte bara tid. Det är eskaleringar, tappat förtroende och den där konstanta mentala belastningen av “snälla, säg inte fel”.
Det växer snabbt. Här är var det brukar brista i den dagliga supporten.
- Att hitta rätt stycke i Google Docs kan ta 5–10 minuter per fråga när dokumentet är långt eller rörigt.
- Små skillnader i formulering blir till policyskillnader, vilket betyder mer fram och tillbaka och fler “jag måste kolla med teamet”.
- Nyanställda lutar sig mot seniora kollegor eftersom de “riktiga svaren” inte går att söka fram i stunden.
- Du får återkommande frågor eftersom kunder inte får samma tydliga, kompletta svar varje gång.
Vad du bygger: en Telegram-bot som svarar utifrån Google Docs
Det här arbetsflödet ger dig två sammankopplade automationer: en som importerar din officiella dokumentation från Google Docs och en som svarar på Telegram-meddelanden med dokumenten som “single source of truth”. Först kör du ett manuellt inläsningsflöde som hämtar ett Google-dokument, delar upp det i läsbara chunkar och skapar embeddings (tänk: sökbara betydelse-fingeravtryck) med OpenAI. Chunkarna sparas i en MongoDB Atlas-vector search-kollektion så att assistenten kan hämta de mest relevanta styckena senare. När någon sedan ställer en fråga i Telegram letar boten upp relaterade dokumentchunkar, genererar ett förankrat svar med OpenAI och skickar ett strukturerat svar. Till sist ber den om enkel feedback, sparar den i MongoDB och använder den för att förbättra framtida svar.
Arbetsflödet startar antingen med en manuell körning “indexera detta dokument” eller en Telegram-trigger. I mitten hämtar MongoDB vector search de bäst matchande avsnitten och AI-agenten skriver svaret med din dokumentation plus tidigare feedback. Resultatet blir ett Telegram-svar som är konsekvent, snabbare och enklare att granska.
Vad du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att ditt team hanterar cirka 30 Telegram-frågor per dag. Om varje svar tar runt 7 minuter att hitta, verifiera och klistra in från Google Docs blir det ungefär 3–4 timmar supporttid som bränns varje dag. Med det här arbetsflödet kommer frågan in i Telegram, hämtning + generering blir oftast klar på under en minut, och din handläggare kliver bara in när det blir fel eller är känsligt. Även om ni fortfarande granskar knepiga svar får de flesta team tillbaka cirka 2–3 timmar per dag.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Telegram för boten och som ingång till supportchatten.
- Google Docs för att lagra och underhålla officiell dokumentation.
- MongoDB Atlas för vector search, feedback och chatthistorik.
- OpenAI API-nyckel (hämta den i din OpenAI API-dashboard)
Kunskapsnivå: Medel. Du kopplar mest ihop konton, skapar MongoDB-kollektioner/index och justerar prompts, men du bör vara bekväm med att följa installationssteg noggrant.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Dokument indexeras när du kör inläsningsflödet. En manuell trigger hämtar ditt innehåll från Google Docs, och sedan delar arbetsflödet upp det i chunkar så att sökningen fungerar tillförlitligt i stället för att returnera slumpmässiga textväggar.
Dessa chunkar blir semantiska sökposter. OpenAI-embeddings omvandlar varje chunk till en vektor, och MongoDB Atlas lagrar dem i en kollektion som är konfigurerad för vector similarity search (ditt “data_index” måste matcha det arbetsflödet förväntar sig).
Telegram-meddelanden startar svarsflödet. När någon skriver till din bot slår AI-agenten upp relevanta dokumentchunkar i MongoDB och skriver ett svar med OpenAI-chatmodellen (GPT-4o-mini i mallen), så att svaren fortsätter vara i linje med dina källdokument.
Feedback blir en träningssignal. Boten skickar svaret och ber om godkännande eller underkännande. Utfallet mappas, sparas i MongoDB (tillsammans med embeddings) och används senare för att hämta “bra” och “dåliga” exempel som påverkar framtida svar.
Du kan enkelt modifiera Google Docs-källan för att indexera flera dokument, eller byta Telegram mot en annan chattkanal senare. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera triggern för manuell körning
Använd den manuella triggern för att starta inläsning av dokumentation till er kunskapsbas.
- Lägg till noden Manual Execution Start som din trigger.
- Anslut Manual Execution Start till Google Docs Fetcher för att starta flödet för dokumentinläsning.
Steg 2: anslut Google Docs
Hämta dokumentationsinnehåll och konvertera det till vektor-embeddings för hämtning.
- Öppna Google Docs Fetcher och ställ in Operation på
get. - Ställ in Document URL på
[YOUR_DOC_URL]. - Inloggningsuppgifter krävs: anslut era
googleDocsOAuth2Api-inloggningsuppgifter i Google Docs Fetcher. - I Markdown Text Splitter ställer ni in Chunk Size på
3000, Chunk Overlap på200, och aktiverar markdown-splittning. - I Section Data Loader ställer ni in JSON Data på
{{ $json.content }}och mappar metadata doc_id till{{ $json.documentId }}. - Doc Embedding Builder är ansluten som embedding-modell för Insert Documentation Vectors—inloggningsuppgifter krävs: anslut era
openAiApi-inloggningsuppgifter i Doc Embedding Builder. - I Insert Documentation Vectors ställer ni in Mode på
insertoch Vector Index Name pådata_index. - Inloggningsuppgifter krävs: anslut era
mongoDb-inloggningsuppgifter i Insert Documentation Vectors.
[YOUR_DOC_URL] med en giltig Google Docs-URL, annars kommer inläsningsflödet att returnera tomt innehåll.Steg 3: konfigurera Telegram-triggern
Aktivera chatintag i realtid från Telegram-användare.
- Lägg till Telegram Message Trigger och lämna Updates inställt på
message. - Inloggningsuppgifter krävs: anslut era
telegramApi-inloggningsuppgifter i Telegram Message Trigger. - Verifiera att triggern är ansluten till Knowledge Assistant Core i huvudflödet.
Steg 4: sätt upp Knowledge Assistant Core
Konfigurera AI-agenten, dess språkmodell och konversationsminne.
- I Knowledge Assistant Core ställer ni in Text på
{{ $json.message.text }}och behåller Prompt Type somdefine. - OpenAI Chat Engine är ansluten som språkmodell för Knowledge Assistant Core—inloggningsuppgifter krävs: anslut era
openAiApi-inloggningsuppgifter i OpenAI Chat Engine och välj modellengpt-4o-mini. - MongoDB Conversation Memory är kopplat som minne för Knowledge Assistant Core—ställ in Session Key på
{{ $('Telegram Message Trigger').item.json.message.chat.id }}och Collection Name pån8n-template-chat-history. - Inloggningsuppgifter krävs: anslut era
mongoDb-inloggningsuppgifter i MongoDB Conversation Memory.
Steg 5: konfigurera verktyg för hämtning av dokumentation och feedback
Koppla vektorbaserade hämtningsverktyg för att berika AI-svaren med produktdokumentation och historisk feedback.
- I Lookup Product Docs ställer ni in Mode på
retrieve-as-tool, Tool Name påproductDocsoch Vector Index Name pådata_index. - I Find Positive Examples ställer ni in Mode på
retrieve-as-tool, Tool Name påfeedbackPositiveoch Vector Index Name påtemplate-feedback-search(med metadata feedback satt till positive). - I Find Negative Examples ställer ni in Mode på
retrieve-as-tool, Tool Name påfeedbackNegativeoch Vector Index Name påtemplate-feedback-search(med metadata feedback satt till negative). - Inloggningsuppgifter krävs: anslut era
mongoDb-inloggningsuppgifter i Lookup Product Docs, Find Positive Examples och Find Negative Examples. - OpenAI Vector Encoder, Positive Feedback Encoder och Negative Feedback Encoder tillhandahåller embeddings för dessa verktyg—inloggningsuppgifter krävs: anslut era
openAiApi-inloggningsuppgifter i varje encoder-nod.
Steg 6: konfigurera Telegram-svar & godkännande samt insamling av feedback
Skicka svar till Telegram, samla in godkännanden och lagra feedback-vektorer för framtida förbättringar.
- I Telegram Reply & Approval ställer ni in Chat ID på
{{ $('Telegram Message Trigger').item.json.message.chat.id }}, Message på{{ $json.output }}och Operation påsendAndWaitmed godkänningstypdouble. - Inloggningsuppgifter krävs: anslut era
telegramApi-inloggningsuppgifter i Telegram Reply & Approval. - I Map Approval Outcome behåller ni den medföljande JavaScript-koden för att mappa godkännande till
positiveellernegative. - I Prepare Feedback Fields aktiverar ni Keep Only Set och ställer in fält: prompt till
{{ $('Telegram Message Trigger').item.json.message.text }}, response till{{ $('Knowledge Assistant Core').item.json.output }}, text tillPrompt: {{ $('Telegram Message Trigger').item.json.message.text }}. Completion: {{ $('Knowledge Assistant Core').item.json.output }}, och feedback till{{ $json.feedback }}. - I Feedback Text Splitter ställer ni in Chunk Size på
4000, och skickar sedan vidare till Feedback Data Loader med JSON Data inställt på{{ $json.text }}. - Feedback Embedding Builder är kopplad till Store Feedback Vectors—inloggningsuppgifter krävs: anslut era
openAiApi-inloggningsuppgifter i Feedback Embedding Builder. - I Store Feedback Vectors ställer ni in Mode på
insert, Vector Index Name påtemplate-feedback-searchoch Embedding Batch Size på1. - Inloggningsuppgifter krävs: anslut era
mongoDb-inloggningsuppgifter i Store Feedback Vectors. - Kör Manual Execution Start för att läsa in innehåll från Google Docs och bekräfta att Insert Documentation Vectors slutförs utan fel.
- Skicka ett testmeddelande till er Telegram-bot för att trigga Telegram Message Trigger och verifiera att Knowledge Assistant Core producerar ett svar.
- Godkänn eller avvisa svaret i Telegram och bekräfta att Map Approval Outcome och Prepare Feedback Fields skickar data till Store Feedback Vectors.
- Kontrollera MongoDB-kollektionerna
n8n-templateochn8n-template-feedbackför nya vektorer. - Aktivera workflowet så att Telegram Message Trigger kör kontinuerligt i produktion.
Steg 7: testa och aktivera ert workflow
Validera både flödet för inläsning av dokumentation och flödet för live-support via Telegram.
Tips för felsökning
- Telegram-inloggningen kan fallera om webhook-URL:en är fel eller om bot-token har återskapats. Kontrollera först inställningarna i din Telegram Trigger-nod och din botkonfiguration i Telegram.
- Om du använder Wait-noder eller extern bearbetning varierar svarstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- MongoDB Atlas vector search är petig med indexnamn och fält. Om hämtningen inte returnerar något, bekräfta att kollektionens sökindex matchar arbetsflödets konfigurerade indexnamn (som data_index) och att embedding-dimensionerna är korrekta.
- Standardprompterna i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.
Snabba svar
Räkna med cirka 60–90 minuter om MongoDB Atlas är nytt för dig.
Nej. Du kopplar ihop Telegram, Google, OpenAI och MongoDB och justerar sedan några prompts och inställningar. Det inkluderade kodsteget finns redan; vanligtvis justerar du bara fältnamn om du anpassar vilken data du sparar.
Ja. n8n har ett gratis alternativ för egen drift 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 med OpenAI API-användning (ofta några cent per dag vid låg supportvolym) och kostnader för MongoDB Atlas beroende på ditt kluster.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du förmodligen. Du kan indexera mer än ett dokument genom att bygga ut Google Docs Fetcher-delen i inläsningsflödet, och du kan byta hämtningskällor genom att justera noderna för MongoDB vector store (som “Lookup Product Docs”). Vanliga anpassningar är att lägga till “svara bara om säkerheten är hög”, routa vissa nyckelord till en människa och spara källhänvisningar tillbaka till din chatthistorik-kollektion så att svaren blir enklare att granska i efterhand.
Oftast är det ett webhook- eller tokenproblem. Bekräfta att bot-token i n8n matchar den du skapade i @botFather, och kontrollera sedan Telegram Trigger-webhook-URL:en och att n8n går att nå från internet. Om den ansluter men inte triggar beror det ofta på att en annan tjänst redan är registrerad mot botens webhook. Rensa den gamla webhooken och försök igen.
De flesta små team kan köra det utan problem för daglig supportvolym, och skalning handlar främst om din n8n-plan och storleken på ditt MongoDB-kluster.
För RAG-baserade supportbotar: oftast ja. n8n hanterar flersteglogik, förgreningar och databearbetning utan att du behöver kämpa med verktyget, och det är mycket mer realistiskt att köra egen drift när antalet körningar växer. Du får också tajtare kontroll över loopen “hämta dokument → generera svar → spara minne → fånga feedback”, vilket är hela poängen med det här arbetsflödet. Zapier eller Make kan fungera för enkla flöden som “skicka ett standardiserat svar”, men det här ligger närmare ett internt system än en tvåstegsintegration. Om du vill ha hjälp att välja, prata med en automationsexpert.
När detta väl är igång slutar dina Google Docs att vara “dokumentation” och blir i stället omedelbara svar direkt i Telegram. Arbetsflödet tar hand om det repetitiva, och ditt team kan fokusera på undantagsfallen som faktiskt kräver människor.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.