Din LINE-inkorg ser “helt okej” ut tills den inte gör det. En stressig eftermiddag, och du svarar på samma fråga fem gånger, tappar kontext mellan meddelanden och råkar dessutom säga emot det du sa till kunden igår.
Det är här LINE reply automation börjar betala tillbaka. Supportansvariga märker det först, men marknadschefer som kör kampanjer och founders som hanterar DM:s hamnar till slut i samma loop. Resultatet är enkelt: snabbare svar som håller ihop, eftersom boten kommer ihåg vad som sagts.
Det här arbetsflödet kopplar LINE till Google Sheets som “minne”, använder Gemini för att skriva ett utkast till svar och loggar hela konversationen så att nästa meddelande får kontext. Du får se hur det fungerar, vad du behöver och hur du undviker vanliga misstag vid uppsättning.
Så här fungerar automatiseringen
Här är det kompletta arbetsflödet du kommer att sätta upp:
n8n Workflow Template: LINE + Google Sheets: smartare svar med kontext
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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request"]
n5@{ icon: "mdi:database", form: "rounded", label: "Get History", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare Prompt", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Save History", 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/code.svg' width='40' height='40' /></div><br/>Split History"]
n0 --> n3
n1 --> n8
n3 --> n5
n5 --> n6
n7 --> n4
n8 --> n7
n6 --> n1
n2 -.-> n1
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 n1 ai
class n2 aiModel
class n5,n7 database
class n0,n4 api
class n8 code
classDef customIcon fill:none,stroke:none
class n0,n4,n8 customIcon
Varför det här spelar roll: supportsvar som glömmer allt
De flesta team har inte problem för att de inte kan svara kunder. De har problem för att de inte kan svara konsekvent, snabbt och över dussintals små konversationer som sker parallellt. En kund frågar om pris, och kommer tillbaka två dagar senare och frågar “vad menade du med startpaketet?” och nu scrollar du, gissar eller ber dem upprepa sig. Det är inte bara långsamt. Det är tröttsamt. Och ärligt talat får det ditt företag att låta oorganiserat även när ni inte är det.
Friktionen växer snabbt. Här är var det oftast havererar i verkligheten:
- Du skriver samma svar om och om igen hela veckan, vilket tar tid från faktisk problemlösning.
- Kontext försvinner mellan skift eller kollegor, så kunden får motstridiga besked.
- Viktiga detaljer ligger begravda i chatttrådar, inte i en sökbar logg du kan lära dig av.
- När volymen sticker iväg går svaren långsammare och kön blir i tysthet “morgondagens problem”.
Vad du bygger: LINE autosvar som kommer ihåg tidigare chattar
Det här arbetsflödet lyssnar efter nya meddelanden som skickas till ditt LINE Official Account och omvandlar sedan varje meddelande till en strukturerad “supporthändelse” som din automation kan jobba med. Det slår upp avsändarens tidigare konversationshistorik i Google Sheets, så att AI:n inte svarar i ett vakuum. Därefter bygger det en prompt som inkluderar relevant historik och det nya meddelandet, och skickar den till en Gemini-baserad AI Agent för att generera ett hjälpsamt svar på klarspråk. Efter det segmenterar och strukturerar arbetsflödet konversationstexten (så att ditt ark förblir läsbart), skriver tillbaka det nya meddelandet och AI-svaret till Google Sheets och skickar slutligen svaret tillbaka till användaren via LINE Messaging API.
Arbetsflödet startar med en inkommande webhook från LINE. Sedan står Google Sheets för minnet, Gemini genererar svaret och en HTTP-request postar svaret tillbaka till LINE. Varje interaktion loggas, vilket gör att nästa svar automatiskt får bättre kontext.
Det här bygger du
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du får cirka 30 LINE-meddelanden per dag. Om en person lägger ungefär 8–10 minuter på att läsa tidigare kontext, formulera ett svar och klistra in länkar, blir det runt 4 timmar per dag. Med det här arbetsflödet kan “människotiden” minska till en snabb granskning och skicka (ofta under en minut), medan Gemini hanterar utkastet och Google Sheets står för minnet. Även om du fortfarande godkänner svar manuellt får du oftast tillbaka cirka 3 timmar per dag.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- LINE Official Account för att ta emot och svara på meddelanden.
- Google Sheets för att lagra chathistorik och slå upp den.
- Gemini API-åtkomst (hämta via Google AI Studio / ditt Google Cloud-projekt)
Kunskapsnivå: Medel. Du är bekväm med att koppla konton, lägga in API-credentials och testa webhooks.
Vill du att någon bygger detta åt dig? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Steg för steg
Ett LINE-meddelande träffar din webhook. Ditt LINE Official Account är konfigurerat att vidarebefordra meddelandehändelser till n8n, vilket innebär att varje inkommande DM kan trigga automatiseringen direkt.
Arbetsflödet normaliserar meddelandet. Ett “set fields”-steg extraherar användar-ID och meddelandetext så att efterföljande steg inte behöver tolka röriga payloads.
Google Sheets står för minnet. Arbetsflödet söker i ditt ark efter användarens tidigare rader (meddelande + svar) och bygger sedan en prompt som kombinerar “vad som redan sagts” med den nya frågan.
Gemini skapar ett svarutkast och allt loggas. AI Agent genererar svaret, arbetsflödet segmenterar/strukturerar historiken så att ditt ark förblir användbart, och en sista HTTP-request postar svaret tillbaka till LINE.
Du kan enkelt justera “minnesfönstret” så att det bara använder de senaste meddelandena i stället för hela historiken, beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera webhook-triggern
Sätt upp inkommande LINE-webhook och mappa inkommande fält för vidare bearbetning.
- Lägg till och öppna Incoming Webhook Trigger.
- Ställ in HTTP Method på
POSToch Path påguitarpa. - Öppna Map Incoming Fields och skapa tre tilldelningar med exakt följande uttryck: body.events[0].message.text =
{{ $('Incoming Webhook Trigger').item.json.body.events[0].message.text }}, body.events[0].replyToken ={{ $('Incoming Webhook Trigger').item.json.body.events[0].replyToken }}, body.events[0].source.userId ={{ $json.body.events[0].source.userId }}. - Bekräfta körflödet: Incoming Webhook Trigger → Map Incoming Fields → Retrieve Chat Memory.
⚠️ Vanlig fallgrop: LINE skickar events som en array – säkerställ att ni mappar events[0] exakt som visat för att undvika tomma värden.
Steg 2: anslut Google Sheets
Hämta användarens chattminne och spara den uppdaterade historiken i Google Sheets.
- Öppna Retrieve Chat Memory och ställ in Document på
[YOUR_ID]och Sheet påSheet1(gid=0). - Konfigurera filtret i Retrieve Chat Memory med Lookup Column =
UserIDoch Lookup Value ={{ $('Incoming Webhook Trigger').item.json.body.events[0].source.userId }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Chat Memory.
- Öppna Persist Conversation Log och ställ in Operation på
appendOrUpdate, Document på[YOUR_ID]och Sheet påSheet1(gid=0). - Mappa kolumnvärdena i Persist Conversation Log exakt så här: History =
{{ $('Segment History Logic').item.json.historyToSave }}, UserID ={{ $('Map Incoming Fields').item.json.body.events[0].source.userId }}, LastUpdated ={{ new Date().toISOString() }}, samt arkiven History_Archive_1–4 med motsvarande uttryck från Segment History Logic. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Persist Conversation Log.
Säkerställ att Google Sheet har kolumner med namnen UserID , History, LastUpdated och History_Archive_1–4 så att de matchar mappningarna.
Steg 3: konfigurera konversations-AI
Bygg en kontexttät prompt och anslut Gemini-modellen för att generera svar.
- Öppna Build Prompt Context och ställ in värdet för Prompt till det fullständiga uttrycket som visas i noden, som sammanfogar arkiv, historik och det aktuella meddelandet.
- Öppna Conversational AI Handler och ställ in Text till
{{ $json.Prompt }}med Prompt Type =defineoch Has Output Parser aktiverat. - I Conversational AI Handler ställer ni in System Message till
You are a helpful assistant. Your name is "ลลิตา". You will help me in everything I need. You will answer based on user language. You are an AI Agent operating in the Thailand time zone (Asia/Bangkok, UTC+7). Today is {{ $now }}.. - Öppna Gemini Chat Engine och ställ in Model Name till
models/gemini-2.0-flash-001. - Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter i Gemini Chat Engine. Gemini Chat Engine är ansluten som språkmodell för Conversational AI Handler.
- Bekräfta AI-flödet: Retrieve Chat Memory → Build Prompt Context → Conversational AI Handler → Segment History Logic.
Om ni lokaliserar systemmeddelandet, behåll uttrycket {{ $now }} intakt så att svaren förblir tidsmedvetna.
Steg 4: konfigurera persistens för konversation och svarsutskick
Segmentera chatthistoriken för att hålla er inom gränserna i Google Sheets och skicka AI-svaret tillbaka till LINE.
- Öppna Segment History Logic och behåll den medföljande JavaScript-koden som den är för att upprätthålla gränsen på
35000tecken och rotation av arkiv. - Verifiera flödet: Conversational AI Handler → Segment History Logic → Persist Conversation Log → Line Reply API Call.
- Öppna Line Reply API Call och ställ in URL till
https://api.line.me/v2/bot/message/replyoch Method tillPOST. - Ställ in JSON Body till
{ "replyToken": "{{ $('Map Incoming Fields').item.json.body.events[0].replyToken }}", "messages": [ { "type": "text", "text": "{{ $('Conversational AI Handler').item.json.output.replaceAll('\t', ' ').replaceAll('\"', '\\\"').replaceAll('\n', '\\n').trim() || 'No response available.' }}" } ] }. - Lägg till headers i Line Reply API Call: Authorization =
Bearer [CONFIGURE_YOUR_TOKEN]och Content-Type =application/json, med Send Headers och Send Body aktiverat.
⚠️ Vanlig fallgrop: Ersätt [CONFIGURE_YOUR_TOKEN] med er LINE Channel Access Token, annars misslyckas svarsanropet med 401.
Steg 5: testa och aktivera ert arbetsflöde
Validera flödet från webhook-mottagning till LINE-svar och aktivera sedan arbetsflödet för produktion.
- Klicka på Execute Workflow och skicka ett testmeddelande i LINE för att trigga Incoming Webhook Trigger.
- Bekräfta att Retrieve Chat Memory returnerar en rad (eller tomt) och att Build Prompt Context skapar en ifylld
Prompt-sträng. - Verifiera att Conversational AI Handler returnerar ett
outputoch att Line Reply API Call svarar med en lyckad status i körloggen. - Kontrollera ert Google Sheet för att bekräfta att Persist Conversation Log lade till eller uppdaterade användarens historikfält.
- När allt ser korrekt ut, slå på arbetsflödet till Active för produktionsanvändning.
Felsökningstips
- Google Sheets-credentials kan löpa ut eller sakna rätt filåtkomst. Om uppslagningar misslyckas, kontrollera först Google-kopplingen i n8n och bekräfta sedan att arket är delat med det anslutna Google-kontot.
- Om du förlitar dig på segmenterings-/struktureringslogik innan du sparar kan “tom” historik uppstå för förstagångsanvändare. Lägg in en enkel fallback så att Gemini ändå svarar även när arket inte returnerar några rader.
- LINE Messaging API-anrop kan misslyckas utan tydliga fel när tokens eller reply identifiers är fel. När svar inte skickas, granska HTTP Request-nodens response body och bekräfta din channel access token samt mappingen för reply token.
Snabba svar
Cirka 30 minuter om dina LINE- och Google-konton är redo.
Nej. Du kopplar främst konton, klistrar in credentials och testar webhooken.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för Gemini API-användning (oftast små per meddelande, men det beror på promptstorlek och volym).
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) 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.
Ja, och det bör du förmodligen. Du kan ändra vad som sparas genom att redigera Google Sheets-steget “Persist Conversation Log”, och du kan justera hur mycket tidigare kontext som inkluderas genom att uppdatera stegen “Retrieve Chat Memory” och “Build Prompt Context”. Vanliga justeringar är att spara taggar som “fakturering” eller “leverans”, byta till ett kortare minnesfönster (senaste 5 meddelandena) och lägga till eskaleringsregler som mejlar en människa via Gmail när AI:n är osäker.
Oftast är det ett åtkomstproblem med kontot, inte arbetsflödet. Anslut Google Sheets igen i n8n, bekräfta att kalkylarket är delat med det Google-kontot och dubbelkolla att arknamnet/fliknamnet matchar vad noden förväntar sig. Om det fortfarande misslyckas, leta efter kvotgränser eller en flyttad fil (fil-ID kan ändras om du kopierar i stället för att duplicera).
På en typisk n8n Cloud-plan kan det hantera tusentals meddelandehändelser per månad; vid self-hosting beror det främst på din server och API-gränser.
Ofta, ja, eftersom det här användningsfallet kräver minne, förgreningar och tillförlitlig loggning. n8n är bättre när du vill styra hur prompten byggs, lagra historik på ditt sätt och slippa betala extra varje gång flödet blir mer komplext. Zapier eller Make kan fungera för grundläggande “meddelande in → meddelande ut”, men kontextdriven support är där det börjar kännas trångt. Om du hanterar flera inkorgar, strikt regelefterlevnad eller vill ha en väg för att lämna över till människa, spelar de detaljerna roll. Prata med en automationsspecialist, så hjälper vi dig välja det enklaste verktyget som ändå fungerar.
När detta är live slutar din LINE-inkorg att vara ett minnestest. Du får konsekventa svar, en sökbar logg i Google Sheets och en supportprocess som skalar utan kaos.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.