Du har filen någonstans. Du minns till och med vad den säger. Men att hitta den, öppna den, söka i den och svara någon om den äter ändå upp hela förmiddagen.
Det här drabbar ops-chefer och små teamgrundare först, helt ärligt. Men marknadsförare som lever i Telegram-kanaler känner av det också. En Telegram PDF-assistent-automatisering ger dig svar från dina Drive-dokument (och röstmeddelanden) utan att hoppa mellan appar.
Det här arbetsflödet gör Telegram till en praktisk ”fråga och gå vidare”-assistent. Du får se vad det gör, vad du behöver och hur delarna hänger ihop.
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Telegram + Google Drive: snabba PDF-svar i chatten
flowchart LR
subgraph sg0["Telegram Event Listener Flow"]
direction LR
n0["<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 Event Listener"]
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/telegram.svg' width='40' height='40' /></div><br/>Fetch Voice Recording"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Merge Content Fields", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Transcribe Audio to Text", pos: "b", h: 48 }
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/>Send Typing Indicator"]
n5["<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/>Primary Replicate Request"]
n6["<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/>Deliver AI Voice Reply"]
n7["<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/>Retrieve Replicate Audio"]
n8@{ icon: "mdi:brain", form: "rounded", label: "Gemini 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/telegram.svg' width='40' height='40' /></div><br/>Post AI Text Reply"]
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/telegram.svg' width='40' height='40' /></div><br/>Send Brave Search Reply"]
n11@{ icon: "mdi:wrench", form: "rounded", label: "Reasoning Tool", pos: "b", h: 48 }
n12@{ icon: "mdi:wrench", form: "rounded", label: "Math Utility", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Date Time Utility", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Brave Web Search", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Brave Search Tool", pos: "b", h: 48 }
n16@{ icon: "mdi:location-exit", form: "rounded", label: "Calendar Create Event Tool", pos: "b", h: 48 }
n17@{ icon: "mdi:location-exit", form: "rounded", label: "Calendar Holiday Lookup", pos: "b", h: 48 }
n18@{ icon: "mdi:robot", form: "rounded", label: "QA Retrieval Chain", pos: "b", h: 48 }
n19@{ icon: "mdi:cube-outline", form: "rounded", label: "Vector Store Fetcher", pos: "b", h: 48 }
n20@{ icon: "mdi:cube-outline", form: "rounded", label: "Qdrant Store RAG", pos: "b", h: 48 }
n21@{ icon: "mdi:vector-polygon", form: "rounded", label: "OpenAI Embeddings RAG", pos: "b", h: 48 }
n22@{ icon: "mdi:brain", form: "rounded", label: "Gemini RAG Model", pos: "b", h: 48 }
n23["<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 RAG Reply"]
n24["<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/>Refresh Document Index"]
n25@{ icon: "mdi:cog", form: "rounded", label: "Locate PDF Files", pos: "b", h: 48 }
n26["<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 PDF Search Reply"]
n27["<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/>Notify Qdrant Indexing"]
n28["<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/>Upload to Mistral"]
n29["<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/>Fetch Mistral Signed URL"]
n30["<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/>Run Mistral OCR"]
n31@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Items Batch", pos: "b", h: 48 }
n32@{ icon: "mdi:vector-polygon", form: "rounded", label: "OpenAI Embeddings", pos: "b", h: 48 }
n33@{ icon: "mdi:robot", form: "rounded", label: "Standard Data Loader", pos: "b", h: 48 }
n34@{ icon: "mdi:robot", form: "rounded", label: "Token Chunk Splitter", pos: "b", h: 48 }
n35["<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/>Custom Script Logic"]
n36@{ icon: "mdi:cog", form: "rounded", label: "Pause Execution", pos: "b", h: 48 }
n37@{ icon: "mdi:cube-outline", form: "rounded", label: "Qdrant Vector Index", pos: "b", h: 48 }
n38@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Page Value", pos: "b", h: 48 }
n39@{ icon: "mdi:cog", form: "rounded", label: "Retrieve PDF File", pos: "b", h: 48 }
n40@{ icon: "mdi:robot", form: "rounded", label: "Conversational AI Agent", pos: "b", h: 48 }
n41@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route Content Type", pos: "b", h: 48 }
n42@{ icon: "mdi:brain", form: "rounded", label: "Gemini Chat Model Alt", pos: "b", h: 48 }
n43@{ icon: "mdi:wrench", form: "rounded", label: "Reasoning Tool Alt", pos: "b", h: 48 }
n44@{ icon: "mdi:wrench", form: "rounded", label: "Math Utility Alt", pos: "b", h: 48 }
n45@{ icon: "mdi:cog", form: "rounded", label: "Date Time Utility Alt", pos: "b", h: 48 }
n46@{ icon: "mdi:cog", form: "rounded", label: "Brave Search Tool Alt", pos: "b", h: 48 }
n47@{ icon: "mdi:location-exit", form: "rounded", label: "Calendar Create Event Alt", pos: "b", h: 48 }
n48@{ icon: "mdi:location-exit", form: "rounded", label: "Calendar Holiday Lookup Alt", pos: "b", h: 48 }
n49@{ icon: "mdi:robot", form: "rounded", label: "Voice Response Agent", pos: "b", h: 48 }
n50@{ icon: "mdi:memory", form: "rounded", label: "Window Memory Alt", pos: "b", h: 48 }
n51["<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/>Help Response Sender"]
n52@{ icon: "mdi:memory", form: "rounded", label: "Window Memory", pos: "b", h: 48 }
n53@{ icon: "mdi:cog", form: "rounded", label: "Airbnb MCP Client", pos: "b", h: 48 }
n54@{ icon: "mdi:cog", form: "rounded", label: "Airbnb Toolset", pos: "b", h: 48 }
n55@{ icon: "mdi:cog", form: "rounded", label: "Airbnb MCP Client Alt", pos: "b", h: 48 }
n56@{ icon: "mdi:cog", form: "rounded", label: "Airbnb Toolset Alt", pos: "b", h: 48 }
n57@{ icon: "mdi:cog", form: "rounded", label: "Google Drive Lookup", pos: "b", h: 48 }
n58@{ icon: "mdi:cog", form: "rounded", label: "Google Docs Reader", pos: "b", h: 48 }
n59@{ icon: "mdi:cog", form: "rounded", label: "Google Drive Export", pos: "b", h: 48 }
n60@{ icon: "mdi:cog", form: "rounded", label: "Google Drive Archive", pos: "b", h: 48 }
n61@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Field Values", pos: "b", h: 48 }
n62["<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 Invoice PDF"]
n63@{ icon: "mdi:location-exit", form: "rounded", label: "Calendar Birthday Query", pos: "b", h: 48 }
n64["<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 Birthday List"]
n35 --> n31
n36 --> n31
n11 -.-> n40
n43 -.-> n49
n39 --> n28
n38 --> n37
n40 --> n9
n49 --> n5
n53 -.-> n49
n12 -.-> n40
n55 -.-> n40
n44 -.-> n49
n13 -.-> n40
n61 --> n57
n58 --> n59
n25 --> n26
n54 -.-> n49
n15 -.-> n40
n45 -.-> n49
n57 --> n58
n56 -.-> n40
n46 -.-> n49
n59 --> n60
n59 --> n62
n14 --> n10
n28 --> n29
n34 -.-> n33
n31 --> n27
n31 --> n38
n30 --> n35
n32 -.-> n37
n63 --> n64
n5 --> n7
n21 -.-> n20
n29 --> n30
n24 --> n25
n33 -.-> n37
n1 --> n3
n37 --> n36
n20 -.-> n19
n52 -.-> n40
n3 --> n2
n22 -.-> n18
n50 -.-> n49
n19 -.-> n18
n41 --> n51
n41 --> n24
n41 --> n39
n41 --> n18
n41 --> n63
n41 --> n14
n41 --> n1
n41 --> n61
n41 --> n40
n7 --> n6
n8 -.-> n40
n42 -.-> n49
n18 --> n23
n0 --> n4
n0 --> n41
n16 -.-> n40
n17 -.-> n40
n47 -.-> n49
n48 -.-> n49
n2 --> n49
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 n0 trigger
class n3,n18,n33,n34,n40,n49 ai
class n8,n22,n42 aiModel
class n11,n12,n43,n44 ai
class n50,n52 ai
class n19,n20,n37 ai
class n21,n32 ai
class n41 decision
class n5,n7,n24,n28,n29,n30 api
class n35 code
classDef customIcon fill:none,stroke:none
class n0,n1,n4,n5,n6,n7,n9,n10,n23,n24,n26,n27,n28,n29,n30,n35,n51,n62,n64 customIcon
Problemet: att svara på ”enkla” frågor tar en evighet
De flesta jobbfrågor är inte svåra. De är bara begravda. Någon frågar ”Vad är återbetalningspolicyn i PDF:en?” eller ”Vilken version av avtalsmallen använder vi?” och du hamnar på en skattjakt genom Drive-mappar, gamla chattar och halvt ihågkomna filnamn. Till slut hittar du PDF:en, inser att den är inskannad, kopierar ett stycke, klistrar in det i ett svar och oroar dig ändå för att du missade en detalj. Gör du det några gånger om dagen har du tappat ett rejält tidblock. Dessutom är kontextbytena utmattande.
Det här växer snabbt. Här är var det faller isär i verkliga team.
- Du öppnar samma PDF:er om och om igen eftersom svaret inte finns sparat någonstans som är smidigt.
- Inskannade dokument saktar ner allt, eftersom sök inte fungerar förrän någon kör OCR.
- Röstmeddelanden är ”snabba”, men blir en backlogg eftersom ingen vill transkribera och sammanfatta dem.
- När du svarar utifrån minnet smyger sig små fel in och du slösar ytterligare 10 minuter på att rätta dig själv.
Lösningen: en Telegram-assistent som kan söka i Drive-PDF:er
Det här n8n-arbetsflödet ger dig en kommando-styrd AI-assistent i Telegram som kopplar mot Google Drive och andra ”admin”-verktyg. Det startar när någon skickar ett meddelande till din Telegram-bot (text eller röst). Ett routningssteg tittar på kommandot (som /pdf för att hitta filer, /rag för att ställa frågor om indexerade dokument, eller /invoice för att skapa ett dokument). Därifrån söker arbetsflödet antingen i Drive, hämtar en PDF och kör OCR, sparar sökbara textbitar i en vektordatabas (Qdrant), eller skickar din begäran till en AI Agent för ett vanligt chatt-svar. Till sist skickas svaret tillbaka till Telegram som text, eller till och med som ett genererat röstsvar när du använder röstmeddelanden.
Arbetsflödet börjar med en Telegram-message-trigger. Det skickar din begäran via en Switch-nod till en av flera ”banor” (Drive PDF-sök, PDF-frågor och svar med RAG, rösttranskribering och svar, kalender/admin-uppgifter eller fakturaskapande). Resultatet hamnar direkt tillbaka i samma chatt så att du kan fortsätta.
Vad du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du svarar på 6 dokumentfrågor i veckan och att varje fråga tar kanske 10 minuter för att hitta PDF:en, söka, kopiera utdraget och svara. Det är ungefär en timme ren ”var lade vi det där?”. Med det här arbetsflödet skickar du /rag plus din fråga i Telegram, väntar ungefär en minut på hämtning och AI-svar, och sen är du klar. Om du dessutom indexerar 2 nya PDF:er i veckan via /qdrant är det ett par minuters uppstart som fortsätter att betala tillbaka.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
- Telegram för bot-chattgränssnittet
- Google Drive + Google Docs för att lagra och skapa dokument
- OpenAI API-nyckel (hämta den från platform.openai.com)
- Google Gemini API-nyckel (hämta den från Google AI Studio)
- Qdrant för att lagra embeddings för PDF-frågor och svar
- Mistral AI API-nyckel (hämta den från console.mistral.ai)
- Brave Search API-nyckel (hämta den från Braves utvecklarportal)
- Replicate API-token (hämta den från replicate.com)
Kunskapsnivå: Medel. Du kommer inte koda mycket, men du kommer sätta upp autentisering, klistra in API-nycklar och uppdatera några ID:n (Drive-mapp-ID:n, mall-dokument-ID:n, kalender-ID:n).
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett Telegram-meddelande triggar allt. Botten lyssnar på text, kommandon och röstmeddelanden och skickar sedan en snabb ”skriver…”-indikator så att chatten känns responsiv.
Din begäran routas baserat på kommandot. En Switch kontrollerar om du bad om hjälp, PDF-sök, PDF-frågor och svar, fakturagenerering, webbsök, födelsedagar eller en generell chatt. Den routningen är det som gör assistenten förutsägbar i stället för att ”AI-gissa” varje gång.
Dokumentjobbet sker i bakgrunden. Om du indexerar en PDF laddar arbetsflödet ner den från Google Drive, kör OCR via Mistral, delar upp texten i bitar, skapar OpenAI-embeddings och lagrar allt i Qdrant. Om du ställer en fråga hämtar Retrieval QA-kedjan de mest relevanta textbitarna och Gemini skriver svaret med den kontexten.
Röst konverteras och besvaras. Röstmeddelanden laddas ner från Telegram, Whisper transkriberar dem, en AI Agent formulerar svaret och Replicate kan skapa ett ljudsvar om du vill att assistenten ska ”prata tillbaka”.
Du kan enkelt ändra Telegram-kommandona så att de matchar ert interna språk utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Telegram-triggern
Konfigurera den inkommande Telegram-webhooken så att arbetsflödet kan ta emot och routa meddelanden från er bot.
- Lägg till och öppna Telegram Event Listener.
- Anslut er Telegram-bot och spara noden för att generera webhooken.
- Bekräfta körflödet: Telegram Event Listener skickar utdata parallellt till både Send Typing Indicator och Route Content Type.
Steg 2: Anslut Telegram och centrala integrationer
Det här arbetsflödet använder flera Telegram-, Google-, AI- och HTTP-noder. Anslut autentiseringsuppgifter en gång för att undvika körningsfel i parallella grenar.
- Anslut Telegram-autentiseringsuppgifter till alla meddelandenoder (11+ noder), inklusive Send Typing Indicator, Post AI Text Reply, Deliver AI Voice Reply och Send RAG Reply.
- Anslut Google Drive-autentiseringsuppgifter till alla Google Drive-noder (5+ noder), inklusive Retrieve PDF File, Locate PDF Files, Google Drive Lookup, Google Drive Export och Google Drive Archive.
- Anslut Google Docs-autentiseringsuppgifter i Google Docs Reader och Google Calendar-autentiseringsuppgifter i Calendar Birthday Query.
- Anslut API-autentiseringsuppgifter för Transcribe Audio to Text (OpenAI), Gemini Chat Model och Gemini Chat Model Alt.
- Ställ in autentisering för HTTP request-noderna (6+ noder), inklusive Primary Replicate Request, Retrieve Replicate Audio, Upload to Mistral, Fetch Mistral Signed URL och Run Mistral OCR.
- Anslut Qdrant-autentiseringsuppgifter i Qdrant Vector Index och Qdrant Store RAG, samt OpenAI embeddings-autentiseringsuppgifter i OpenAI Embeddings och OpenAI Embeddings RAG.
Steg 3: Konfigurera innehållsroutning och hjälpsvar
Routa Telegram-meddelanden till rätt bearbetningsgren baserat på innehållstyp och ge ett standardsvar för hjälp.
- Öppna Route Content Type och definiera villkor för text, röst, sök, kalender och dokumentrelaterade förfrågningar.
- Säkerställ att Route Content Type är kopplad till Help Response Sender för ej stödda förfrågningar eller hjälpförfrågningar.
- Verifiera att routningsutgångarna inkluderar Brave Web Search, Calendar Birthday Query, Fetch Voice Recording, QA Retrieval Chain och Conversational AI Agent.
Steg 4: Konfigurera AI-pipelinen för röstmeddelanden
Den här grenen hanterar röstmeddelanden genom att transkribera ljud, generera ett svar med en agent och returnera ett talat svar.
- Säkerställ att Fetch Voice Recording tar emot Telegram-röstmeddelanden och skickar utdata till Transcribe Audio to Text.
- Konfigurera Transcribe Audio to Text så att transkriptdata skickas till Merge Content Fields.
- Koppla Merge Content Fields till Voice Response Agent, som därefter skickar utdata till Primary Replicate Request och Retrieve Replicate Audio innan Deliver AI Voice Reply.
- Koppla Gemini Chat Model Alt som språkmodell för Voice Response Agent och lägg till autentiseringsuppgifter där.
- Koppla Reasoning Tool Alt, Math Utility Alt, Date Time Utility Alt, Brave Search Tool Alt, Calendar Create Event Alt och Calendar Holiday Lookup Alt till Voice Response Agent. Lägg till eventuella nödvändiga verktygsautentiseringsuppgifter i Voice Response Agent, inte i verktygsnoderna.
- Koppla Window Memory Alt till Voice Response Agent; konfigurera minnesinställningar inne i agenten.
Steg 5: Konfigurera AI-assistentens textsvar
Den här grenen hanterar vanliga textsvar med en AI-agent med verktyg, minne och en Gemini-modell.
- Säkerställ att Conversational AI Agent skickar utdata till Post AI Text Reply.
- Koppla Gemini Chat Model som språkmodell för Conversational AI Agent och anslut era Gemini-autentiseringsuppgifter där.
- Koppla Reasoning Tool, Math Utility, Date Time Utility, Brave Search Tool, Calendar Create Event Tool och Calendar Holiday Lookup som verktyg för Conversational AI Agent, och lägg till eventuella verktygsautentiseringsuppgifter i föräldranoden.
- Koppla Window Memory till Conversational AI Agent för att bevara kontext mellan meddelanden.
- Inkludera Airbnb MCP Client och Airbnb Toolset som verktyg om ni planerar att använda MCP-integrationerna; lägg till deras autentiseringsuppgifter i Conversational AI Agent.
Steg 6: Sätt upp RAG och svar med vektorsök
RAG-flödet indexerar dokument och besvarar frågor med Qdrant och en retrieval chain.
- Koppla QA Retrieval Chain till Send RAG Reply för slutliga Telegram-svar.
- Koppla Vector Store Fetcher som retriever för QA Retrieval Chain och anslut den till Qdrant Store RAG.
- Koppla Gemini RAG Model som språkmodell för QA Retrieval Chain och anslut Gemini-autentiseringsuppgifter.
- Ställ in OpenAI Embeddings RAG som embeddings-leverantör för Qdrant Store RAG och anslut OpenAI-autentiseringsuppgifter.
- Säkerställ att OpenAI Embeddings, Standard Data Loader och Token Chunk Splitter är anslutna till Qdrant Vector Index för att köra indexeringspipelinen.
Steg 7: Konfigurera PDF- och dokumenthantering
Det här arbetsflödet indexerar PDF:er, utför OCR och hanterar Google Drive-dokumentexporter för leverans via Telegram.
- Säkerställ att Refresh Document Index skickar utdata till Locate PDF Files och därefter till Send PDF Search Reply för att lista resultat.
- Koppla Retrieve PDF File till Upload to Mistral, Fetch Mistral Signed URL och Run Mistral OCR.
- Verifiera att Run Mistral OCR skickar utdata till Custom Script Logic, sedan till Iterate Items Batch och slutligen till Assign Page Value och Qdrant Vector Index.
- Bekräfta att Qdrant Vector Index skickar utdata till Pause Execution, sedan tillbaka till Iterate Items Batch och till sist till Notify Qdrant Indexing.
- För dokumentexporter, koppla Map Field Values → Google Drive Lookup → Google Docs Reader → Google Drive Export.
- Bekräfta att Google Drive Export skickar utdata parallellt till både Google Drive Archive och Send Invoice PDF.
Steg 8: Konfigurera webbsök- och kalendersvar
Aktivera svar med extern data för webbsökning och födelsedagsfrågor i kalendern.
- Koppla Brave Web Search till Send Brave Search Reply och lägg till Brave Search-autentiseringsuppgifter.
- Koppla Calendar Birthday Query till Send Birthday List och lägg till Google Calendar-autentiseringsuppgifter.
Steg 9: Testa och aktivera ert arbetsflöde
Validera alla grenar och säkerställ att autentiseringsuppgifter fungerar innan ni går live.
- Klicka på Execute Workflow och skicka ett testmeddelande i Telegram (text, röst, sök och kalender) för att trigga varje gren.
- Bekräfta lyckade körningar: röstmeddelanden returnerar Deliver AI Voice Reply, textmeddelanden returnerar Post AI Text Reply, RAG-frågor returnerar Send RAG Reply och sökningar returnerar Send Brave Search Reply.
- Om någon nod ger fel, gå tillbaka och justera autentiseringsuppgifter i den specifika noden och testa igen.
- Slå på arbetsflödet till Active för att möjliggöra produktionsanvändning.
Vanliga fallgropar
- OAuth-uppgifter för Google Drive och Google Docs kan löpa ut eller sakna rätt scopes. Om filsök eller fakturagenerering misslyckas, kontrollera först Google Cloud OAuth consent och det anslutna kontot i n8n-credentials.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms-noder fallerar på tomma svar.
- Qdrant kan se ”ansluten” ut men ändå neka skrivningar om collections-namnet, URL:en eller API-nyckeln är fel. Om RAG-svar kommer tillbaka tomma, kontrollera Qdrant-collectionen och bekräfta att embeddings faktiskt lagras.
Vanliga frågor
Cirka 60 minuter om du redan har dina API-nycklar och Google-åtkomst redo.
Nej. Du kommer främst att koppla ihop konton och klistra in API-nycklar. Lite redigering (som mapp-ID:n och mall-ID:n) är den huvudsakliga ”tekniska” delen.
Ja. n8n har ett gratis självhostat 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 med API-kostnader för OpenAI (Whisper + embeddings), Gemini, Mistral OCR, Qdrant-hosting, Brave Search och Replicate text-till-tal.
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) 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 serverhantering.
Ja, men planera det medvetet. Du kan byta ut Gemini-chatmodellnoderna mot en annan LLM du föredrar, och du kan ta bort hela grenar genom att redigera Route Content Type (Switch)-logiken så att bara de kommandon du vill ha kvar finns kvar. Vanliga anpassningar är att stänga av röstsvar (Replicate), behålla bara /pdf och /rag och ändra fakturamall-mappningen i Map Field Values- och Google Docs-noderna.
Oftast är det bot-tokenen eller en Telegram-nod som pekar på fel credential. Generera tokenen på nytt i @BotFather vid behov och uppdatera sedan varje Telegram-nod som skickar meddelanden (inte bara triggern). Kontrollera också att din bot kan läsa den meddelandetyp du skickar (röst vs text) och att du testar i rätt chatt.
Många.
För ett arbetsflöde som det här, ja i de flesta fall. Du kombinerar rösttranskribering, RAG-hämtning, OCR, embeddings, en vektordatabas och flera verktygs”banor” bakom en Telegram-bot, och n8n hanterar den förgreningarna snyggt utan att det blir en prischock. Självhosting är också en stor grej när du har frekventa chattinteraktioner. Zapier eller Make kan fortfarande vara bra för lätta ”Telegram-meddelande → en åtgärd”-automatiseringar, men de blir klumpiga när du behöver minne, hämtningskedjor eller mycket villkorsstyrd routning. Prata med en automationsexpert om du vill ha hjälp att välja den enklaste uppsättningen för dina exakta behov.
När det här väl är igång blir Telegram platsen där du frågar och platsen där du får svaret. Arbetsflödet sköter det repetitiva grävandet så att du kan återgå till det faktiska arbetet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.