Tidrapporter är aldrig ”klara” när de kommer in. De är halvfärdiga data som fortfarande behöver formatering, rensning och en hel del finputs innan en kund ens borde få se dem.
Det här slår mot byråägare vid fakturering. ansvariga för drift/operations märker det när rapporter blir försenade. Och om du är frilansare räddar den här e-postautomationen för tidrapporter dig från att göra söndag kväll till kalkylarks-kväll.
Det här flödet tar en enkel tidrapport-tabell och gör om den till en varumärkesanpassad HTML-rapport (med avatarer), konverterar den till en bilaga och mejlar sedan ut den konsekvent. Du får se vad den gör, vad du behöver och hur delarna hänger ihop.
Så här fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: E-posta tidsrapporter som 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
Problemet: tidrapporter ser inte kundfärdiga ut
En rå tidrapport är användbar internt, men är rörig som leverans. Namn matchar inte kundens förväntningar, kolumner ligger i fel ordning och den ”snygga formatering” du gjorde förra veckan försvinner så fort någon lägger till ett nytt fält. Sedan sitter du och copy-pastar in i ett dokument, fixar avstånd, letar efter teamets avatarer (eller tar bort den sektionen helt), exporterar en PDF och bifogar den till sist i ett mejl. Det är monotont arbete som kräver fokus, vilket är den sämsta typen av arbete att upprepa varje vecka.
Det blir snabbt mycket. Här är var det oftast skapar fel.
- Du lägger cirka 1–2 timmar per rapportcykel bara på att göra ”data” presentabel.
- Små formateringsfel smyger sig in, vilket leder till kundfrågor, omskick och obekväma uppföljningar.
- Avatarer och teamdetaljer finns någon annanstans, så rapporten blir inkonsekvent eller ofullständig.
- Leverans bygger på att någon kommer ihåg det, och ärligt talat: förr eller senare gör någon inte det.
Lösningen: generera en varumärkesanpassad HTML-rapport och mejla den automatiskt
Det här n8n-flödet börjar med en tidrapport-tabell för två personer (du kan skala upp), och bygger sedan ihop raderna till en felfri, förutsägbar struktur. Det sorterar om fält så att rapporten alltid får samma layout, hämtar en uppsättning avatarer och laddar ner avatarbilderna så att de kan användas i slutresultatet. Därefter slår det ihop tidrapportsdata och bilddata till ett flöde, bygger en Markdown-rapport baserat på den sammanslagna kontexten och renderar den till HTML för ett polerat, kundklart utseende. Till sist konverterar det HTML:en till en binär fil så att den kan bifogas i ett mejl och skickas automatiskt.
Flödet startar när du triggar det manuellt i n8n (perfekt för test eller körning vid begäran). Därifrån strukturerar det tidrapporten, berikar den med avatarbilder via HTTP-request och genererar en Markdown-baserad rapport som renderas till HTML. Sista steget konverterar HTML:en till en bilaga och skickar den med Send Email.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du skickar en tidrapport varje fredag för två konsulter. Manuellt kanske du lägger 20 minuter på att organisera om tabellen, ytterligare 20 minuter på att formatera den till ett ”kundsäkert” dokument och cirka 10 minuter på att hitta avatarer, exportera och bifoga, alltså ungefär 50 minuter per vecka. Med det här flödet klickar du på kör (cirka 1 minut), låter det hämta avatarer och rendera HTML i bakgrunden (ofta ett par minuter), och mejlet skickas med bilagan. Du får tillbaka större delen av den timmen, varje vecka.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- E-post (SMTP) för att skicka den slutliga bilagan.
- Avatar-URL:er som är åtkomliga via HTTP för att hämta bilder till rapporten.
- Google Drive om du senare vill hämta indata från filer.
Kunskapsnivå: Medel. Du kopplar in inloggningar och gör lättare ändringar i en Function-nodmall (mest copy/paste och fältmappning).
Vill du inte sätta upp det här själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Manuell trigger för att dra igång. Du kör flödet när du är redo att skicka en rapport, vilket är perfekt för veckorapportering eller kundförfrågningar av typen ”skicka nu”.
Tidrapportsrader byggs ihop och rensas. Ett Function-steg skapar exempeldata för tidrapporten, och därefter sorterar flödet fälten så att namn, timmar och anteckningar hamnar på samma ställe varje gång.
Avatarer hämtas och slås ihop med tidrapporten. Flödet plockar ut avataruppsättningen, laddar ner avatarbilder som binärdata via en HTTP-request och slår sedan ihop bildflödet med den strukturerade tidrapportsdatan så att rapporten kan innehålla båda.
En Markdown-rapport genereras, renderas till HTML och mejlas. En annan Function bygger Markdown, Markdown-noden renderar den till HTML, HTML:en konverteras till en binär bilaga och Send Email skickar den till rätt mottagare.
Du kan enkelt ändra rapportens layout och varumärkesprofil för att matcha kundens grafiska riktlinjer utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startar manuellt och bygger en tidsrapport från data i minnet för test och iteration.
- Lägg till noden Manual Start Trigger som startpunkt.
- Koppla Manual Start Trigger till Assemble Timesheet Entries.
Steg 2: bygg datasetet för tidsrapporten
Det här steget skapar grunddatasetet och sorterar det för förutsägbar gruppering i rapporten.
- I Assemble Timesheet Entries behåller ni Function Code som det är för att returnera tidsrapportsraderna.
- I Order Record Fields ställer ni in Operation på
sort. - I Order Record Fields ställer ni in Sort Fields till
UserName,TaskTitleochdate. - Koppla Assemble Timesheet Entries till Order Record Fields.
UserName och TaskTitle är avgörande – utan den kommer grupperingslogiken i markdown-rapporten att blanda uppgifter och användare.Steg 3: extrahera avatarer och slå ihop data (parallella grenar)
Det här arbetsflödet skapar två parallella flöden: ett för avatarer och ett för huvuddatasetet, och slår sedan ihop dem per index.
- I Extract Avatar Set ställer ni in Operation på
removeDuplicates. - I Extract Avatar Set ställer ni in Compare på
selectedFieldsoch behåller baraUserAvatarmed Remove Other Fields aktiverat. - I Download Avatar Binary ställer ni in URL till
={{$json["UserAvatar"]}}och Response Format tillfile. - I Merge Data Streams ställer ni in Mode på
mergeByIndexoch Join påouter. - Order Record Fields skickar utdata parallellt till både Extract Avatar Set och Merge Data Streams.
- Koppla Extract Avatar Set → Download Avatar Binary → Merge Data Streams (Index 1-ingången).
Steg 4: generera markdown och rendera HTML
Det här steget bygger en formaterad markdown-rapport och konverterar den till fullständig HTML.
- I Build Markdown Report behåller ni den angivna Function Code för att bygga rapporten med avatarer och totaler per uppgift.
- Koppla Merge Data Streams till Build Markdown Report.
- I Render HTML Output ställer ni in Mode på
markdownToHtml. - Ställ in Markdown till
={{$json["mdreport"]}}. - Aktivera Complete HTML Document i Render HTML Output så att rapporten kan bifogas som en fristående fil.
-blocket exakt som visat.Steg 5: konvertera till binär och mejla rapporten
Konvertera HTML:en till en binär bilaga och mejla den som en tidsrapport.
- I Convert HTML to Binary ställer ni in Mode på
jsonToBinary. - Ställ in File Name till
report.htmloch MIME Type tilltext/html. - Koppla Render HTML Output till Convert HTML to Binary, och sedan till Dispatch Email Notice.
- I Dispatch Email Notice ställer ni in Subject till
TimeSheet reportoch Attachments tilldata. - Inloggningsuppgifter krävs: anslut era smtp-inloggningsuppgifter i Dispatch Email Notice.
- Aktivera Dispatch Email Notice om den är inaktiverad.
useRawData och att Attachments är satt till data.Testa och aktivera ert arbetsflöde
Validera rapportens utdata och bekräfta e-postleveransen innan ni går till produktion.
- Klicka på Execute Workflow från Manual Start Trigger för att köra ett fullständigt test.
- Bekräfta att Render HTML Output skapar ett komplett HTML-dokument och att Convert HTML to Binary ger en
report.html-bilaga. - Verifiera att Dispatch Email Notice skickar ett mejl med den bifogade rapporten.
- När allt är validerat, aktivera Dispatch Email Notice och spara arbetsflödet för löpande användning.
Vanliga fallgropar
- Send Email-inloggningar kan gå ut eller kräva specifika SMTP-behörigheter. Om något slutar fungera: kontrollera först inställningarna för credentials i n8n och din mailleverantörs SMTP-åtkomst.
- HTTP Request-nedladdningar av avatarer misslyckas oftare än man tror på grund av privata URL:er eller hotlink-skydd. Öppna avatar-URL:en i ett inkognitofönster för att bekräfta att den faktiskt är åtkomlig.
- Markdown-mallar som byggs i Function är bara ”ställ in och glöm” om du tidigt lägger in ditt varumärkesspråk och rubriker. Annars kommer du fortsätta finjustera outputen varje vecka.
Vanliga frågor
Cirka 30 minuter om din e-post och dina avatar-URL:er är klara.
Nej. Du justerar en mall och mappar några fält. n8n sköter resten.
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 grundläggande kostnader för e-posttjänst (oftast inkluderat) och eventuell valfri AI-användning om du bygger ut flödet.
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 klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en av de bästa användningarna av den här setupen. Uppdatera innehållet i Function-noden ”Build Markdown Report” för att sammanfatta per person eller per projekt, och behåll sedan samma steg ”Render HTML Output” för formatering. Många team byter också ut avatar-sektionen mot ett ”höjdpunkter”-block, lägger till en kort ansvarsfriskrivning och justerar ämnesraden i mejlet i ”Dispatch Email Notice”.
Oftast handlar det om SMTP-inloggningar eller behörigheter. Skapa om eller kontrollera användarnamn/lösenord (eller app-lösenord) i din n8n-credential och bekräfta sedan att din leverantör tillåter SMTP-åtkomst för den inkorgen. Om det bara misslyckas ibland kan du också slå i sändningsgränser, särskilt för delade inkorgar.
Väldigt många.
Ofta, ja, eftersom det här flödet gör riktig dokumentgenerering, inte bara flyttar fält mellan appar. n8n gör det enklare att bygga Markdown på ett kontrollerat sätt, slå ihop binärdata (som avatarbilder) och skapa en korrekt bilaga utan märkliga workarounds. Zapier och Make kan göra delar av detta, men bilagegenerering och HTML-hantering blir ofta klumpig snabbt. Om du bara skickar ett enkelt sammanfattningsmejl med ett par fält kan de verktygen vara helt okej. Prata med en automationsspecialist om du är osäker på vad som passar.
När du väl har skickat en felfri, varumärkesanpassad tidrapport utan att röra formateringen är det svårt att gå tillbaka. Sätt upp det en gång, återanvänd det varje vecka och låt kundleveransen kännas lugn istället för stressig.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.