Din Telegram-supportinkorg blir rörig snabbt. Ett foto dyker upp, sedan ett röstmeddelande, sedan trycker någon på en menyknapp, och sedan kommer ett ”var är min order?”-meddelande helt utan sammanhang. Du slutar med att scrolla, gissa och kopiera in detaljer i ett kalkylark senare (om du kommer ihåg det).
Supportansvariga märker det först, men marknadschefer och byråägare som sköter community-support hanterar samma kaos. Den här Telegram Sheets-automationen routar meddelanden efter typ och loggar rätt användarinformation automatiskt, så att du kan svara snabbare och ha en strukturerad spårbarhet för uppföljningar.
Den här guiden går igenom vad workflowet gör, vad du behöver och hur logiken fungerar, så att du tryggt kan anpassa det till din egen supportprocess.
Så fungerar den här automationen
Här är hela workflowet du kommer att sätta upp:
n8n Workflow Template: Telegram + Google Sheets: ordning i supportchattar
flowchart LR
subgraph sg0["AI Agent 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/>Trigger"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Global data", pos: "b", h: 48 }
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/telegram.svg' width='40' height='40' /></div><br/>Telegram1"]
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/telegram.svg' width='40' height='40' /></div><br/>Telegram2"]
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/>Telegram3"]
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/>Telegram4"]
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/>Telegram5"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch_MessageType", pos: "b", h: 48 }
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/>Telegram6"]
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Menu", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Command?", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Change status", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Start bot?", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Register", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Payment Handler", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Trigger Data for Payment", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Trigger Data for Register", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Data for Invoice", pos: "b", h: 48 }
n19@{ icon: "mdi:cog", form: "rounded", label: "Send Invoice", pos: "b", h: 48 }
n20@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch_Commands", pos: "b", h: 48 }
n23@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n24@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n25@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n17 --> n7
n17 --> n4
n17 --> n12
n17 --> n15
n0 --> n1
n23 --> n5
n10 --> n20
n10 --> n23
n4 --> n9
n12 --> n16
n12 --> n11
n1 --> n17
n24 -.-> n23
n20 --> n18
n20 --> n8
n18 --> n19
n25 -.-> n23
n7 --> n10
n7 --> n2
n7 --> n3
n7 --> n6
n15 --> n14
n16 --> n13
end
subgraph sg1["Agent: Find in the I Flow"]
direction LR
n22@{ icon: "mdi:wrench", form: "rounded", label: "Agent: Find in the Internet", pos: "b", h: 48 }
end
subgraph sg2["Agent: Search Intern Flow"]
direction LR
n27@{ icon: "mdi:wrench", form: "rounded", label: "Agent: Search Internal Docs", pos: "b", h: 48 }
end
subgraph sg3["Agent: Check Order S Flow"]
direction LR
n26@{ icon: "mdi:wrench", form: "rounded", label: "Agent: Check Order Status", pos: "b", h: 48 }
end
subgraph sg4["Agent: Calculate Cos Flow"]
direction LR
n28@{ icon: "mdi:wrench", form: "rounded", label: "Agent: Calculate Cost or Quote", pos: "b", h: 48 }
end
subgraph sg5["Flow 6"]
direction LR
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "TextDataExample", pos: "b", h: 48 }
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 n23 ai
class n25 aiModel
class n22,n27,n26,n28 ai
class n24 ai
class n7,n9,n10,n12,n17,n20 decision
class n11 database
class n22 disabled
class n27 disabled
class n26 disabled
class n28 disabled
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4,n5,n6,n8 customIcon
Varför det här är viktigt: Telegram-support blir omöjlig att spåra
Telegram är grymt för snabba konversationer. Det är också uselt som system för historik och spårbarhet. När du får riktig volym slutar ”bara sök i chatten” att fungera, och den mentala belastningen blir påtaglig. Någon skickar en fil utan beskrivning, en annan kund svarar på ett gammalt meddelande, och en tredje frågar efter en offert du lovade förra veckan. Samtidigt försöker du hålla ditt Google Sheet (eller CRM) uppdaterat så att du kan följa upp, se mönster och kunna visa vad som hände om det blir en tvist. Att manuellt triagera varje meddelandetyp och logga användardetaljer är sådant arbete som tyst äter upp flera timmar i veckan.
Det drar snabbt iväg. Här är var det oftast fallerar i riktiga team.
- Olika meddelandetyper kräver olika hantering, men de flesta inkorgsflöden behandlar allt som vanlig text.
- Supportagenter kopierar användar-ID:n, namn och samma detaljer in i Google Sheets om och om igen.
- Menytryck och callbacks tappas bort, vilket gör att kunder tror att boten är ”trasig” trots att det bara är ohanterad input.
- När du behöver sammanhang senare (återbetalningar, förnyelser, uppföljningar) finns det ingen strukturerad tidslinje att lita på.
Vad du bygger: Telegram-routing + Sheets-loggning + AI-svar
Det här workflowet startar så fort någon interagerar med din Telegram-bot. n8n fångar den inkommande uppdateringen, sätter upp ett enkelt context-objekt och routar sedan förfrågan baserat på vad det är (ett meddelande, ett foto, ett röstmeddelande eller en knapp-callback). För enkla meddelandetyper skickar det ett direkt, relevant svar så att användaren vet vad som gäller härnäst. För textfrågor och kommandon routar det antingen in förfrågan i din kommandologik (menyer, fakturor, svar på ”okänt kommando”), eller så lämnar det frågan till en AI-agent som drivs av en OpenAI-chatmodell. På vägen kan viktiga användar- och medlemskapsändelser skrivas till Google Sheets, vilket ger dig ett lättviktigt ”support-CRM” utan att du behöver byta verktyg.
Workflowet börjar med Telegram-triggern och ett routinglager. Sedan väljer det mellan kommandoflöden (registrering, fakturor, menyinteraktioner) och AI-svarsspåret med korttidsminne. Till sist svarar det i Telegram och loggar det viktigaste i Google Sheets så att inget försvinner i scrollen.
Det här bygger du
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att din bot hanterar cirka 30 inkommande meddelanden per dag, och att ungefär 10 av dem är ”icke-text” (foton, filer, röstmeddelanden) som du ändå måste triagera. Manuellt kan även en snabb genomgång plus loggning av användardetaljer ta cirka 2 minuter per styck, så du bränner ungefär en timme om dagen. Med det här workflowet skickar boten rätt svar direkt och loggar medlemskaps-/användaruppdateringar till Google Sheets automatiskt, så din tid går främst till de få konversationer som verkligen behöver den. Det brukar ge runt 45 minuter tillbaka per dag, utan att ändra var kunderna når dig.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Telegram för att ta emot meddelanden och skicka svar.
- Google Sheets för att logga användare och medlemskapsändringar.
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden) för AI-agentens svar.
Kunskapsnivå: Medel. Du kopplar in behörigheter och redigerar meddelanderouting samt några prompt-/svarsfält.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En Telegram-händelse triggar workflowet. När en användare skickar ett meddelande, laddar upp en fil, spelar in ett röstmeddelande eller trycker på en knapp tar Telegram Trigger-noden emot hela update-payloaden i n8n.
Context initieras för konsekvent hantering. Workflowet använder ett Set-steg för att normalisera fält du kommer att förlita dig på senare (som chat-ID, meddelandeinnehåll och uppdateringstyp), så att efterföljande routing inte blir skör.
Routing avgör vad som händer härnäst. Switch- och If-logik separerar callbacks från meddelanden och delar sedan upp meddelanden efter typ (text vs. foto/fil/röst). Textflöden kan gå in i kommandorouting eller in i AI-agentspåret; icke-textflöden skickar ett tydligt ”jag har fått detta, här är nästa steg”-svar.
Svar och loggning sker automatiskt. Telegram-noder skickar svar tillbaka till användaren, och Google Sheets-noder kan uppdatera en rad när medlemskapet ändras eller när nya användare dyker upp. Du får en supportkonversation som stannar i Telegram, plus den operativa loggen i Sheets.
Du kan enkelt ändra kommandomenyn och AI-prompten så att de matchar dina supportkategorier och er tonalitet. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Telegram-triggern
Det här arbetsflödet startar när Telegram skickar uppdateringar till er bot och routar dem sedan via logik för meddelanden och uppdateringstyper.
- Lägg till och öppna Telegram Event Trigger.
- Autentiseringsuppgifter krävs: Anslut era telegramApi-autentiseringsuppgifter.
- Ställ in Updates till
*för att fånga alla händelsetyper. - Bekräfta att arbetsflödet startar i Telegram Event Trigger och ansluter till Initialize Context.
⚠️ Vanlig fallgrop: Om Telegram-uppdateringar inte kommer fram, kontrollera bot-token igen i telegramApi och säkerställ att webhook-URL:en är nåbar.
Steg 2: Routa Telegram-uppdateringstyper och meddelandetyper
Arbetsflödet klassificerar uppdateringar (message, callback, system, payment) och routar därefter meddelandets innehållstyp (text, photo, file, voice).
- Öppna Initialize Context och behåll standardinställningarna (används för att skicka den inkommande uppdateringen vidare).
- I Route Update Type bekräftar ni att reglerna använder uttryck som
{{ $('Telegram Event Trigger').item.json.message && (!$('Telegram Event Trigger').item.json.message.successful_payment) }}och{{ $('Telegram Event Trigger').item.json.hasOwnProperty('callback_query') }}för att routa till rätt utgångar. - I Route Message Type bekräftar ni att reglerna använder
{{ $('Telegram Event Trigger').item.json.message.hasOwnProperty('text') }},{{ $('Telegram Event Trigger').item.json.message.hasOwnProperty('photo') }},{{ $('Telegram Event Trigger').item.json.message.hasOwnProperty('document') }}och{{ $('Telegram Event Trigger').item.json.message.hasOwnProperty('voice') }}. - Verifiera att flödet följer körordningen: Telegram Event Trigger → Initialize Context → Route Update Type → Route Message Type.
Steg 3: Konfigurera kommandotolkning och svar
Textmeddelanden kontrolleras efter kommandoprefix och routas till specifika kommandonhanterare eller AI-agenten.
- I Check Command Prefix bekräftar ni att villkoret använder
{{ $('Telegram Event Trigger').item.json.message.text }}med operatorn startsWith och höger värde/. - I Route Commands verifierar ni regler för
/payoch/command2med{{ $('Telegram Event Trigger').item.json.message.text }}. - Säkerställ att fallback-routen från Route Commands skickar användare till Unknown Command Reply med texten
Don't know the command. - För meddelandetyper som inte är text, verifiera svar: Reply Photo Notice text
Photo, Reply File Notice textFileoch Reply Voice Notice textVoicemed chatt-ID{{ $('Telegram Event Trigger').item.json.message.from.id }}.
⚠️ Vanlig fallgrop: Noden Route Commands har en fallback-utgång som heter extra. Se till att den är kopplad till Unknown Command Reply för att undvika tappade meddelanden.
Steg 4: Sätt upp flöde för AI-svar
När ett textmeddelande inte är ett kommando genererar AI-agenten ett svar och skickar tillbaka det till användaren.
- Öppna AI Response Agent och ställ in Text till
=Answer the questions: {{ $('Telegram Event Trigger').item.json.message.text }}. - Anslut OpenAI Chat Engine som språkmodell för AI Response Agent.
- Autentiseringsuppgifter krävs: Anslut era openAiApi-autentiseringsuppgifter i OpenAI Chat Engine (autentiseringsuppgifterna läggs till i den överordnade modellnoden, inte i agenten).
- I Short-Term Memory ställer ni in Session Key till
{{ $('Telegram Event Trigger').item.json.message.from.id }}och Context Window Length till3, och länkar den sedan till AI Response Agent som minne. - Bekräfta att AI Response Agent skickar vidare till Send AI Response, som använder Text
{{ $json.output }}och Chat ID{{ $('Telegram Event Trigger').item.json.message.from.id }}.
Verktygsnoder som Utility: Web Search Agent, Utility: Order Status Agent, Utility: Internal Docs Agent och Utility: Quote Calculator är inaktiverade. Om ni aktiverar dem, lägg till autentiseringsuppgifter/konfiguration i det överordnade AI-arbetsflödet som anropar dem.
Steg 5: Konfigurera delarbetsflöden för medlemskap och betalning
Systemuppdateringar och betalningar paketeras till payloads och skickas till dedikerade delarbetsflöden. Medlemskapsändringar uppdaterar Google Sheets.
- I Evaluate Membership Change bekräftar ni att villkoret kontrollerar att
{{ $('Telegram Event Trigger').item.json.my_chat_member.new_chat_member.status }}är lika medmember. - Konfigurera Update Member Status med Operation
update, Sheet NameUSERSoch Document ID[YOUR_ID]. - Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter i Update Member Status.
- I Prepare Registration Payload ställer ni in JSON Output till
{{ $('Telegram Event Trigger').item.json }}och skickar det till Run Sub-Workflow Config 1. - I Prepare Invoice Payload ställer ni in JSON Output till
{{ Object.assign({}, $('Telegram Event Trigger').item.json, { "action": "SendInvoice" }) }}och skickar det till Run Sub-Workflow Config 3. - I Prepare Payment Payload ställer ni in JSON Output till
{{ Object.assign({}, $('Telegram Event Trigger').item.json, { "action": "HandlePayment" }) }}och skickar det till Run Sub-Workflow Config 2.
⚠️ Vanlig fallgrop: Run Sub-Workflow Config 1 och Run Sub-Workflow Config 3 har tomma fält för Workflow ID. Lägg till korrekta workflow-ID:n innan ni aktiverar.
Steg 6: Konfigurera Telegram-utnoder
Det här arbetsflödet skickar flera svar till Telegram baserat på meddelandetyp, AI-utdata och okända kommandon.
- För Reply Photo Notice, Reply File Notice, Reply Voice Notice, Callback Acknowledge, Send AI Response och Unknown Command Reply bekräftar ni att Chat ID-uttryck som
{{ $('Telegram Event Trigger').item.json.message.from.id }}eller{{ $('Telegram Event Trigger').item.json.callback_query.data }}matchar den inkommande uppdateringen. - Autentiseringsuppgifter krävs: Anslut era telegramApi-autentiseringsuppgifter till alla Telegram-svarsnoder (6 noder hanterar svar och bekräftelser).
- I Callback Acknowledge säkerställer ni att Text är satt till
Callbackför interaktioner med menyknappar.
Steg 7: Testa och aktivera
Kör ett manuellt test för att validera routning och svar, och aktivera sedan arbetsflödet för produktion.
- Använd Utility: Sample Text Payload för att simulera ett meddelande och validera textrouten.
- Klicka på Execute Workflow och skicka ett riktigt Telegram-meddelande för att bekräfta utdata från Send AI Response eller Unknown Command Reply.
- Kontrollera körloggen för att verifiera sökvägen: Telegram Event Trigger → Initialize Context → Route Update Type → Route Message Type → Check Command Prefix.
- Bekräfta lyckad körning genom att ta emot ett Telegram-svar och se uppdaterade rader i Update Member Status när medlemskapshändelser triggas.
- Växla arbetsflödet till Active för att aktivera livebehandling av webhook.
Felsökningstips
- Telegram-credentials kan fallera om bot-token har återskapats eller återkallats. Om svar plötsligt slutar fungera, kontrollera din Telegram bot token i n8n Credentials först och bekräfta att boten fortfarande är aktiv i BotFather.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- OpenAI-anrop kan ge fel på grund av betalningsgränser eller rate limiting. Bekräfta att din API-nyckel är giltig, kontrollera sedan din OpenAI-användning och modellåtkomst; om agentens svar blir generiska, skärp prompten tidigt.
Snabba svar
Cirka 30–60 minuter om din Telegram-bot och ditt Sheet är redo.
Nej. Du kommer främst att koppla konton och redigera några routing- och svarsfält i n8n.
Ja. n8n har ett gratis self-hosted-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 OpenAI API-kostnader, som vanligtvis är några cent per konversation beroende på meddelandelängd.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du sannolikt göra. Du kan justera switcharna ”Route Update Type” och ”Route Message Type” för att matcha dina supportkategorier och sedan byta ut vad som händer efter ”Route Commands” för att trigga dina egna sub-workflows. Vanliga anpassningar är att lägga till ett kommando för ”återbetalningsstatus”, routa VIP-användare till ett annat svar och logga varje konversation i Google Sheets istället för bara medlemskapsändringar.
Oftast är det bot-token. Skapa en ny token i BotFather vid behov, uppdatera sedan Telegram-credential i n8n och säkerställ att du använder rätt bot för rätt workflow. Kontrollera också att din trigger lyssnar på de händelser du förväntar dig; callbacks, medlemskapsuppdateringar och meddelanden är olika update-typer. Slutligen: om du nyligen ändrade botens sekretessinställningar kan Telegram sluta leverera vissa uppdateringar tills inställningarna matchar ditt användningsfall.
På en typisk n8n Cloud-plan kan du hantera tusentals körningar per månad, och vid self-hosting beror det främst på din server. I praktiken hanterar supportbotar som denna stabil daglig trafik utan problem, eftersom varje chattuppdatering är en snabb körning om du inte anropar AI-agenten för långa svar.
Ofta, ja. Telegram-botar behöver ofta grenlogik (meddelandetyper, callbacks, kommandon), och n8n hanterar det utan att förvandlas till en stor hög av betalda ”tasks”. Du får också en riktig AI-agent-setup med minne och tool-workflows, vilket är svårare att återskapa snyggt någon annanstans. Om du vill ha full kontroll är self-hosting också en stor fördel. Zapier eller Make kan fortfarande fungera bra för grundläggande ”Telegram till Google Sheets”-loggning, men det här är mer än så. Om du är osäker, prata med en automationsexpert och beskriv din meddelandevolym och dina supportkategorier.
När detta är igång slutar Telegram vara ett svart hål och börjar fungera som en riktig supportkanal med spårbarhet. Sätt upp det, justera routingen en gång och gå sedan vidare till de konversationer som faktiskt behöver en människa.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.