Triaging incoming mail
A message arrives, the automation works out what it is about, pulls the order number and opens the case where it belongs. The person who picks it up gets it already labeled, together with what could be established from it.
Maciej Nuzia · Automation
That task might be triaging an inbox, retyping data from an attachment or preparing a summary. I break it into steps and automate the ones governed by clear rules. I use a model only when the content of a message or document has to be understood. Exceptions still go to a person.
The estimate needs one thing: the task written out step by step.
The problem
Requests and orders arrive by email, as attachments and through a form. Somebody reads them, works out what they are about, retypes them into the system and writes back. They do it fast, because they have done it for years. When they go on holiday, the queue waits for them.
Who it's for
Take one task and explain it to somebody who joined the company on Monday. If it ends the same way every time, you have your candidate. The spots where you say "it depends" are the list of exceptions to write down.
Examples
A message arrives, the automation works out what it is about, pulls the order number and opens the case where it belongs. The person who picks it up gets it already labeled, together with what could be established from it.
Invoices, delivery notes, confirmations. The automation takes out of them whatever has to travel on, and closes a step somebody clicks through by hand today. The reading itself, together with the places where it comes apart, is on the page about AI document automation.
An order placed in the shop lands in the warehouse, the status goes back to the customer, and accounting gets the document.
For a question that keeps coming back, the automation puts an answer together and leaves it as a draft. A person presses send, fixing what they see fit on the way.
The figures come in from several places, and at the agreed hour they sit in the inbox or on the team channel. Nobody has to remember that today is Monday.
Notes and statuses inside the CRM are written up at another address: ChatGPT CRM integration. There the automation works inside one system, here it carries a case between several.
Going live
Anything that answers customers from day one makes its mistakes in front of everybody.
01
I ask them to walk through one request the way they normally would, clicks and all, with the second window open beside it. I note every place where they stop and think, since those pauses hide the decision I will have to describe.
02
Every step gets a condition: what should happen, and how an exception is recognized. A few steps turn out not to need to happen at all. Those I strike out before anything is written.
03
Before the automation sends anything, I collect what it proposes and take it back to the person who does this job today. Wherever the two come apart, that is the material for fixing the rules.
04
It gets the right to act on that task and on nothing else. Anything meant to reach a customer waits for approval a while longer, because real cases bring up situations nobody mentioned during the write-up. I take the next task once the first one runs without being watched.
Technologies
Some systems have an API and then the work is short. The rest you reach through a file export, a mailbox, or a database that has to be touched carefully, with something else reading from it too.
Limits
Two people run it differently, and each of them has good reasons. One of those versions ends up inside the automation, and from that moment it governs the whole queue, until somebody catches it. So the case needs one description, agreed with everybody who works on it. That is what discovery is for.
To the automation an unusual case looks like any other, and it travels the same path to a finished decision. So there is a no-go list written up front: cases flagged as disputed, customers on individual terms, documents in an unmapped layout.
The mailbox stops accepting the old login, a new API version goes live on the other side. Then the automation stops, or worse, carries on with half the data. An automation whose failure nobody notices quietly falls out of use. So I ask who on your side should hear about it.
FAQ
Most often triaging incoming mail, passing orders between systems, draft replies and summaries at a set hour. I add a model in the steps where the content of a message or a document has to be understood. Where a condition written in code does the job, a model would only add to the bill. Reading documents and CRM entries have pages of their own on this site, because each of them starts somewhere else.
The starting point is whatever already runs in your company: the mailbox, the spreadsheet, the CRM, the warehouse system, and anything any of them exposes through an API. A new application is needed when the task cannot be finished in any of the existing tools.
It depends on how many systems are involved, and whether any of them lets a program in through an API. Where there is no API, the way in is a file export or a mailbox. I give a date once I have seen those connections, and then it is backed by something I have looked at.
What goes to the model is the fragment needed to recognize the case: the text of a message, the contents of a document. Moving data around and writing it into the system stays with ordinary code. Where that code runs, and what leaves your network along the way, depends on which tools the automation runs on. With data that cannot go outside at all, that choice is the first one to make.
The number of places the automation reaches into, the state the data is in on the way through, and the number of exceptions that need handling of their own. Every exception means another rule to write and then check. The bill from the model provider stands apart from that, charged by use.
Numbers
The estimation tool breaks the task you describe into modules and puts an effort figure against each. The one with the longest queue behind it will tell you the most. Anything it misses you can add by email or on a call.