Bilagor ska inte kännas som en skattjakt. Men när filer kommer in via e-post, LINE och slumpmässiga vidarebefordringar försvinner de in i personliga inkorgar, chatttrådar och mappar som “Hämtade filer”.
Den här automatiseringen för Gmail Sheets-loggning träffar marketing ops-team hårt, ärligt talat. Men småföretagare och account managers på byrå känner också av det, eftersom alla till slut gör samma sak: ladda ned, byt namn, ladda upp, sammanfatta och försöka komma ihåg var det hamnade.
Det här flödet sparar bilagan, extraherar texten, skriver en korrekt formaterad sammanfattning och loggar allt i ett sökbart Google Sheet så att du kan gå vidare.
Så fungerar den här automatiseringen
Här är hela arbetsflödet som du kommer att sätta upp:
n8n Workflow Template: Gmail till Google Sheets, bilagor sammanfattas åt dig
flowchart LR
subgraph sg0["Gmail IMAP 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/>LINE Webhook"]
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Gmail IMAP Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Tag Source - LINE", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Tag Source - EMAIL", 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/merge.svg' width='40' height='40' /></div><br/>Merge Triggers"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Upload to Google Drive", 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/code.svg' width='40' height='40' /></div><br/>Convert to Base64"]
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Create Gmail Draft", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n11["<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 in JavaScript"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request2"]
n13@{ icon: "mdi:robot", form: "rounded", label: "Analyze image", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Message a model", pos: "b", h: 48 }
n15["<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"]
n16@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n9 --> n15
n16 --> n14
n15 --> n3
n0 --> n2
n13 --> n16
n12 --> n13
n5 --> n6
n14 --> n10
n7 --> n12
n3 --> n5
n11 --> n5
n1 --> n4
n4 --> n11
n10 --> n8
n6 --> n7
n2 --> n9
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 trigger
class n13,n14 ai
class n9 decision
class n10 database
class n0,n12,n15 api
class n7,n11 code
classDef customIcon fill:none,stroke:none
class n0,n5,n7,n11,n12,n15 customIcon
Därför är det viktigt: bilagor försvinner och arbetet blir dubbelt
När dokument kommer in via flera kanaler är det verkliga problemet inte att “spara en fil”. Det är kaoset efteråt. Någon behöver hitta senaste versionen, skumma igenom den, plocka ut de viktiga detaljerna och dela den med rätt person. Om det är en bild (som en skärmdump, ett foto av ett formulär eller en LINE-bild) fastnar du med att skriva av det du ser. Om det är en PDF hoppar du mellan verktyg bara för att kopiera text. Sedan behöver du fortfarande en logg över vad som kom in, när och vem som skickade det. Utan en central logg öppnar du samma bilaga tre gånger på en vecka.
Friktionen byggs på. Här är var det faller isär.
- Viktiga filer ligger kvar i inkorgar och chattar, vilket betyder att “systemet” beror på den som råkade se det först.
- Sammanfattningar skrivs inkonsekvent, så senare sökningar blir till gissningar och omläsning.
- Bildbaserade dokument kräver manuell avskrift, och små misstag smyger sig in snabbt.
- Utan en gemensam intagslogg blir det svårt att delegera, följa status eller bevisa vad som togs emot.
Det du bygger: en intagspipeline för e-post + LINE-filer
Det här arbetsflödet fungerar som en tyst intake-assistent som aldrig glömmer. Det startar i samma ögonblick som ett nytt mejl landar i din Gmail-inkorg eller någon skickar en bild/dokument via LINE. Automatiseringen taggar källan (EMAIL eller LINE) så att du kan routa eller filtrera senare, och sparar sedan den inkommande filen i Google Drive som single source of truth. Därefter laddar den ned filen för analys, kör OCR (textextraktion) på bilder och förbereder texten så att den blir användbar. Sedan skapar en AI-textmodell en kortfattad sammanfattning som du faktiskt kan skumma. Slutligen lägger flödet till en ny rad i Google Sheets med nyckeldetaljerna och skapar ett Gmail-utkast som innehåller både OCR-texten och sammanfattningen, redo för granskning eller vidarebefordran.
Flödet börjar med Gmail IMAP och en LINE-webhook och normaliserar bilagor till en enda ström. Google Drive blir ditt lagringslager, OpenAI hanterar OCR och sammanfattning, och Google Sheets blir din sökbara intagslogg. Ett Gmail-utkast på slutet gör resultatet “delningsklart” utan att något skickas automatiskt.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du tar emot 10 dokument per dag via Gmail och LINE. Manuellt kan du lägga cirka 5 minuter på att spara och namnge varje fil, och sedan ytterligare 5 minuter på att skumma igenom den och skriva en användbar notering, vilket blir ungefär 2 timmar per dag. Med det här flödet går du över till en snabb granskningsrutin: filen hamnar i Drive, sammanfattningen hamnar i Sheets och ett Gmail-utkast är klart på cirka 10 minuter total mänsklig tid (mest kontroll, inte skrivande). Det är ungefär en timme tillbaka en vanlig dag, ibland mer när dokumenten är bildtunga.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Gmail för att övervaka bilagor i inkorgen och skapa utkast till svar.
- LINE Messaging API för att ta emot bilder via webhook-händelser.
- Google Drive + Google Sheets för lagring och den sökbara intagsloggen.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard under API keys)
Svårighetsgrad: Medel. Du kopplar några konton, klistrar in API-nycklar och uppdaterar ett Drive-mapp-ID och ett fliknamn i Sheet.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Ett Gmail-mejl kommer in eller ett LINE-meddelande dyker upp. Flödet använder en lyssnare för Gmail-inkorgen för e-post och en LINE-webhook för chatt, så att båda kanalerna kan trigga samma intagsprocess.
Källan taggas och bilagor normaliseras. n8n märker varje objekt som EMAIL eller LINE och formar sedan om bilagedata så att allt ser konsekvent ut innan det slås ihop till en enda ström.
Filer lagras och förbereds för analys. Varje dokument sparas först i Google Drive, sedan laddar flödet ned det igen (via HTTP request) och förbereder en base64-payload för OCR vid behov. Om det inkommande objektet är en LINE-bild hämtar flödet mediet från LINE innan det fortsätter.
OCR körs, sedan körs sammanfattning. Ett OpenAI-vision-steg extraherar all läsbar text från en bild, en kort väntan hjälper till att undvika timingproblem och därefter skapar en textmodell en korrekt formaterad, konsekvent sammanfattning som du snabbt kan skumma.
Allt loggas och ett utkast skapas. Flödet lägger till en rad i Google Sheets och genererar ett Gmail-utkast som innehåller OCR-texten plus sammanfattningen så att det är enkelt att vidarebefordra eller arkivera.
Du kan enkelt ändra sammanfattningsformatet för att inkludera “åtgärd krävs” eller routa efter dokumenttyp utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Sätt upp inkommande triggers för LINE och Gmail så att arbetsflödet kan ta emot bilder från båda källorna.
- Lägg till och konfigurera LINE Incoming Hook med Path satt till
line-webhookoch HTTP Method satt tillPOST. - Konfigurera Gmail Inbox Listener med Simple satt till
false, Label IDs satt tillINBOXoch Download Attachments aktiverat. - Bekräfta att exekveringsflödet startar vid LINE Incoming Hook → Flow Settings Map → Conditional Image Check för LINE-händelser, och Gmail Inbox Listener → Label Origin Email för e-posthändelser.
Steg 2: Anslut kärntjänster
Koppla in autentiseringsuppgifter till alla externa tjänster som används av det här arbetsflödet.
- Inloggningsuppgifter krävs: Anslut era Gmail OAuth2-uppgifter till Gmail Inbox Listener och Compose Gmail Draft.
- Inloggningsuppgifter krävs: Anslut era Google Drive OAuth2-uppgifter till Store in Google Drive och Drive File Download (den senare använder Node Credential Type
googleDriveOAuth2Api). - Inloggningsuppgifter krävs: Anslut era Google Sheets OAuth2-uppgifter till Append Sheet Record.
- Inloggningsuppgifter krävs: Anslut era OpenAI-uppgifter till Vision Text Extraction och Summarize Text Prompt.
- Inloggningsuppgifter krävs: Anslut era HTTP Header Auth-uppgifter till Fetch LINE Media (används för auktorisering mot LINE API).
Steg 3: Konfigurera källmärkning och villkorsstyrd routning
Mappa konfigurationsvärden och routa LINE-meddelanden via ett villkor som endast släpper igenom bilder innan bearbetning.
- I Flow Settings Map ställer ni in lineChannelAccessToken till
[CONFIGURE_YOUR_TOKEN]och googleDriveFolderId till[YOUR_ID]. - I Conditional Image Check bekräftar ni att villkoret Left Value är
{{ $json.body.events[0].message.type }}och Right Value ärimage. - Ställ in Label Origin LINE för att tilldela source som
LINE, och Label Origin Email för att tilldela source somEMAIL.
Steg 4: Normalisera bilagor och lagra filer
Normalisera inkommande bilagor, slå ihop källor och lagra filer i Google Drive innan OCR.
- I Normalize Attachment Data behåller ni den medföljande JavaScript-koden som mappar den första binära nyckeln till
item.binary.dataför e-postbilagor. - Använd Combine Entry Streams för att slå ihop utdata från Label Origin LINE och Normalize Attachment Data.
- Konfigurera Store in Google Drive med Name satt till
{{ $binary.data.fileName || "document" }}och Folder ID satt till[YOUR_ID]. - I Prepare Base64 Payload behåller ni JavaScript-koden som skickar JSON och binärdata vidare för nedladdning och OCR.
- Ställ in Drive File Download URL till
https://www.googleapis.com/drive/v3/files/{{ $json.id }}?alt=media.
[YOUR_ID] — ersätt dem med giltiga mapp-ID:n.Steg 5: Sätt upp OCR och sammanfattning
Kör OCR på den nedladdade bilden, vänta en kort stund för bearbetning och sammanfatta den extraherade texten.
- Konfigurera Vision Text Extraction med Resource satt till
image, Input Type satt tillbase64och prompttextenTranscribe all content written in this image exactly, preserving all line breaks.. - Ställ in Delay Processing att vänta Amount
60sekunder. - I Summarize Text Prompt använder ni uttrycket för meddelandeinnehåll
{{ $json.content }}.
Steg 6: Konfigurera utdata (Sheets och Gmail)
Lägg till sammanfattningen i Google Sheets och skapa ett Gmail-utkast med OCR-resultat.
- I Append Sheet Record ställer ni in Operation till
append, Document till[YOUR_ID]och mappar 要約内容 till{{ $json.message.content }}. - Konfigurera Compose Gmail Draft med Resource satt till
draft, Subject satt tillDocument Processing Results - {{ $('Prepare Base64 Payload').item.json.name }}och Message satt tillOriginal Text (OCR):{{ $json['要約内容'] }} --- Summary: --- File URL:.
Steg 7: Testa och aktivera ert arbetsflöde
Validera arbetsflödet från start till mål med både LINE- och Gmail-indata, och aktivera det sedan för produktion.
- Använd Execute Workflow och skicka en LINE-bild till webhook-URL:en som genereras av LINE Incoming Hook.
- Skicka ett e-postmeddelande med en bildbilaga till Gmail-kontot som övervakas av Gmail Inbox Listener.
- Verifiera att en fil skapas i Google Drive, att OCR-texten visas i Append Sheet Record och att ett utkast skapas av Compose Gmail Draft.
- När allt fungerar växlar ni arbetsflödet till Active för att möjliggöra kontinuerlig bearbetning.
Felsökningstips
- Google Drive-autentiseringsuppgifter kan gå ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först det anslutna Google-kontot i n8n:s lista för Credentials och bekräfta sedan att det kan skriva till målmappen.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera resultat för alltid.
Snabba svar
Cirka en timme om dina konton och mappar är redo.
Nej. Du kommer främst att koppla konton och uppdatera några ID:n, som din Drive-mapp och fliken i Google Sheet.
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 med OpenAI API-kostnader, som vanligtvis är några cent per dokument beroende på bildstorlek och promptlängd.
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 serveradministration.
Ja, och det är det bästa. Du kan byta ut Google Sheets-steget “lägg till rad” till att istället skriva till Notion eller Slack, samtidigt som du behåller samma Drive-lagring och OCR-steg. Många team lägger till en klassificeringsprompt direkt efter “Summarize Text Prompt” så att Sheet får en kategori som “faktura”, “kreativ feedback” eller “kundförfrågan”. Du kan också ändra Gmail-utkastet till att posta i en delad inkorg, eller hoppa över utkast helt om du bara vill ha loggen.
Det är oftast ett behörighetsproblem på Google-kontot som är kopplat till dina n8n-credentials.
Om du kör egen hosting finns ingen hård gräns för antal körningar (det beror främst på din server och OpenAI:s rate limits). På n8n Cloud beror den praktiska gränsen på din plans månadsvisa körningar, men de flesta små team klarar dagligt intake utan problem. Den tyngre delen är OCR på stora bilder och PDF:er, så om du processar hundratals per dag vill du ha batchning och starkare felhantering.
För det här flödet har n8n några fördelar: mer komplex logik med förgreningar (praktiskt när du blandar Gmail och LINE), möjlighet till egen hosting för obegränsade körningar och mer kontroll över hur du hämtar filer och skickar dem vidare till OCR. Zapier eller Make kan fortfarande fungera om du bara behöver ett enkelt flöde “e-postbilaga → Drive”, men OCR + sammanfattning + loggning blir ofta dyrt eller klumpigt snabbt. Dessutom är tillförlitlighet i stil med “vänta och försök igen” enklare att finjustera i n8n när filbearbetningen tar längre tid än väntat. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation baserat på din volym och dina verktyg.
När detta väl rullar hamnar varje fil på samma ställe med en sammanfattning du kan lita på. Sätt upp det en gång och låt intagsloggen göra jobbet i bakgrunden.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.