Du kan rutinen. Någon pingar dig i chatten och frågar: ”Vad är totalen för den här kunden?” och du slutar med att gräva i ett Google Sheet, dubbelkolla kolumner och hoppas att du inte filtrerade fel flik.
Den här uppsättningen för Telegram Sheets totals träffar i första hand driftansvariga och support leads, ärligt talat. Men byråägare och småföretagsteam känner också av det, eftersom frågorna fortsätter komma och svaren behöver vara konsekventa.
Det här arbetsflödet gör ett Telegram-meddelande till en strukturerad, behörighetskontrollerad kundsammanfattning från Google Sheets. Du får se vad det automatiserar, hur det håller sig säkert och vad du behöver för att köra det.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Telegram + Google Sheets: kundsummering vid begäran
flowchart LR
subgraph sg0["Input user2 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/code.svg' width='40' height='40' /></div><br/>Aggregate Summary2"]
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/>Format Details2"]
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/code.svg' width='40' height='40' /></div><br/>Combine Summary + Details2"]
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/>Input user2"]
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 Report2"]
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/code.svg' width='40' height='40' /></div><br/>Check Match2"]
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/merge.svg' width='40' height='40' /></div><br/>Merge4"]
n7@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet (Access)2", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet5", 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/>Wellcome1"]
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If4", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If5", pos: "b", h: 48 }
n12["<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/>Enter Correct name"]
n13@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet4", pos: "b", h: 48 }
n14["<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/merge.svg' width='40' height='40' /></div><br/>Merge5"]
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If3", 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/>No permission"]
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/code.svg' width='40' height='40' /></div><br/>Code"]
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/>Code2"]
n15 --> n8
n15 --> n16
n10 --> n9
n10 --> n13
n10 --> n6
n11 --> n7
n11 --> n14
n11 --> n12
n17 --> n10
n18 --> n6
n6 --> n11
n14 --> n5
n3 --> n17
n5 --> n15
n1 --> n2
n0 --> n1
n13 --> n18
n8 --> n0
n2 --> n4
n7 --> n14
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 n3 trigger
class n10,n11,n15 decision
class n7,n8,n13 database
class n0,n1,n2,n5,n17,n18 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n3,n4,n5,n6,n9,n12,n14,n16,n17,n18 customIcon
Utmaningen: Omedelbara kundtotaler utan kaos
Att plocka fram kundtotaler ”supersnabbt” låter enkelt tills det är du som gör det fem gånger om dagen. Du söker i arket, hittar två rader med liknande namn och inser sedan att det finns separata flikar för totaler, vikter och anteckningar. Under tiden väntar personen i Telegram, så du klistrar in något som ”förmodligen stämmer” och lovar att verifiera senare. Så blir små misstag till stora diskussioner, särskilt när pengar och lager är inblandade.
Det går fort att det blir mycket. Här är var det faller isär i riktiga team:
- Folk frågar i chatten, men datan finns i Sheets, så du växlar kontext hela tiden.
- Manuella uppslag leder lätt till fel när kundnamn är felstavade eller duplicerade.
- När länken till arket delas runt blir ”vem ska se vad” en tyst säkerhetsrisk.
- Svaren varierar beroende på vem som är online, vilket gör att kunder får motstridiga besked.
Lösningen: Telegram-förfrågningar som returnerar en formaterad Sheets-sammanfattning
Det här n8n-arbetsflödet ligger mellan Telegram och Google Sheets och fungerar som en kontrollerad ”dataconcierge”. En användare skickar antingen /start eller ett kundnamn till din Telegram-bot. Flödet tolkar meddelandet, avgör vilken väg det ska ta och slår sedan upp kunden i Google Sheets. Hittar det en match kontrollerar det ett separat ”Access”-ark för att bekräfta att chat-ID:t har rätt att begära data. Först därefter hämtar det kundens rader, beräknar totaler (inklusive ekonomi- och viktdata), formaterar en lättläst sammanfattning och svarar i samma Telegram-chatt. Om namnet är fel eller åtkomst inte är tillåten svarar det med ett tydligt meddelande i stället för att läcka något.
Arbetsflödet börjar med en Telegram Trigger och en snabb meddelandetolkning. Sedan delas det upp: välkomstflöde för onboarding eller kunduppslag för faktiska totaler. Därifrån levererar Google Sheets både kundposten och åtkomstlistan, och n8n sköter logik och formatering innan boten skickar ett konsekvent svar.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du märker |
|---|---|
|
|
Praktisk effekt
Säg att teamet får 15 förfrågningar i veckan som ”vad är totalen för den här kunden?”. Manuellt tar det oftast 8–10 minuter styck: öppna arket, sök namnet, korschecka flikar och skriv sedan ett tydligt meddelande. Det blir ungefär 2 timmar i veckan. Med det här arbetsflödet skickar personen ett kundnamn i Telegram, väntar några sekunder på att boten hämtar och sammanfattar, och sen är det klart. Du får tillbaka de där 2 timmarna utan att anställa någon.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Telegram-bot för att ta emot förfrågningar och skicka sammanfattningar.
- Google Sheets för att lagra kund- och åtkomstdata.
- API-token för Telegram-boten (hämta den via BotFather i Telegram).
Kunskapsnivå: Nybörjare. Du kopplar konton, uppdaterar ark-/fliknamn och mappar några kolumner.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Ett Telegram-meddelande startar allt. Telegram Trigger lyssnar på inkommande chattar till din bot, inklusive /start och vanliga meddelanden med kundnamn.
Meddelandet tolkas. n8n analyserar inkommande text och skickar den vidare antingen via en välkomstväg (för förstagångsanvändare) eller en sökväg när någon skickar in ett kundnamn.
Google Sheets sköter uppslagningen och behörighetskontrollen. Arbetsflödet söker i ditt kundark efter namnet och hämtar separat rader från ett ”Access”-ark som listar tillåtna chat-ID:n. Om chat-ID:t inte matchar stoppar arbetsflödet och svarar med ett nekande meddelande.
En sammanfattning beräknas och formateras. När åtkomst godkänns hämtar det kundens rader, summerar totaler (inklusive ekonomi- och viktfält) och skapar sedan en prydlig, lättläst rapport som skickas tillbaka till Telegram.
Du kan enkelt ändra vilka kolumner som ska sammanfattas så att det matchar ditt ark. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Telegram-triggern
Det här arbetsflödet startar när ett Telegram-meddelande tas emot av er bot.
- Lägg till och öppna Telegram Input Hook.
- Inloggning krävs: Anslut era telegramApi-inloggningsuppgifter.
- Ställ in Updates till
message. - Lämna additionalFields tomt om ni inte behöver extra Telegram-fält.
Steg 2: Anslut Google Sheets
Dessa noder hämtar kunddata, åtkomstgrupper och rader för rapportering från Google Sheets.
- Öppna Lookup Customer Entry och ställ in Document ID till
[YOUR_ID]och Sheet Name till[YOUR_ID]. - I Lookup Customer Entry ställer ni in filtret Lookup Column till
=Customer nameoch Lookup Value till{{ $json.customerName }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Lookup Customer Entry.
- Öppna Retrieve Access Rows och ställ in Document ID till
[YOUR_ID]och Sheet Name till[YOUR_ID]. - I Retrieve Access Rows ställer ni in Lookup Column till
=Customers Groupoch Lookup Value till{{ $json["Groups"] }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Access Rows.
- Öppna Fetch Customer Rows och ställ in Lookup Column till
=customerNamoch Lookup Value till{{ $json.customerName }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Fetch Customer Rows.
Customer name, Customers Group, customerNam), annars misslyckas uppslagningarna.Steg 3: Sätt upp meddelandetolkning och initial routing
Det här steget läser inkommande Telegram-meddelande och routar användare till välkomst-, uppslags- eller korrigeringsflöden.
- Öppna Parse Incoming Message och granska JavaScript-logiken som sätter
action-värden somwelcomeellersearchCustomer. - Konfigurera Welcome Branch Check med villkoret att Left Value
{{ $json.action.trim() }}är lika medwelcome. - I Send Welcome Note ställer ni in Text till
=Your Custom Messageoch Chat ID till{{ $json.chatId }}. - Inloggning krävs: Anslut era telegramApi-inloggningsuppgifter i Send Welcome Note.
- Öppna Prompt Correct Name och ställ in Chat ID till
{{ $('Telegram Input Hook').item.json.message.chat.id }}för grenen där resultat saknas. - Inloggning krävs: Anslut era telegramApi-inloggningsuppgifter i Prompt Correct Name.
- Säkerställ att Lookup Customer Entry kopplas till Flag Result Status, och därefter till Combine Input Streams och Data Found Check.
Steg 4: Konfigurera åtkomstverifiering och behörighetsrouting
Det här avsnittet validerar chat-ID:n mot åtkomstposter och routar användare till tillåtna eller nekade vägar.
- Öppna Merge Access Data och behåll Mode som
combinemed Combine By satt tillcombineAll. - I Verify Access Match bekräftar ni att koden kontrollerar
chatid1ochchatid2mot användarens chat-ID. - Ställ in Permission Gate så att Left Value
{{ $json.access }}är lika medgranted. - Konfigurera Send Denied Notice med Text
=Your Custom Messageoch Chat ID{{ $json.chatId }}. - Inloggning krävs: Anslut era telegramApi-inloggningsuppgifter i Send Denied Notice.
chatid1 och chatid2 (skiftläge och mellanslag tolereras enligt koden), annars kan åtkomstkontrollerna misslyckas.Steg 5: Bygg rapporteringspipen
Det här steget sammanfattar kunddata, formaterar en rapport och levererar den via Telegram.
- I Summarize Totals uppdaterar ni kolumnreferenser som
you column nameså att de matchar era fält i arket. - I Format Detail Text anpassar ni rapporthuvud och etiketter, men behåller utdata-strukturen som sätter
text. - I Merge Report Sections säkerställer ni att den läser från
$items("Format Detail Text")och$items("Summarize Totals")för att byggasummary. - Konfigurera Dispatch Report Message med Text
{{$json["summary"]}}och Chat ID{{$node["Telegram Input Hook"].json["message"]["chat"]["id"]}}. - Inloggning krävs: Anslut era telegramApi-inloggningsuppgifter i Dispatch Report Message.
text, summary) så att efterföljande noder fortsätter att fungera.Steg 6: Testa och aktivera ert arbetsflöde
Bekräfta att varje gren fungerar innan ni slår på automatiseringen.
- Klicka på Execute Workflow och skicka ett Telegram-meddelande som
/startför att trigga välkomstflödet. - Skicka ett kundnamn för att trigga flödet för uppslagning, åtkomstkontroll och rapportgenerering.
- Verifiera en lyckad körning när Dispatch Report Message skickar en formaterad rapport till samma chat-ID.
- Testa den nekade grenen genom att använda ett chat-ID som inte finns i åtkomstraderna och bekräfta att Send Denied Notice körs.
- När allt är verifierat, slå på Active för att aktivera arbetsflödet för användning i produktion.
Se upp med
- Telegram-uppgifter kan löpa ut eller råka vara kopplade till fel bot. Om meddelanden slutar skickas, kontrollera först autentiseringsuppgifterna i Telegram-noden i n8n och bekräfta sedan bot-token i BotFather.
- Om du frågar mot stora ark kan Google Sheets-uppslagningar kännas ”slumpmässigt långsamma”. Bearbetningstider varierar, så om nedströmsnoder ibland kör med tom data, öka eventuell vänt-/hanteringslogik och skärp dina uppslagskolumner.
- Din åtkomstkontroll är bara så felfri som ”Access”-arket. Om chat-ID:n saknas, är duplicerade eller lagras som text på ett ställe och som tal på ett annat kommer behörighetskontrollen misslyckas även för rätt person.
Vanliga frågor
Cirka 10–15 minuter om din bot och ditt ark är redo.
Ja. Ingen kodning krävs, men du behöver matcha dina kolumnnamn och fliknamn i Google Sheets med arbetsflödets inställningar.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volym. Google Sheets och Telegram brukar inte lägga på kostnader per förfrågan i de flesta upplägg.
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 serverhantering.
Du kan byta flikar och fält i arket utan att ändra den övergripande logiken. Uppdatera Google Sheets-noderna som refererar till documentId, sheetName och uppslagskolumnen (ditt fält ”Kundnamn”) och justera sedan logiken i ”Summarize Totals” och ”Format Detail Text” så att den inkluderar exakt de totaler du bryr dig om. Vanliga justeringar är att lägga till uppslag på kund-ID, returnera datum för senaste fakturan och ändra rapportformatet så att det matchar er interna formulering.
Oftast är det en ogiltig eller roterad bot-token. Uppdatera Telegram-uppgifterna i Input- och Send-noderna och bekräfta sedan att din bot fortfarande kan ta emot meddelanden från Telegram. Om den tar emot meddelanden men inte skickar svar, kontrollera att du svarar till rätt chat-ID från triggern och att boten inte är blockerad i den chatten.
I praktiken hanterar den typisk chattvolym i team utan problem.
Ofta, ja, eftersom det här inte bara är ”Telegram in, meddelande ut”. Du har förgreningar, behörighetskontroller mot ett andra ark, flera uppslagningar och egen aggregering, vilket är den typ av logik som blir krånglig (och dyr) i många no-code-verktyg. n8n låter dig också self-hosta, så du betalar inte mer bara för att teamet ställer fler frågor. Zapier eller Make kan fortfarande fungera bra för en enkel tvåstegslösning med ”slå upp och svara”, men när du bryr dig om åtkomstkontroll och konsekvent formatering brukar n8n förbli mer lättskött. Prata med en automationsexpert om du vill ha en snabb rekommendation för just din setup.
När detta väl är igång blir ”kan du kolla den totalen?” en botfråga, inte ett du-problem. Arbetsflödet hanterar de repetitiva uppslagningarna så att du kan återgå till faktiskt arbete.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.