Applied AI

We build AI that does the paperwork — and knows when to ask a person.

GlassCo Metro makes and fits windows, glass and shower screens across Western Australia. Every day, builders and suppliers sent them a pile of emails and delivery notes that someone had to read and type into the computer by hand. We built two AI helpers that read all of it, do the typing, and pass anything tricky to a person. They work on their own, around the clock, without anyone having to start them.

Built with
Azure FunctionsAzure OpenAIAzure Document IntelligenceMicrosoft GraphSimpro
Running in the real world · Checked by people · Built to stay safe
The job that used to be done by hand.

Both of these turn up as ordinary emails and PDF files — written for people to read, not for computers. That is what makes them hard. A normal computer program needs information to be in exactly the same place every time, so it breaks the moment a supplier moves a column or a builder changes their wording. A person can just read it and understand. That is the gap we needed to close.

Emails from builders

When a house is ready for its windows, the builder emails GlassCo to say “come and do this part now”. Someone had to read each email, find the right job on the computer, check the job was actually up to that stage, and then set up a to-do list for the right people. Every builder writes their email a little differently.

Delivery notes from suppliers

Every delivery arrives with a note listing what is in the load. Someone had to open each one, read every line, compare it against what was ordered, spot anything missing or short, and tick it all off on the computer. Every supplier lays their note out differently, and some run over several pages.

None of it is difficult work. It is just endless, and it has to be right — a mistyped line means a crew turns up to a house that is not ready, or the stock on the computer no longer matches what is really in the warehouse.

Two helpers, each with one job.

Neither of these is a chatbot you talk to. Nobody types anything into them. Each one wakes up on its own, picks up whatever has arrived, and works out whether it understands it well enough to act. If it does, it finishes the job. If it does not, it stops and tells a person why.

The builder-email helper

Wakes up every hour and checks its own mailbox for new emails from builders.

  1. 01Reads the email and works out whether it really is a builder asking for work — and says how sure it is.
  2. 02Picks out the details that matter: which job, which site supervisor, what needs doing, and when.
  3. 03Checks those details against the real job on the computer. Does the job exist? Is it up to that stage? Is it the right kind of work?
  4. 04Sets up the whole list of tasks the job needs, and gives each task to the right person.
  5. 05Finds the latest building plans and attaches them to the job, so nobody is working from an old version.
  6. 06If the supervisor named in the email does not match the one on file, it looks up the right person and fixes it.
  7. 07Emails the staff to say what it did — and sends a daily summary of everything it handled.

It handles six different kinds of request, from window frames to shower screens. Each one has its own rules, and it knows which rules apply.

Azure OpenAIMicrosoft GraphSimpro

The delivery-note helper

Wakes up every hour and checks its own mailbox for delivery notes from suppliers.

  1. 01Opens each PDF and reads the words off the page — much like a person reading a photo of a receipt.
  2. 02Works out which product each line actually refers to, even when the supplier has shortened the name or written it their own way.
  3. 03Compares what turned up against what was ordered, and notices anything missing, short, or still on its way.
  4. 04Marks the delivery as received on the computer and updates how much stock is on hand.
  5. 05If anything does not add up, it stops and asks a person instead of guessing.
  6. 06Emails the staff to say what it did with every note it opened.

It copes with several different suppliers, each with their own layout, including notes that run over several pages.

Azure Document IntelligenceAzure OpenAISimpro
How it actually works, step by step.

Both helpers follow the same seven steps. The important idea is that the AI is only used for the one thing it is genuinely good at — reading writing that does not follow a fixed pattern. Every decision that has to be correct every single time is handled by plain, fixed rules instead. The AI reads. The rules decide.

  1. 01

    It wakes itself up

    Nobody presses start. A clock inside the system switches the helper on every hour. It signs in to its own mailbox, exactly like a staff member would, and picks up whatever has arrived.

  2. 02

    It reads the page

    Delivery notes arrive as PDFs, which are really just pictures of a page. Special software reads the words and the table lines off that picture, so the helper knows what the columns and rows say. Builder emails are read straight from the email itself.

  3. 03

    It works out what it is looking at

    The AI decides what kind of document this is — and, importantly, gives a score for how sure it is. A wrong guess here would send everything downstream wrong, so this step exists to catch it early.

  4. 04

    It picks out the details

    The AI pulls out the specific facts the job needs: the job number, the date, the person, the products, the quantities. It also scores how sure it is about each one, so a shaky reading can be spotted rather than quietly trusted.

  5. 05

    It checks its own work

    This is the part that is not AI at all. Ordinary, fixed rules take over and check everything against the real records: does this job exist, is it at the right stage, do the delivered amounts match the order? Rules like these always behave the same way, so the answer is never a matter of opinion.

  6. 06

    Only then does it change anything

    Nothing gets written down until every check has passed. Then the helper sets up the tasks, attaches the plans, marks the delivery as received and updates the stock — the typing a person used to do.

  7. 07

    It says what it did

    Every document produces an email: done, could not do it, or needs a person. At the end of each round it sends a summary listing everything it touched, so staff can see its work without digging through anything technical.

The pieces we used, and what each one is for

Azure Functions
Microsoft’s cloud. Runs the helpers on a timer, so no computer in the office has to stay switched on.
Azure OpenAI
The AI that reads and understands the wording. We use a small, fast, low-cost model called GPT-4o-mini.
Azure Document Intelligence
Reads words and tables off a scanned page or PDF, so a picture of a page becomes text.
Microsoft Graph
The official way to read a Microsoft 365 mailbox, so the helper can collect its own email safely.
Simpro
The system GlassCo already runs the business on — jobs, deliveries, stock. This is where the answers get written.
Vitest
Automated tests. They re-check all the rules every time we change the code, so a fix cannot quietly break something else.
Knowing where to stop is the hard part.

Software that changes real business records while nobody is watching has to be trustworthy in a way a demo never does. Getting the AI to read a document is the easy bit. The real work is everything built around it to keep it inside its lane. These are the safeguards that make it sensible to leave running.

It has to say how sure it is

Every time the AI reads something, it also gives a score for how confident it is. If that score is too low, the work stops there and a person is asked to look. The AI does not get to decide whether it is sure enough — that line is drawn in the code, and the AI cannot move it.

Asking for help is a normal outcome, not a breakdown

When something does not add up — a short delivery, a name that does not match, a document it cannot make sense of — the helper sends an email saying exactly what is wrong and what a person needs to do. Stopping and asking counts as doing its job properly.

Some work is left to people on purpose

One kind of request is never handled automatically, even though it could be. Fitting shower screens has to be booked around other trades on site, and that takes human judgement about things the computer cannot see. So the helper flags those and steps back. We chose what should be automatic, not just what could be.

The AI reads. It does not decide

The AI never decides whether a job can go ahead, what tasks to create, or whether a delivery is correct. Those decisions are made by ordinary fixed rules that behave the same way every time and can be read and checked by a person. The AI only turns messy writing into tidy facts.

Things going wrong is planned for

If another system is busy or offline, the helper waits a moment and tries again, a few times, before giving up. If it does give up, it stops that one document and tells someone. What it will never do is write half an answer and leave the records in a muddle.

The rules are tested automatically

There is a second set of code whose only job is to check the first. Every time we change anything, it re-runs the tricky cases — short deliveries, odd product names, missing details — and tells us immediately if something that used to work has stopped working.

Staff can always see what it did

At the end of every round, the helper sends a plain summary: here is each thing I looked at, here is what I did with it, here is what I passed to you and why. Nobody needs to be technical to check up on it.

It can only reach what it needs

The helper is given the keys to one mailbox and nothing else. It cannot read anyone’s personal email or wander into other parts of the business. Each connection it has is limited to just the part it actually needs to do its job.

None of this is really about glass.

GlassCo Metro makes windows, but nothing we built is specific to windows. Underneath, the skill is taking a steady stream of paperwork that nobody has time to read and turning it into correct entries in the system a business depends on — while being clear about what software is allowed to decide on its own. That same skill applies anywhere the admin is real and the paperwork is messy.

  • Reading the paperwork that arrives in whatever shape the sender chose — orders, delivery notes, forms, invoices, reports.
  • Not just reading it, but actually filling it in: writing the answers into the system a business already runs on.
  • Deciding where the automation should stop, and building that line in so it holds — including work we deliberately leave to people.
  • Running quietly in Microsoft’s Australian cloud, inside the business’s own account and its own security rules.
  • Handing over something that can be looked after: tested code, rules written down in plain English, and staff who can see what the software did.

We build these the way any serious software gets built: written carefully, tested automatically, released properly, and explained well enough that the people relying on it understand its rules. That is the difference between trying AI out and actually being able to depend on it.

Is your team buried in paperwork?

If people are spending their day reading emails or forms and typing the same details into another system, there is usually a helper worth building. Let's talk about what should be automatic — and what should stay with your people.

Get in touch
Want to see how you can upgrade your IT and be even more productive?