Shared-Mailbox Auto-Filing — One Standing Rule Builds Per-Client Email Archives
The mail was all there. Nobody could use it, because using it meant filing it — one message at a time, forever.
What was getting in the way.
A shared mailbox receives client correspondence through per-client group addresses, but every message lands in one undifferentiated pile. The safe default — quarantine everything until a human labels it — means in practice nothing gets filed: hundreds of messages sit unrouted, and the team can't answer "what's the history with this client?" without a manual search each time. Per-message human labeling is the kind of chore that never gets done, so the archive everyone wants never exists.
Context
Universal — the pattern applies to any shared inbox with a naming convention: client mail, vendor invoices, support addresses, per-project aliases.
How the work runs.
- 01
Get the rule in one sentence, not a mapping table
The operator's instruction is the nomenclature itself — client mail arrives on addresses that follow a known naming pattern tied to the client registry. Nobody enumerates clients or builds a routing table by hand.
- 02
Resolve each message from evidence, not guesswork
The ingestion job reads multiple address headers on every message — not just the visible "to" line — to find the group address, then resolves it against the client registry to pick the destination folder.
- 03
Backfill the entire history in the same pass
The standing rule applies retroactively: the quarantined backlog is re-processed under the same logic, so the archives start complete instead of starting from today.
- 04
Surface the ambiguous, never guess it
Group names that don't resolve cleanly against the registry are not force-filed — they're listed for a human to rule on. In the first pass a small handful of names came back for review while the rest filed automatically.
- 05
Keep a ledger and keep running
Every filed message gets a ledger entry (what arrived, where it was filed, under which rule), the job runs on a schedule, and the test suite covering the routing logic runs green before the automation is trusted.
Evidence from the workflow.

Each system has a role.
intake (the undifferentiated pile)
Shared mailbox / group addresses
record of truth (what the address nomenclature resolves against)
Client registry
action (reads headers, files messages, logs every decision)
Ingestion job + ledger
record of truth (the history the team can finally use)
Per-client archive folders
Why this is Operator.
Owns a workflow end to end, running the process inside the authority you set.
- 01
The standing instruction comes from the operator, once, in writing. Unresolvable names are escalated, never guessed. Every filing decision is logged in a ledger, so any message's routing can be audited after the fact. Message content is read only for routing; the archives live inside the company's own systems.
Impact / Outcomes
A mailbox that was effectively 100% quarantined went to over 80% auto-filed in one session — hundreds of messages organized into dozens of per-client folders, full history included.
The handful of group names the rule couldn't resolve were surfaced for a human decision instead of being guessed — the archive's accuracy is protected by what the agent refused to file.
"What's the history with this client?" becomes a folder open instead of a mailbox excavation, and every future message files itself under the same standing rule.
Find where a workflow like this fits.
Start with the systems, work, constraints, and authority already present in your operation.