Du känner igen den där känslan när du svär att du sparade den slutliga kreativa briefen … men den är begravd i ett röstmeddelande, en skärmdump, en slumpmässig PDF eller en e-posttråd från två månader sedan. Du slösar 20 minuter på att leta, sedan återskapar du den ur minnet och hoppas att det är tillräckligt nära.
Den här Telegram MongoDB memory-automationen träffar marknadschefer rakt i magen. Den räddar också förståndet för byråledare som lever i kundchattar, och grundare som jonglerar idéer mellan möten, DM:ar och dokument. Resultatet är enkelt: du kan plocka fram beslut och material vid begäran, utan att behöva gräva.
Du sätter upp ett n8n-flöde som fångar allt du skickar till Telegram (röst, bilder, PDF:er, ren text), gör det till sökbar ”minnesdata” och svarar på frågor med hjälp av det den redan kan.
Så fungerar den här automatiseringen
Här är hela flödet som du kommer att sätta upp:
n8n Workflow Template: Telegram + MongoDB: sökbart minne för marknadsförare
flowchart LR
subgraph sg0["Telegram 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 Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Transcribe a recording", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
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/telegram.svg' width='40' height='40' /></div><br/>Respond"]
n6@{ icon: "mdi:memory", form: "rounded", label: "MongoDB Chat Memory", pos: "b", h: 48 }
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/>ConvertAPI HTTP Request"]
n8["<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/>Get audio file"]
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/>Get photo file"]
n10@{ icon: "mdi:robot", form: "rounded", label: "Analyze image", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get text from Image", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get text from Audio", pos: "b", h: 48 }
n13["<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/>Get a file"]
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get text from PDF", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Unsupported Input", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get text from Message", pos: "b", h: 48 }
n19@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message in Gmail", pos: "b", h: 48 }
n20@{ icon: "mdi:message-outline", form: "rounded", label: "Search for a messages in Gmail", pos: "b", h: 48 }
n14 --> n15
n14 --> n17
n1 --> n9
n1 --> n8
n1 --> n13
n1 --> n18
n3 --> n5
n13 --> n14
n10 --> n11
n8 --> n2
n9 --> n7
n0 --> n1
n15 --> n16
n16 --> n3
n4 -.-> n3
n17 --> n3
n12 --> n3
n11 --> n3
n6 -.-> n3
n18 --> n3
n2 --> n12
n7 --> n10
n19 -.-> n3
n20 -.-> 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 n0 trigger
class n2,n3,n10 ai
class n4 aiModel
class n6 ai
class n1,n14 decision
class n7 api
classDef customIcon fill:none,stroke:none
class n0,n5,n7,n8,n9,n13 customIcon
Varför det här är viktigt: marknadskunskap försvinner snabbt
Marknadsarbete misslyckas inte för att du saknar idéer. Det misslyckas för att detaljerna blir utspridda. Den ”godkända” positioneringen finns i ett röstmeddelande. Kampanjens tidslinje är ett foto av en whiteboard. De slutliga villkoren för erbjudandet ligger i en PDF-bilaga. En vecka senare ber du teamet skicka om saker, eller ännu värre: du levererar med föråldrat sammanhang. Det handlar inte bara om förlorad tid. Det handlar om momentum, trygghet och möjligheten att skala repetitiva kampanjer utan att behöva öppna varje beslut på nytt.
Friktionen bygger på. Så här fallerar det i riktiga team.
- Röstmeddelanden och mötesrecaps är ”sparade” men inte sökbara, så samma frågor dyker upp om och om igen.
- Bilder och skärmdumpar innehåller nyckeldetaljer (annonsdata, konkurrentvinklar), men blir döda filer så fort de laddas upp.
- PDF:er skickas vidare, och ingen minns vilken version som hade slutlig prissättning, claims eller compliance-noteringar.
- När du väl hittar något är det så sent att du redan skriver om, redigerar om eller godkänner om.
Vad du bygger: en Telegram-baserad AI-minnesassistent
Det här flödet gör din Telegram-bot till ett system för insamling och återkallning som faktiskt hänger med i hur marknadsförare jobbar. Du skickar ett röstmeddelande, en bild, en PDF eller ett snabbt textmeddelande. n8n upptäcker vad du skickade och använder sedan OpenAI för att göra om det till användbar text: röst blir transkription, bilder blir beskrivningar, PDF:er blir extraherat innehåll. Därefter organiserar den informationen i strukturerade ”minnesblock”, lägger till taggar och en sammanfattning och sparar allt i MongoDB Atlas så att det är beständigt och sökbart senare. När du ställer en fråga i Telegram hämtar AI-agenten de mest relevanta minnena och svarar med sammanhang, inte gissningar.
Flödet börjar med att ta emot i Telegram. Sedan förgrenar det till rätt bearbetningsspår (transkribera, analysera, extrahera). Till sist använder den konverserande AI-agenten minne och hämtning backat av MongoDB för att svara dig direkt i Telegram, och den kan även söka eller skicka Gmail-meddelanden när det sammanhanget behövs.
Det du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du fångar 10 marknadsförings”saker” per dag: 4 röstmeddelanden (cirka 5 minuter styck att spela upp och sammanfatta senare), 3 skärmdumpar, 2 PDF:er och en slumpmässig textidé. Det är ungefär en timmes framtida städjobb för framtida-du, och det händer oftast vid sämsta möjliga tillfälle (precis innan publicering, lansering eller rapportering). Med det här flödet tar insamlingen under en minut per objekt i Telegram, och återkallningen är i princip omedelbar eftersom MongoDB-sökningen returnerar de närmaste träffarna. De flesta team får tillbaka cirka 5 timmar per vecka, plus färre ”det här bestämde vi redan”-varv.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Telegram för att fånga meddelanden via en bot
- MongoDB Atlas för att lagra och söka i ditt minne
- OpenAI API-nyckel (hämta den från din OpenAI-dashboard)
Kunskapsnivå: Medel. Du kopplar credentials (Telegram/OpenAI/MongoDB) och gör ett eller två konfigurationsval, som ett MongoDB Vector Search-index.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Du skickar något till din Telegram-bot. Ett röstmeddelande, en bild, en PDF eller ren text räcker. Telegram-triggern fångar det inkommande meddelandet direkt.
Flödet upptäcker input-typ och bearbetar den korrekt. Röstmeddelanden laddas ner och transkriberas med OpenAI. Bilder konverteras och analyseras så att assistenten kan beskriva vad som finns i dem. Dokument laddas ner, kontrolleras och sedan extraheras texten ur PDF:er (filer som inte stöds får ett artigt ”kan inte bearbeta detta”-meddelande i stället för att skapa fel utan att säga till).
AI gör om råinnehåll till minne du faktiskt kan hämta. Chattmodellen delar upp innehållet, skapar en kortfattad sammanfattning och lägger till metadata som taggar eller nyckelord. Den strukturen spelar roll eftersom den hindrar din databas från att bli en rörig låda med skräp.
MongoDB lagrar det, och AI-agenten återkallar det senare. När du ställer en fråga i Telegram söker agenten i dina lagrade minnen (med vector search för semantisk likhet) och svarar med det mest relevanta sammanhanget. Om e-postsammanhang behövs kan agenten även söka i Gmail-meddelanden eller skicka ett e-postsvar med de kopplade Gmail-verktygen.
Du kan enkelt ändra minnesfälten (taggar, projektnamn, kund, kampanj) så att de matchar hur du arbetar. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Telegram-triggern
Börja med att sätta upp Telegram-intaget så att arbetsflödet kan ta emot meddelanden, foton, röstmeddelanden och dokument.
- Lägg till och öppna Telegram Intake Trigger.
- Ställ in Updates på
message. - Inloggningsuppgifter krävs: Anslut era
telegramApi-inloggningsuppgifter. - Spara noden för att generera webhook-URL:en och konfigurera den i er Telegram-bot.
Steg 2: Routa inkommande meddelandetyper
Använd switch-logik för att routa text, foton, röstmeddelanden och dokument till rätt bearbetningsflöde.
- Lägg till Route Input Type och aktivera Loose Type Validation.
- Konfigurera foto-regeln med Left Value
={{ $json.message.photo[3]}}och operationen exists. - Konfigurera röst-regeln med Left Value
={{ $json.message.voice }}och operationen exists. - Konfigurera dokument-regeln med Left Value
={{ $json.message.document }}och operationen exists. - Konfigurera text-regeln med Left Value
={{ $json.message.text }}och operationen exists.
Tips: Ordningen på reglerna i Route Input Type spelar roll – se till att kontrollerna för foto, röst och dokument ligger ovanför text-regeln för att undvika att text fångar alla fall.
Steg 3: Konfigurera mediabearbetning (bilder, röst, PDF:er)
Sätt upp noder för nedladdning och transformation av media så att assistenten kan förstå bilder, ljud och PDF-dokument.
- I Download Photo File ställer ni in File ID på
={{ $json.message.photo[3].file_id }}och Resource påfile. - Inloggningsuppgifter krävs: Anslut era
telegramApi-inloggningsuppgifter i Download Photo File. - I ConvertAPI Image Request ställer ni in URL till
https://v2.convertapi.com/convert/ai/to/png, Method tillPOST, och behåller Content Type sommultipart-form-data. - I ConvertAPI Image Request ställer ni in headern Authorization till
Bearer [CONFIGURE_YOUR_TOKEN]och säkerställer att formulärdatafälten inkluderar StoreFile =trueoch att File använder binär indatadata. - Inloggningsuppgifter krävs: Anslut era
convertApi-inloggningsuppgifter i ConvertAPI Image Request. - I Image Content Analysis ställer ni in Image URLs på
={{ $json.Files[0].Url }}och väljer modellengpt-4o. - Inloggningsuppgifter krävs: Anslut era
openAiApi-inloggningsuppgifter i Image Content Analysis. - I Download Voice File ställer ni in File ID på
={{ $json.message.voice.file_id }}och Resource påfile. - Inloggningsuppgifter krävs: Anslut era
telegramApi-inloggningsuppgifter i Download Voice File. - I Audio Transcription ställer ni in Resource på
audiooch Operation påtranscribe. - Inloggningsuppgifter krävs: Anslut era
openAiApi-inloggningsuppgifter i Audio Transcription. - I Download Document File ställer ni in File ID på
={{ $('Telegram Intake Trigger').item.json.message.document.file_id }}och Resource påfile. - Inloggningsuppgifter krävs: Anslut era
telegramApi-inloggningsuppgifter i Download Document File. - I PDF File Check ställer ni in villkoret till Left Value
={{ $json.result.file_path }}containspdf. - I Extract PDF Text ställer ni in Operation på
pdf.
⚠️ Vanlig fallgrop: Om ConvertAPI Image Request misslyckas, kontrollera token i headern Authorization och säkerställ att fältnamnet för binär indata är data.
Steg 4: Sätt ihop indata-text för AI:n
Normalisera allt inkommande innehåll till ett enda text-fält för AI-agenten. Det finns flera set-noder; konfigurera de ni behöver utifrån funktion.
- I Compose Image Text ställer ni in text till
=I just submitted an images with this description: {{ $json.content }}. - I Compose Audio Text ställer ni in text till
={{ $json.text }}. - I Compose PDF Text ställer ni in text till
=I just uploaded a file with details: Name: {{ $json.info.Title }}, Content :{{ $json.text }}. - I Unsupported File Notice ställer ni in text till
=User just uploaded the Word file but your system doesnt support such files just yet.. - I Compose Message Text ställer ni in text till
={{$json.message.text}}.
Tips: Eftersom det finns flera set-noder (grupperade efter funktion), säkerställ att varje nod skriver till samma text-fält så att Conversational AI Agent alltid får konsekvent indata.
Steg 5: Sätt upp AI-agent, minne och verktyg
Konfigurera AI-agenten att använda OpenAI:s chattmodell, MongoDB-minne och Gmail-verktyg.
- Öppna Conversational AI Agent och ställ in Text till
={{ $json.text }}. - I Conversational AI Agent ställer ni in System Message till
You are a helpful assistant. If you don't have enough context to answer a question, use the MongoDB Atlas Vector Store Tool to check the vector store for more context before you formulate a response.. - Öppna OpenAI Chat Engine och välj modellen
gpt-4.1-mini. - Inloggningsuppgifter krävs: Anslut era
openAiApi-inloggningsuppgifter i OpenAI Chat Engine. - Öppna MongoDB Conversation Memory och ställ in Session Key till
={{ $('Telegram Intake Trigger').item.json.message.from.id }}, Database Name tillchat_messagesoch Context Window Length till100. - Inloggningsuppgifter krävs: Anslut era
mongoDb-inloggningsuppgifter i MongoDB Conversation Memory. - Öppna Dispatch Gmail Message och behåll fälten som AI-platshållare: Send To
={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}, Subject={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}och Message={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}. - Öppna Search Gmail Messages och ställ in Limit till
={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}och filterfrågan q till={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Search', ``, 'string') }}. - Inloggningsuppgifter krävs: Anslut era
gmailOAuth2-inloggningsuppgifter i både Dispatch Gmail Message och Search Gmail Messages.
⚠️ Vanlig fallgrop: MongoDB Conversation Memory, Dispatch Gmail Message och Search Gmail Messages är AI-undernoder – säkerställ att inloggningsuppgifter läggs till i dessa verktyg så att Conversational AI Agent kan komma åt dem.
Steg 6: Konfigurera Telegram-utdata
Skicka AI-svaret tillbaka till Telegram-användaren som initierade förfrågan.
- Öppna Send Telegram Reply och ställ in Text till
={{ $json.output }}. - Ställ in Chat ID till
={{ $('Route Input Type').item.json.message.from.id }}. - Inloggningsuppgifter krävs: Anslut era
telegramApi-inloggningsuppgifter i Send Telegram Reply.
Steg 7: Testa och aktivera ert arbetsflöde
Validera varje indatatyp och säkerställ att AI:n svarar korrekt innan ni går live.
- Klicka på Execute Workflow och skicka en text, ett foto, ett röstmeddelande och en PDF till er Telegram-bot.
- Bekräfta att Route Input Type routar till rätt flöde och att Conversational AI Agent får ett
text-fält i varje fall. - Kontrollera att Send Telegram Reply returnerar ett svar till samma användar-ID från
={{ $('Route Input Type').item.json.message.from.id }}. - När allt fungerar som förväntat, växla arbetsflödet till Active för användning i produktion.
Felsökningstips
- Telegram-credentials kan löpa ut eller så kan bot-token vara fel. Om meddelanden slutar trigga, kontrollera din Telegram bot-token i n8n-credentials och bekräfta att boten fortfarande finns i BotFather.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.
Snabba svar
Cirka 20 minuter om dina konton är redo.
Nej. Du kopplar främst konton och klistrar in några API-nycklar. Den enda ”tekniska” delen är att sätta upp ett MongoDB Vector Search-index, och även det är point-and-click.
Ja. n8n har ett gratis alternativ för egen hosting 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 in OpenAI API-kostnader (ofta några dollar i månaden vid lätt användning, mer om du bearbetar många PDF:er och bilder).
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.
Ja, och det bör du. De flesta börjar med att anpassa stegen ”Compose Message Text” / ”Compose PDF Text” för att lägga till fält som kundnamn, kampanj, kanal eller prioritet, och justerar sedan AI Agent-prompten så att återkallningssvaren matchar din tonalitet. Om du inte behöver Gmail-verktyg, ta bort Gmail-sök- och sändnoderna och behåll resten. Om du vill lagra någon annanstans kan du byta ut MongoDB-minnet mot en annan lagring, men MongoDB Atlas Vector Search är det som gör att den ”semantiska återkallningen” känns snabb och träffsäker.
Oftast är det bot-token. Kontrollera Telegram-credential i n8n igen och bekräfta sedan att din bot fortfarande kan ta emot meddelanden och inte har regenererats i BotFather. Om nedladdningar misslyckas (röst/foto/dokument) kan det också bero på saknade behörigheter eller att en Telegram-fil-URL timear ut, så testa med ett nytt meddelande.
På en typisk n8n Cloud-plan kan du hantera tusentals insamlingar per månad, och vid egen hosting skalar det med din server. Den främsta begränsningen är AI-bearbetningstid och kostnad för tunga inputs som långa PDF:er eller många bilder. I praktiken kan de flesta marknadsteam fånga dussintals objekt per dag utan problem och sedan skala upp när prompter och chunkning är intrimmade.
Ofta, ja. Det här flödet är inte en enkel ”skicka A till B”-integration; det förgrenar efter filtyp, kör olika AI-bearbetningsspår och gör sedan hämtning när du ställer frågor senare. n8n hanterar den typen av logik snyggt, och egen hosting betyder att du inte betalar per litet delsteg. Zapier eller Make kan fungera för grundläggande insamling, men multimodal AI + minne + vector search blir snabbt dyrt och klumpigt. Om du är osäker, prata med en automationsexpert och mappa det mot din volym.
När det här väl rullar slutar ”jag kommer ihåg det senare” att vara en lögn. Ditt flöde sparar bevisen, och du får tillbaka din tid (och ditt fokus).
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.