Copilot Agents · 8 min read
One Letter, Two Minutes: Inside a Post Room Agent
By James Wilkinson 12 September 2026
A VAT penalty notice arrives at 09:02. By 09:04 it is filed, logged and visible in Teams. What happened in between, and what pipeline, agent and flow mean.
TL;DR
- A production agent is a sequence of small, checkable steps with a person at the end. Scan lands, pages are read and split, the letter is matched to a live client record, a confidence check decides whether to file or ask, the document is filed, the register is written, Teams is told. About two minutes.
- The design decision the whole thing turns on is the confidence check. A VAT penalty notice goes to a person even when the match is confident, because the cost of misfiling it is a missed statutory deadline with a client's name on it.
- The review queue is what earned the team's trust: a short list of letters that need judgement, each with what the system thought and why it stopped. Uncertainty is treated as normal, not as failure.
- The architecture words map onto what you just watched. The pipeline is the whole sequence. The agent is the part that reasons. Flows are the parts that file, write and post. Agents talk and flows do.
- Build band £10,000 to £15,000 for this shape. Running cost £10 to £200 a month in Azure consumption, not Copilot Credits in the main, because it is a pipeline.
The post room case study tells the story from the firm’s side: a daily stack of scanned post, more than 1,500 live clients, a person who used to sort all of it, and an agent that now files the routine letters in about two minutes while people handle the exceptions. Read that first. This post assumes you have, and opens the box.
We are going to follow one letter, a VAT penalty notice, because it is the one with a deadline. Timings are illustrative. The case study’s two minutes end to end is the constraint the walk stays inside.
One letter, minute by minute
09:02. The scan lands. The office scanner drops the morning’s post into one monitored place, a document library or a mailbox. Nothing happens until it does. There is no person polling a folder and no schedule to wait for. The arrival of the file is the trigger.
09:02. Read and split. Azure AI Document Intelligence reads the scan. It is Microsoft’s document reading service, priced per page, and it does two things here. If the scan is a bundle of several letters, it splits them into individual documents. For each document it extracts the text and the structure, so the next stage has something to reason about rather than a picture. Our penalty notice comes out as one document with HMRC’s letterhead, a reference number, a company name and a date by which something must happen. The per-page rates are in what a first agent costs in year one.
09:03. Client matching. The letter names a company. The agent matches that name against the live client list drawn from the firm’s CRM, more than 1,500 records, so the match runs on current data rather than a spreadsheet someone exported in March. This is the step that most often fails in do-it-yourself builds, for two reasons. The client list has to be live, because clients join, leave and change names. And the matching has to cope with trading names, group companies and the sender’s misspellings, because HMRC’s version of a client’s name is not always the firm’s. A match that runs on a static list works on day one and drifts from day two.
09:03. The confidence check. This is the design decision the whole thing turns on. The agent has a match and a document type. If the match is confident and the document is routine, it proceeds. If the letter names several group companies, or the sender cannot be identified, or the document is a penalty notice, it stops and routes to the human review queue instead.
Our letter stops here, even though the match was confident. A VAT penalty notice goes to a person because the cost of misfiling it is not an admin slip. It is a missed statutory deadline with a client’s name on it. The design treats that uncertainty as normal rather than as failure: the rule is that when the system is unsure, or when being wrong would be expensive, it asks. The case study’s line for this is that exceptions are the design, not the failure mode.
For a routine letter, a bank statement say, the next three stages run without anyone involved.
09:04. Filing. The matched document is filed into the document management system under the client code. A fallback copy is saved to SharePoint at the same time, so if the call to the document management system fails nothing is lost and nothing is silently dropped.
09:04. The audit register. An entry is written recording what arrived, what the system decided, how confident it was and where the document went. This is a first-class feature, not a log file someone might find later. The firm can answer “what happened to the letter from HMRC on the 12th” from the register, without opening the scanner folder or asking whoever was on post that day.
09:04. Notification. A post to a Teams channel. The team sees the day’s post, filed and attributed, without going anywhere. Done.
In one line, the shape is: scan lands, read and split, match, confidence gate, file or review queue, register, Teams.
The review queue, from the reviewer’s side
Back to our penalty notice. It is now sitting in the review queue, and the queue is where this build earned the team’s trust, so it is worth describing from the chair of the person who opens it.
It is short. On most days it is a handful of items out of the morning’s stack. Each item shows the document, what the system thought it was and who it thought it belonged to, and why it stopped: penalty notice, or two group companies named, or sender unknown. The reviewer confirms or corrects the client, decides what happens next, and the document is filed and registered with their decision attached.
What changed for that person is the job. They used to sort the whole stack. Now they review the short list that needs judgement, with everything else already filed and logged behind them. The system does not pretend to know things it does not know, and that is the property people learn to rely on.
The words, defined against what you just watched
The vocabulary around agents gets used loosely. Here is what each word means, pointed at the walkthrough.
Pipeline. The whole sequence from scan to Teams post. Most of it is services and flows, not conversation. Nobody talks to a pipeline. It runs because a file arrived.
Agent. The parts that reason: reading the letter and deciding what it is, identifying sender and subject, judging whether the client match is confident enough to file. The rule we build to is that agents talk and flows do. A Copilot agent in the plain-English sense is Copilot given one job, and this job is the understanding, not the filing.
Child agent and connected agent. When the reasoning is split into specialists, one that classifies the letter, one that matches it to a client, one that decides whether to escalate, coordinated by a parent agent, that is multi-agent orchestration. Copilot Studio’s names for the pieces are child agents and connected agents. The production build in the case study uses the same ideas, and our demonstration Mailroom Pack shows the pattern explicitly.
Flow. The deterministic bits: file this document here, write this row to the register, post this message to this channel. Same input, same output, every time. These are Power Automate territory, and our Copilot Studio vs Power Automate post is the long version of the line between them.
Harness. The reasoning parts run on a harness, the machinery around the model that decides how it plans, calls tools and checks its work. The choice of harness affects what the reasoning costs to run, and our guide to which harness an agent belongs on sets out how to decide. The demonstration runs on both so a firm can see the difference side by side.
What made it safe to switch on
From the builder’s side, three things were settled before the first client document went through.
Data residency was assessed and compliance signed off the design first. Client correspondence is exactly the kind of data a regulated firm has to be able to account for, and the assessment took longer than the build of the stages above. It was not optional and it was not done last. Where your data goes covers the general position for agents running inside a firm’s own Microsoft 365 tenant.
The audit register was designed in from the start. A regulated firm has to be able to show what happened to a piece of correspondence and who, or what, handled it. Building that as the last feature would have meant retrofitting it across every stage. Building it first meant every stage wrote to it.
The review queue was the deliberate answer to “what if it is wrong”. It was not a fallback added when the first misfile happened. It was the specification for how the system behaves when it is unsure, written before anyone had to trust it.
What it costs to run
The build band for this shape is £10,000 to £15,000, fixed at Design. Three things move it within the band: how many systems the pipeline touches, the state of the client data it matches against and how many exception types the review queue has to handle.
The running cost is £10 to £200 a month in Azure consumption, depending on page volume. Document Intelligence is priced per page, from $1.50 per 1,000 pages for OCR at September 2026 list. The Azure OpenAI step is billed per token per document. Functions and Storage are pennies. This is not Copilot Credits in the main, because it is a pipeline rather than a conversation. If a conversational agent is put on the front so someone can ask “did anything come in for this client today”, that part follows the credit rules in our three numbers to check before an agent goes live. The full year-one picture for a pipeline like this sits in what a first agent costs a 30-person firm, and post is the first of five admin jobs an agent can take off a practice.
See it running
If the walkthrough above is the kind of thing you would rather watch than read, we can show it. The Mailroom Pack is a demonstration of the same pattern, triggered by an email landing in a demo mailbox and running on both the classic and GitHub Copilot harnesses so the cost difference is visible. It is a demonstration, not the production system in the case study, but the stages are the same. Book a free consultation and ask to see it, and bring the letter type your own firm worries about most.
Sources checked
Last checked: 12 September 2026. Microsoft prices are US dollar list at September 2026 and subject to change.
Related reading
More on Copilot Agents
Common questions