// build
AI Automations That Retire Your Team's Repetitive Work
Work of this kind never appears as a line in a budget. It is paid in minutes. A few to copy fields out of an email into a spreadsheet, a few more to re-key an invoice that arrived as a PDF. A morning spent reading fifty tickets to find the four that matter. None of it is difficult, none of it is interesting, and added up it is a day a week per person. Then it is paid again next week, at the same rate, by whoever is nearest. That is where the hours are, and removing them is what this service is for.
The boundary matters, because we sell three things with AI in the name. This page is internal operations: workflows your own staff run behind your login. Putting a model inside the product your customers use is AI integration, which is a separate page and a separate engagement. Systems that plan and act across many steps on their own belong to agentic integrations.
Governance is not the reason for that split. Anything that touches your business data gets approval gates, logging and evaluation, and you will find all three in the list of deliverables below. The shape of the control follows the shape of the system. A fixed workflow can only ever take the actions we wrote down for it. The list of things that need a gate is short and finite, and we can enumerate it in scoping. A system that picks its own next step cannot be enumerated that way. The permission scoping, dry-run and blast-radius work that stands in for the missing list is most of the cost of that engagement. If your question is about something a customer will touch, you are on the wrong page. We would like to send you to the right one.
What we actually automate
The candidates repeat, whatever the industry:
- Intake and routing. Something arrives by email, form or upload, and a person reads it to decide where it goes.
- Extraction. Structured data trapped in an unstructured document: invoices, purchase orders, CVs, contracts, statements.
- Reconciliation. Two systems that should agree and do not, checked by hand every week.
- First drafts. A reply, a summary, a report section that a person edits and approves instead of writing from nothing.
- Watching a queue. Monitoring a backlog for the cases that need a human, so nobody has to scroll through the rest.
None of that is impressive in a demo. All of it is time your team is spending right now.
Why the model is the small part
The language model is the small part of the build. The rest is the part nobody puts in a case study. Getting data out of a system that has no clean way to give it to you. Handling the run that fails halfway, and making sure a retry does not send the same email twice. Logging what happened in a form somebody can audit later, and building the screen where a person approves or rejects the output.
Teams that skip that half get a prototype that works in a meeting and a queue of silent failures a month later. We build the boring half first, because the boring half is what decides whether the thing is still running next quarter.
How we decide what is worth automating
We measure the work before we quote it. Runs per month, minutes per run, taken from real records and not from somebody’s estimate. Two things fall out of that. Some workflows are far more expensive than anyone realised, because the cost was spread thinly across several people. Others run a handful of times a month and are not worth the engineering. We say so instead of building them.
The number we report afterwards is built the same way. Measured minutes per run, multiplied by runs actually executed, against the baseline we recorded first. It is checkable, which is the only kind of number worth reporting.
Where a person stays in the loop, permanently
Not every step should be automated to completion. We split actions by how expensive they are to reverse. Reclassifying a ticket is cheap to undo, so it runs unattended. Issuing a refund, sending an external email, or writing to a system of record is not. Those go to an approval queue with the model’s output, its confidence, and the evidence it used.
Over time the thresholds move and more runs go through unattended, but that has to be earned with a measured error rate. Nobody assumes it on day one.
What keeps this cheap is that the list is closed. The workflow can take four or six or nine actions and no others. The list is written at build time and does not change while it runs. So classifying it takes an afternoon, and the review screen only ever has to render those cases.
Where we say no
A model does not go in a slot where a rule works. If your routing logic is twelve conditions, it should be twelve conditions in code: deterministic, instant, free to run and testable in CI.
Automating a broken process is worse than leaving it alone. Automation makes a bad process fast, not good, and speeding up a workflow that produces the wrong answer just produces wrong answers sooner. If the process needs fixing first, that is the recommendation you will get, and it arrives before anyone talks about a build.
Nothing here should be maintainable only by us. The code lives in your repository, runs in your infrastructure, and comes with the runbook. If you end the engagement, the automation keeps working.
The hours-saved figure comes after the measurement, never before it. Ask in the first meeting and what comes back is the method. Which records we would pull, what counts as a run, where the baseline comes from. At that point nobody has watched the work it replaces. Open the records to us and the figure stops being a promise and starts being an output.
What you get
- An inventory of candidate workflows with the measured time each one consumes per month, including the ones we advise you not to automate
- The automation itself, deployed in your infrastructure, in a repository your team owns and can read
- Every action the workflow can take, listed and fixed at build time, with a human approval queue before each one that is expensive to reverse
- Per-run logging of input, output, cost and outcome, so the hours-removed number can be audited instead of asserted
- Evaluation cases built from your own historical records, so a prompt, model or vendor change can be tested before it ships
- A runbook covering the failure modes: what breaks, how it alerts, and how to run the workflow by hand while it is down
How it runs
- 01
Measure the work before automating any of it
We count real runs and real minutes per run from your records, not from an estimate in a meeting. Without that baseline, hours removed is a marketing number, and some workflows turn out not to be worth building.
- 02
Try to rule the model out
If a lookup, a rule or a SQL query solves the task, we ship that instead. Deterministic code is cheaper to run, faster, and testable, and a model placed in that slot only adds a failure mode nobody can reproduce.
- 03
Build the unglamorous half
Queues, retries, idempotency, rate limits, audit logging and the approval screen. This is where automations die in production, and it is where most of the engineering time on this kind of work goes.
- 04
Run it beside your people before running it instead of them
The workflow runs in shadow mode on live work and its output is compared against what the person actually did. That is how the error rate becomes known before anyone is asked to trust it.
- 05
Hand it over with the failure modes written down
Your team gets the repository, the runbook and a walkthrough. An automation nobody in the building can debug becomes a liability the first morning it breaks.
Questions we get asked
- How is this different from your other two AI pages?
- This page covers workflows your own staff run internally, behind your login. Putting a model inside the product your customers use is AI integration. Systems that choose their own next step are agentic integrations. Controls exist in both cases. What changes is how many of them the design needs. A workflow's actions are listed in advance, so its controls are a matching list. An agent's actions cannot be listed, so the controls have to bound what it might do instead. Different users, different risk, different measurement. You can buy one without the other two.
- Could we not build this ourselves with Zapier or n8n?
- Often yes, and if that is true for your workflow we will tell you and leave. Those tools are genuinely good, up to a point. That point is retries that do not double-charge a customer, an audit trail someone can defend, or a change reviewed before it reaches production. That is the point where a no-code workflow stops being cheaper than owning code.
- What happens when the model gets one wrong?
- It will. We design for it. A confidence threshold routes uncertain cases to a person, and a human approval step sits in front of anything hard to reverse. Every run is recorded, so a bad output can be found, explained and corrected. Any workflow where a silent error is unacceptable keeps a person in it permanently. That is the design, not a concession.
- Is this going to cut headcount?
- We report hours removed per month. What you do with those hours is a decision we are not part of and will not pretend to model for you. Most of what is worth automating here is work nobody wanted to do in the first place. Capacity is the usual reason to buy it. We are not going to promise you a saving in salaries.
- What does it cost to run once it is live?
- Model and API calls are metered per run and logged, so you can see the cost of every execution next to the time it saved. We use the smallest model that passes the evaluation set, never the newest one. Several steps in a typical workflow have no model in them at all.
- What if the system we need to automate has no API?
- Then we say so before you spend anything. Driving a user interface with a script is possible, and sometimes it is the only option. It is also fragile, it breaks on a vendor's redesign with no warning, and it needs an owner. We will quote it as the maintenance commitment it is. It is not a finished product.