Den där ”snabba frågan” om dina siffror förblir aldrig snabb. Du öppnar Google Sheets, gräver igenom flikar, dubbelkollar ett filter, och sedan frågar någon efter samma nyckeltal igen 20 minuter senare.
Den här Telegram Sheets-automatiseringen träffar marknadschefer under rapportering, men grundare och operativa ledare känner av den också. Du får svar direkt i Telegram som hämtas från ditt kalkylark, beräknas vid behov och är tillräckligt konsekventa för att delas utan att du behöver tveka.
Nedan ser du hur arbetsflödet fungerar, vad det automatiserar och vad det ersätter i din vardag (spoiler: massor av flikletande).
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Telegram + Google Sheets: svar på datafrågor
flowchart LR
subgraph sg0["When chat message received Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n3@{ icon: "mdi:wrench", form: "rounded", label: "Calculator", pos: "b", h: 48 }
n6@{ icon: "mdi:wrench", form: "rounded", label: "Records by date", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Get transactions by product ..", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Get all transactions", pos: "b", h: 48 }
n11@{ icon: "mdi:memory", form: "rounded", label: "Buffer Memory", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Get transactions by status", pos: "b", h: 48 }
n3 -.-> n1
n11 -.-> n1
n6 -.-> n1
n2 -.-> n1
n10 -.-> n1
n13 -.-> n1
n0 --> n1
n9 -.-> n1
end
subgraph sg1["When Executed by Another Workflow Flow"]
direction LR
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/code.svg' width='40' height='40' /></div><br/>Code"]
n5@{ icon: "mdi:play-circle", form: "rounded", label: "When Executed by Another Wor..", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Google Sheets request"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter by status", pos: "b", h: 48 }
n4 --> n12
n12 --> n7
n8 --> n4
n5 --> n8
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,n5 trigger
class n1 ai
class n2 aiModel
class n3,n6 ai
class n11 ai
class n12 decision
class n9,n10,n13 database
class n8 api
class n4 code
classDef customIcon fill:none,stroke:none
class n4,n8 customIcon
Problemet: datafrågor blir till kalkylarksarkeologi
Team kämpar inte för att de saknar data. De kämpar för att svaret finns på fel ställe vid fel tidpunkt. Någon frågar ”Hur såg försäljningen ut per produkt förra veckan?” och plötsligt skannar du flikar, rättar ett datumintervall och förklarar varför summorna inte matchar förra rapporten. Sedan händer det igen. Den verkliga kostnaden är inte bara minuterna i Google Sheets. Det är den mentala belastningen, den ständiga kontextväxlingen och den tysta förlusten av förtroende som uppstår när två personer får två olika svar från samma kalkylark.
Det blir mycket snabbt. Så här faller det isär i verkligheten.
- Folk frågar i chatten, men svaret finns i ett kalkylark, så du hoppar mellan verktyg hela dagen.
- Datumfilter och ”status”-filter används inkonsekvent, vilket skapar diskussioner om vems siffra som är ”rätt”.
- Manuella beräkningar (summor, snitt, differenser) är lätta att få fel när du har bråttom.
- Även när du hittar svaret måste du fortfarande förklara det, formatera det och skicka det igen senare.
Lösningen: fråga i Telegram, få svar från Google Sheets
Det här arbetsflödet gör Telegram till ett enkelt gränssnitt för ”datafrågor” mot dina Google Sheets. Ett meddelande i Telegram triggar en AI-agent i n8n, som avgör vilken data den behöver och hämtar rätt rader med Google Sheets-verktyg (inklusive uppslag per datum, hämtning av transaktioner eller försäljning per produkt eller status). Om frågan kräver matematik kör arbetsflödet beräkningar med ett dedikerat kalkylatorverktyg så att svaret inte blir ”höftat” eller manuellt summerat. Till sist svarar AI:n på vanlig svenska, och kan behålla kontext med en kort minnesbuffert så att följdfrågor fungerar utan att du behöver upprepa allt.
Flödet startar med ett chattmeddelande i Telegram. Därefter orkestrerar AI-agenten datahämtning från Google Sheets (och en HTTP-begäran för API-liknande anrop när det behövs), städar payloaden och tillämpar filter som statuskontroller. Resultatet blir ett tydligt svar tillbaka i Telegram som teamet faktiskt kan använda.
Det 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 ditt team får 10 datafrågor per dag i Telegram (försäljning per produkt, summor per status, förra veckan vs. den här veckan). Manuellt är varje fråga ”bara 10 minuter” av att hitta rätt flik, sätta ett datumfilter, göra en snabb summering och sedan skriva tillbaka, vilket blir cirka 100 minuter per dag. Med det här arbetsflödet tar det under en minut att ställa frågan, och den automatiserade hämtningen + beräkningen kommer normalt tillbaka inom ett par minuter. Du får ungefär en timme tillbaka varje dag, utan att behöva säga till folk att ”snälla sluta fråga”.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Telegram för att ställa frågor i chatten
- Google Sheets som datakälla
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in uppgifter och justerar ett par promptar och arkområden.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett Telegram-meddelande triggar arbetsflödet. Chat Message Trigger lyssnar efter inkommande frågor och skickar sedan texten till AI-agenten så att den kan tolka vad du frågar efter.
AI:n väljer rätt sätt att hämta data. Beroende på frågan kan den hämta försäljning per produkt, hämta alla transaktioner eller hämta per status. Det finns även ett HTTP-baserat Google Sheets API-anrop för fall där ett direkt API-anrop passar bättre.
Payloaden städas och filtreras. Ett litet script omvandlar datan till ett konsekvent format, och ett statusfilter gör att resultat från ”fel kategori” inte smyger sig in i svaret.
Matematik och aggregering sker automatiskt. Poster aggregeras och sedan hanterar kalkylatorverktyget summor eller jämförelser så att du slipper göra om summeringar manuellt mitt i en chatttråd.
Du kan enkelt ändra Google Sheets-frågor för att använda Postgres eller MySQL utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera chattriggern
Sätt upp ingångspunkten som tar emot användarens chattmeddelanden och startar AI-orkestreringsflödet.
- Lägg till en Chat Message Trigger-nod som trigger.
- Lämna Options tomt om ni inte behöver anpassa chattbeteendet.
- Koppla Chat Message Trigger till Conversational AI Orchestrator.
Steg 2: anslut Google Sheets
Konfigurera dataåtkomsten till Google Sheets som används av både direkta HTTP-frågor och AI-verktyg.
- Öppna Google Sheets API Call och ställ in URL till
https://docs.google.com/spreadsheets/d/[YOUR_ID]/gviz/tq. - I Google Sheets API Call, aktivera Send Query och ställ in frågeparametrarna: sheet till
Sheet1och tq till=SELECT * WHERE A >= DATE "{{ $json.start_date }}" AND A <= DATE "{{ $json.end_date }}". - Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Google Sheets API Call.
- För AI-verktygen Fetch Sales by Product, Retrieve All Transactions och Fetch Sales by Status, säkerställ att samma googleSheetsOAuth2Api-inloggningsuppgifter är anslutna.
⚠️ Vanlig fallgrop: kalkylbladets ID i Google Sheets API Call måste matcha documentId som används i Google Sheets-verktygen, annars kommer AI:n att fråga mot olika datamängder.
Steg 3: sätt upp AI-orkestreraren och språkmodellen
Konfigurera AI-agenten, koppla in OpenAI-modellen och länka AI-verktyg samt minne.
- Öppna Conversational AI Orchestrator och bekräfta att System Message är satt till
=You are a helpful assistant. Current timestamp is {{ $now }}. - Öppna OpenAI Chat Engine och ställ in Model till
gpt-4ooch Temperature till0.2. - Inloggningsuppgifter krävs: anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine.
- Koppla AI-verktyg till Conversational AI Orchestrator: Math Utility Tool, Records Lookup by Date, Fetch Sales by Product, Retrieve All Transactions och Fetch Sales by Status.
- Koppla Conversation Memory Buffer som minnesnod för Conversational AI Orchestrator.
AI-verktygsnoder som Fetch Sales by Product och Records Lookup by Date är underverktyg till Conversational AI Orchestrator; inloggningsuppgifter ska läggas till på föräldranoderna (OpenAI Chat Engine och Google Sheets-verktygen), inte på underverktygen.
Steg 4: konfigurera subflödet för datahämtning
Sätt upp arbetsflödesvägen som anropas av ett annat arbetsflöde för att hämta och tolka datumfiltrerade transaktioner.
- Öppna Triggered by Subflow och verifiera att arbetsflödesindata inkluderar
start_date,end_dateochstatus. - Koppla Triggered by Subflow till Google Sheets API Call och sedan till Transform Payload Script.
- I Transform Payload Script, behåll den angivna jsCode för att tolka Google Visualization JSONP till strukturerade rader.
⚠️ Vanlig fallgrop: frågan i Google Sheets API Call returnerar JSONP; om ni tar bort tolkningslogiken i Transform Payload Script kommer resten av arbetsflödet att sluta fungera.
Steg 5: tillämpa statusfiltrering och aggregering
Filtrera de tolkade transaktionerna på status och aggregera resultaten för AI-svaret.
- I Filter by Status Check, ställ in villkoret så att det jämför
{{ $json.Status }}med{{ $('Triggered by Subflow').item.json.status }}med contains. - Koppla Transform Payload Script → Filter by Status Check → Aggregate All Items.
- I Aggregate All Items, behåll Aggregate inställt på
aggregateAllItemData.
Steg 6: konfigurera indata till verktygsarbetsflödet för datumfrågor
Säkerställ att AI:n kan anropa det datumfiltrerade subflödet med strukturerade indata.
- Öppna Records Lookup by Date och ställ in Name till
records_by_date_and_or_status. - Bekräfta att mappningarna för arbetsflödesindata är definierade med uttryck:
- Ställ in status till
{{ $fromAI("status", "Status of the transaction. Can be Completed, Refund or Error. Leave empty if you don't need this now.", "string") }}. - Ställ in end_date till
{{ $fromAI("end_date", "End date in format YYYY-MM-DD", "string") }}och start_date till{{ $fromAI("start_date", "Start date in format YYYY-MM-DD", "string") }}.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett manuellt test och bekräfta att AI:n kan hämta, filtrera och sammanfatta transaktioner korrekt.
- Använd Chat Message Trigger för att skicka ett testmeddelande (t.ex. ”Visa slutförda transaktioner från 2024-01-01 till 2024-01-31”).
- Verifiera att Conversational AI Orchestrator anropar Records Lookup by Date och att Google Sheets API Call returnerar data.
- Bekräfta att Transform Payload Script output:ar rader och att Filter by Status Check och Aggregate All Items skapar ett filtrerat aggregat.
- När outputen är korrekt, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först Google-kopplingen i n8n:s panel för Credentials och bekräfta sedan att arket är delat med rätt Google-konto.
- Om du använder Wait-noder eller extern bearbetning kan timingen variera. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardpromptar i noder för OpenAI Chat Model är generiska. Lägg in dina affärsregler (datumlogik, statusdefinitioner, ”vad som räknas som intäkt”) tidigt, annars kommer du att sitta och redigera utdata för alltid.
Vanliga frågor
Cirka 30–60 minuter om ditt ark redan är felfritt och tillgängligt.
Ingen kod krävs för grundupplägget. Du kan behöva justera en liten script-nod om kolumnerna i arket är röriga.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för OpenAI API (ofta bara några cent per dag vid lätt användning).
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och kör n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en vanlig uppgradering när datan växer ur Sheets. Du behåller samma Telegram-trigger och AI-agent och ersätter sedan Google Sheets-verktygen (som ”Hämta försäljning per produkt” eller ”Hämta alla transaktioner”) med noder för databasfrågor (Postgres eller MySQL). De flesta team justerar också prompten så att agenten känner till tabellnamn, datumfält och vad ”status” betyder. Gör den delen noggrant så förblir svaren konsekventa.
Oftast beror det på en utgången bot-token eller att botten inte är tillåten i chatten. Kontrollera din Telegram bot-token i n8n-credentials igen och bekräfta sedan att chat-ID:t är korrekt och att botten kan läsa meddelanden i den konversationen.
Med n8n Cloud Starter kan du hantera ungefär några tusen arbetsflödeskörningar per månad, vilket räcker för de flesta små team som ställer frågor under dagen. Om du kör egen drift finns ingen gräns för antalet körningar, så dina verkliga begränsningar är serverstorlek och hur snabbt Google Sheets och OpenAI svarar. I praktiken kan det här arbetsflödet utan problem hantera dussintals frågor per timme för en typisk intern teamchatt.
Ofta, ja. n8n hanterar AI-agentlogik, förgrening och verktygsanrop mer naturligt, och du kan köra egen drift för obegränsade körningar om teamet ställer många frågor. Zapier eller Make kan vara enklare för grundläggande ”skicka ett meddelande när en rad ändras”, men de blir klumpiga när du behöver minne, aggregering och beräkningar i ett och samma flöde. Dessutom vill du ha tajtare kontroll över promptar och hur data hämtas, eftersom det är där noggrannheten kommer ifrån. Om du tvekar, prata med en automationsexpert så får du ett rakt svar baserat på din volym och din setup.
När detta väl är på plats slutar ”Vad är siffran?” att vara ett miniprojekt. Arbetsflödet sköter repetitiva uppslag och beräkningar så att du kan fokusera på vad du ska göra med svaret.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.