Tidrapporteringsuppdateringar borde vara tråkiga. I stället dyker de upp som röriga rader, halvt saknad kontext och krystade “kan du förtydliga den här raden?”-uppföljningar som drar ut i dagar.
Oavsett om du är en marknadsansvarig som jagar debiterbara timmar, en företagare som godkänner arbete, eller en konsult som skickar veckosammanfattningar, förvandlar den här automatiseringen för Gmail-tidrapportsrapport råa poster till en strukturerad HTML-fil som du kan dela med självförtroende.
Du sätter upp ett n8n-arbetsflöde som hämtar poster, formaterar en snygg rapport (med avatarer), konverterar den till HTML och mejlar den som bilaga via Gmail.
Så fungerar den här automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Gmail: tidsrapporter som snygga HTML-bilagor
flowchart LR
subgraph sg0["On clicking 'execute' Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "On clicking 'execute'", pos: "b", h: 48 }
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/itemLists.svg' width='40' height='40' /></div><br/>SortElements"]
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/markdown.dark.svg' width='40' height='40' /></div><br/>Markdown"]
n3@{ icon: "mdi:code-braces", form: "rounded", label: "CreateMDReport", pos: "b", h: 48 }
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Send 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/itemLists.svg' width='40' height='40' /></div><br/>GetImg"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>ImgBinary"]
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/merge.svg' width='40' height='40' /></div><br/>Merge2"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Move Binary Data1", pos: "b", h: 48 }
n9@{ icon: "mdi:code-braces", form: "rounded", label: "GetTimesheetRecords", pos: "b", h: 48 }
n5 --> n6
n7 --> n3
n2 --> n8
n6 --> n7
n1 --> n5
n1 --> n7
n3 --> n2
n8 --> n4
n9 --> n1
n0 --> 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 n0 trigger
class n6 api
class n3,n9 code
class n4 disabled
classDef customIcon fill:none,stroke:none
class n1,n2,n5,n6,n7 customIcon
Varför det här spelar roll: tidrapporter som skapar merarbete
Rå tidrapportsdata är sällan “redo att skicka”. Du slutar med att kopiera poster till ett dokument, städa upp namn, sortera per person eller projekt och försöka få det att se tillräckligt konsekvent ut för att en kund inte ska ifrågasätta det. Sedan ber någon om en uppdelning, eller så inser du att två poster ligger i fel ordning, eller så glömde en kollega att lägga till kontext. Det är inte svårt, men det är den typen av jobb som stjäl fokus och ökar den mentala belastningen precis när du vill stänga veckan.
Friktionen byggs på. Här är var det oftast faller isär.
- Du lägger ungefär en timme i veckan på att bara göra “poster” till något presentabelt.
- Formateringen är inkonsekvent mellan kunder, vilket betyder fler frågor och mer fram och tillbaka.
- Manuell sortering orsakar misstag, som att en uppgift hamnar under fel person eller datum.
- När du väl trycker “skicka” känns rapporten fortfarande ihopslängd, även om jobbet var riktigt bra.
Det du bygger: ett kundklart HTML-mejl med tidrapport
Det här arbetsflödet startar med en manuell körning i n8n när du är redo att skapa en rapport. Det hämtar dina tidrapportsposter och ordnar sedan raderna så att slutresultatet läses som en riktig sammanfattning (inte som en databasutskrift). Därefter hämtar det varje persons avatar, laddar ner bilderna och slår ihop dem med tidrapportsdatan så att rapporten känns genomarbetad och lätt att skumma. Efter det bygger arbetsflödet en lång Markdown-rapport i ett Function-steg, konverterar den till HTML och gör den till en fil som kan bifogas. Till sist skickar det en e-postnotis med HTML-rapporten bifogad via ett Gmail-kompatibelt sändsteg.
Arbetsflödet börjar med att samla in och sortera dina poster. Sedan berikar det rapporten med avatarer som hämtas via HTTP-anrop. I slutet blir Markdown till en strukturerad HTML-bilaga och Gmail sköter leveransen, så att du slipper kopiera och klistra in något.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntat resultat
Säg att du skickar en veckosammanfattning av tidrapporter till 5 kunder. Manuellt kan du lägga cirka 10 minuter per kund på att kopiera poster, sortera och fixa formatering, plus ytterligare 10 minuter totalt på att rätta småfel, alltså ungefär en timme. Med det här arbetsflödet triggar du det en gång (kanske 2 minuter), låter det hämta avatarer och rendera HTML:en (ofta 5–10 minuter väntetid), och sedan skickar Gmail bilagan. Du får tillbaka större delen av den timmen, och resultatet blir mer konsekvent varje gång.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Gmail (eller SMTP-kompatibel e-post) för att skicka rapporten som bilaga.
- Avatar-källa som är åtkomlig via HTTP så att arbetsflödet kan ladda ner bilder.
- Google Drive om du vill lagra eller hämta filer därifrån.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard) om du aktiverar AI Agent-steg.
Kunskapsnivå: Medel. Du kommer främst att koppla konton och redigera ett Function-steg som bygger Markdown-rapporten.
Vill du att någon bygger det här åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Du kör det när du är redo. En manuell trigger startar arbetsflödet, vilket är perfekt för veckorapportering eftersom du behåller kontrollen över tidpunkten.
Poster hämtas och rensas upp. Ett Function-steg hämtar tidrapportsraderna, och sedan sorterar ett ordningssteg dem i en vettig följd (per datum, person eller projekt, beroende på hur du konfigurerar det).
Rapporten får “finish”. Arbetsflödet samlar in en uppsättning avatarer, laddar ner bilderna via HTTP Request och slår ihop filerna med din sorterade tidrapportsdata så att slutrapporten blir lättare att ögna igenom.
Markdown blir en HTML-bilaga och mejlas. Ett annat Function-steg bygger en lång Markdown-sträng, den renderas till HTML och konverteras sedan till en binär fil för bilaga. Noden Send Email skickar den via din e-postkonfiguration.
Du kan enkelt ändra grupperingen och formateringen så att den matchar varje kunds preferenser. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startar vid behov så att ni kan köra rapporten när det behövs.
- Lägg till noden Manual Launch Trigger som arbetsflödets trigger.
- Lämna parametrarna för Manual Launch Trigger på standardvärdena (ingen extra konfiguration krävs).
Steg 2: anslut datakällan för tidrapportering
Initiera arbetsflödet med tidrapporteringsposter innan någon sortering eller bearbetning sker.
- Öppna Fetch Timesheet Entries och ställ in Function Code till det angivna skriptet som returnerar timesheet-arrayen.
- Bekräfta att utdataobjekten innehåller fälten
UserName,UserAvatar,TaskTitle,date,noteochhoursenligt vad som visas i nodens kod. - Koppla Manual Launch Trigger → Fetch Timesheet Entries.
Steg 3: sortera och grena upp posterna
Sortera data för konsekvent gruppering och dela flödet i parallella bearbetningsgrenar.
- I Order Records ställer ni in Operation till
sort. - Konfigurera Sort Fields i Order Records som
UserName,TaskTitleochdate. - Koppla Fetch Timesheet Entries → Order Records.
- Order Records skickar utdata parallellt till både Collect Avatar Set och Combine Streams.
Steg 4: bygg rapporten och HTML-bilagan
Förbered avatar-binära data, slå ihop strömmar, generera markdown och konvertera till HTML för e-postutskick.
- I Collect Avatar Set ställer ni in Operation till
removeDuplicatesoch Compare tillselectedFields, ställ sedan in Fields to Compare tillUserAvatarmed Remove Other Fields aktiverat. - I Download Avatars ställer ni in URL till
={{$json["UserAvatar"]}}och Response Format tillfile. - Säkerställ att Download Avatars är kopplad till Combine Streams (input index 1) och att Order Records är kopplad till Combine Streams (input index 0).
- I Combine Streams ställer ni in Mode till
mergeByIndexoch Join tillouter. - I Build Markdown Report behåller ni den angivna Function Code för att generera rapportinnehållet med tabellstyling och inbäddade avatarer.
- I Render HTML Output ställer ni in Mode till
markdownToHtmloch Markdown till={{$json["mdreport"]}}. - I Prepare HTML File ställer ni in Mode till
jsonToBinary, File Name tillreport.html, Mime Type tilltext/html, och aktiverar Use Raw Data.
file och att UserAvatar-URL:en är giltig.Steg 5: konfigurera e-postleverans
Skicka den slutliga HTML-rapporten som en e-postbilaga.
- Öppna Dispatch Email Notice och ställ in Subject till
TimeSheet report. - Ställ in Attachments till
dataså att HTML-filen från Prepare HTML File bifogas. - Inloggningsuppgifter krävs: Anslut era
smtp-uppgifter i Dispatch Email Notice. - Om Dispatch Email Notice är inaktiverad, aktivera den innan ni använder den i produktion.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera rapporten och aktivera sedan arbetsflödet när ni är redo.
- Klicka på Execute Workflow och kör Manual Launch Trigger för att skapa en fullständig rapport.
- Verifiera att Render HTML Output skapar ett komplett HTML-dokument och att Prepare HTML File ger en binär bilaga med namnet
report.html. - Bekräfta att e-postmeddelandet från Dispatch Email Notice kommer fram med rapporten bifogad.
- När ni är nöjda växlar ni arbetsflödet till Active för löpande användning.
Felsökningstips
- Send Email-inloggningar kan löpa ut eller kräva behörigheter i stil med “less secure app”, beroende på leverantör. Om leveransen misslyckas, kontrollera först ditt e-postkontos anslutna appar och inloggningarna som är sparade i n8n.
- HTTP Request-nedladdningar kan misslyckas utan tydliga fel när avatar-URL:er omdirigerar eller blockerar hotlinking. Testa några avatar-länkar i webbläsaren och bekräfta att arbetsflödet följer omdirigeringar om din källa använder dem.
- Standardprompter i AI-noder är generiska. Lägg in er varumärkeston tidigt, annars kommer du att sitta och redigera utdata i all evighet.
Snabba svar
Cirka 30 minuter om din e-post och datakälla är redo.
Nej. Du kommer främst att koppla konton och justera ett mall-liknande Function-steg som bygger Markdown-rapporten.
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 in kostnader för OpenAI API om du aktiverar AI-steg.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. De flesta anpassningar sker i Function-steget “Build Markdown Report” där du styr avsnitt, rubriker och gruppering. Du kan också byta avatar-källa genom att justera HTTP Request-steget “Download Avatars”, eller hoppa över avatarer helt genom att ta bort den sammanslagningen. Vanliga justeringar är gruppering per kund, lägga till ett avsnitt med “höjdpunkter” samt infoga fakturakoder eller interna projekt-ID:n.
Oftast handlar det om behörigheter eller en utgången inloggning. Anslut ditt e-postkonto igen i n8n, bekräfta att avsändaradressen matchar vad inloggningen tillåter och dubbelkolla eventuella säkerhetsinställningar hos leverantören som blockerar automatiska avsändare. Om noden körs men inget kommer fram, kontrollera skräppost och leta efter studsningar i skickat eller i leverantörens loggar.
För de flesta små team fungerar hundratals poster per rapport bra; den största begränsningen är hur snabbt dina avatar-nedladdningar går och vad din e-postleverantör tillåter.
Ofta, ja. Det här arbetsflödet bygger på anpassad formatering (bygga en lång Markdown-sträng, konvertera den till HTML och sedan förbereda en filbilaga), och n8n är helt enkelt bekvämare för den typen av logik för “dokumentmontering”. Du får också mer frihet att slå ihop binära filer (som avatarer) med strukturerad data utan att betala extra för varje gren. Zapier eller Make kan fortfarande fungera om din rapport är väldigt enkel och du inte bryr dig om bilagor. Om du är osäker, prata med en automationsexpert så hjälper vi dig att välja snabbaste vägen.
När det här väl rullar slutar veckovis tidrapportsrapportering att vara ett återkommande måste. Du genererar, bifogar, skickar och går vidare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.