WhatsApp

Email checker: how AI cleaned up an inbox of 300 emails a day

A refrigeration service company, 300 emails a day to the office inbox, one person and two hours of sorting. Now the inbox labels itself, urgent matters go to WhatsApp and invoices stopped going missing. Including what didn't work the first time.

Cover: An inbox of 300 emails that sorts itself

A refrigeration equipment service company in Lower Silesia, 18 people, six crews in the field. The biuro@ inbox (the office address) gets around 300 emails a day: parts orders, questions about dates, invoices from suppliers, complaints, newsletters, spam. Kasia went through it, morning and afternoon, and just the "what is this and who should get it" part took her two hours a day. Supplier invoices went missing about twice a month, usually the ones pasted into the email body as an image.

THE INBOX AT 7:30, BEFORE ANYONE HAS OPENED ITbiuro@7 newChłodnie NowakHolding PLN 18,400 payment until unit is fixed · task: call back todayCOMPLAINTURGENTHurtownia FrostInvoice FV/2026/09/1183, PLN 7,240, due in 14 days · to accountant + OCRINVOICEPiekarnia Złoty Kłos2 x PF-20 filter, customer pickup · ZK created in ERPORDERMarta KowalAsks to move the service visit to Thursday · reply draft readyQUESTIONKlima-MaxQuote for 4 split AC units, 120 m² office · for sales repENQUIRYJan WiśniewskiRe: installation date, confirms Tuesday 10:00 · added to calendarTHREADpromo@safety-courses…30% off training courses · moved to spamSPAM
The inbox at 7:30, before Kasia opens it. Every email has a label, a one-line summary and a clear next step.

What the automation does with every email

It recognises the type: order, question, invoice, complaint, quote request, spam or other. It rates the urgency; words like "today", "breakdown" or "withholding payment" push the priority up, but it also matters who's writing and what the previous email in the thread was about. From the content it makes a task: "can I move the service visit to Thursday?" becomes "Call back Kowal: service visit on Thursday", assigned to the dispatcher. Finally it routes the email on. Orders go to the ERP (a separate automation), invoices to the accountant's folder and to OCR, typical questions get a draft reply, spam disappears, and urgent matters land on the owner's WhatsApp within a minute.

WHAT HAPPENS TO EVERY EMAILNew emailor a reply in an old threadAI reads whole threadnot just the last messageType · urgency · taskone-line summary, who should handle itERPorders → ZKAccounts + OCRinvoices, even as imagesReply draftquestions, one click to sendOwner's WhatsAppurgent, within a minuteBinspam, newsletters
One email, five possible directions. The automation sends nothing to customers on its own.

The day after going live

In the morning the inbox is tidy. Kasia hits "send" on the ready drafts or fixes a couple of words, looks through whatever landed in "other", and after a quarter of an hour she has an empty inbox. The rest of the day goes on things that used to pile up: ordering parts, booking service visits, calling the customer after a repair to ask if everything's working.

Uwaga: The AI sends nothing to customers by itself. At this company every reply goes through a human. After a month the owner relaxed that for questions about opening hours and job status, because the drafts had been correct 100 times in a row. That's his call; I would have waited a bit longer.

What didn't work the first time

"Other" was at 20%

For the first week every fifth email landed in "other", because I had written the category descriptions off the top of my head: "an invoice is a financial document from a supplier". The model had no way of knowing that at this company a "September settlement" from a haulage firm is also an invoice, while a "proforma" from a wholesaler is an order to be paid, which is something different from a cost invoice. We added 40 real emails from this inbox to the instructions, each with a comment from Kasia. "Other" dropped to 4%. No change of model, no fine-tuning, just better examples.

“OTHER” SHARE IN CLASSIFICATIONWeek 1: category descriptions I guessedOrders28%Queries19%Invoices16%Spam17%Other20%Week 2: after adding 40 real emailsOrders33%Queries24%Invoices19%Spam20%Other4%Same model. Only the instructions changed: 40 real examples instead of “an invoice is a financial document”.
Same model, different instructions. The difference between a description from memory and 40 real examples.

Invoices as images

Some suppliers paste the invoice into the email body as an image, with no attachment. The automation saw an empty email with a single picture and dropped it into "other". We added OCR for images in the body. Not a single invoice has gone missing since, which the accountant checks every month, because at first she didn't believe me.

Threads

A reply in an old thread (the customer writes "ok, Thursday then" under an email from a week ago) was treated as a new topic with no context. Now the automation reads the whole thread rather than just the latest message. It costs a little more, because more text goes to the model, but errors in threads dropped to zero.

Urgent that wasn't urgent

One customer writes "URGENT!!!" in the subject of every email, including the one about last month's invoice. For two days the owner was getting alerts from him. We added a rule: urgency is judged on the content, and for this one customer the bar is higher. A crude, hand-written rule, and it works.

URGENT MATTERS LAND ON THE OWNER'S WHATSAPPTuesday, 8:12Checker · biuro@URGENT. Chłodnie Nowak is holding PLN 18,400until the unit is fixed. Service was Friday (Bartek).Task: call back today. Email #4821, thread from 12 Sep.8:12Calling now. Tell Bartek he's going there at 11.8:15Checker · biuro@Done. Bartek has a calendar entry for 11:00,Nowak got an email that we're coming today.I'll remind you at 16:00 if it's not closed out.8:15
The owner's alert: a summary, a task, the thread number and what the automation did next.

Tools

n8n on the client's server, a language model through an API (no attachments sent beyond what needs reading), a Microsoft 365 mailbox, WhatsApp Business for notifications. The staff got no new application; everything happens in Outlook, which they have open anyway.

ONE MONTH IN15 mina day on the inboxwas: about 2 h100%of urgent ones caught4 weeks of checking0lost invoiceswas: 1–2 a month5 daysto deliverplus 2 weeks of fixes
After a month. The build took five days, the fixes from this post another two weeks.

Efekt: From two hours to 15 minutes a day on the inbox. Urgent matters caught 100% of the time over four weeks of checking (Kasia verified by hand). Zero lost invoices. Kasia wasn't let go, which a few people asked about under my LinkedIn post; she now orders the parts the owner used to key in during the evenings.

Got a similar process? Let's talk, I will work out how much of it the robots can take.

Tomasz Stachowiak

I automate boring work in companies: I connect systems, add AI and build tools that give people their hours back. I write about what really works for clients.

30 processes you can automate in a week

Free PDF: concrete processes from six areas of a company, with the time to build and the effect.

Send me the PDF

Got a process that drives you mad?

Write two sentences about what eats the most time. I will reply with what can be automated and where to start.

Let's talk

New posts by email, once a week

One email with what I wrote this week. No "special offers", with an unsubscribe link in every message.