The situation
Everything arrived in one inbox with no routing
A leaking faucet, a lease question, and a vendor invoice all waited in the same queue, because there was no queue. The manager was the routing layer: they read everything, decided what it was, and decided who should handle it. With eighty inbound messages a day across tenants, owners, vendors, and prospects, that was the entire job before any actual work happened.
The consequences were predictable and had been for a while. Tenants escalated because they had heard nothing. Vendors were chased by phone because email status requests went unread for days. Owner updates — which are what clients actually pay for — were assembled by hand on top of everything else, usually at the end of a long day, which is why they were thin.
The office stopped whenever the manager stopped. That was the part that concerned the owner most, because it was not a staffing complaint. It was a single point of failure disguised as a small business.
What we built
Every message gets a category, an owner, and a deadline
We classified two weeks of real inbox traffic with the manager before writing anything, and that is where the useful surprise was. Their mental categories did not match how the office actually talked. The first taxonomy we wrote had five buckets and was wrong within a day; the version that worked had seven, including one for messages that were really a lease question asked badly.
From there the agent assigns each message to the right staff member and sets a response expectation from the office's own policy rather than a generic SLA. Emergency and routine maintenance requests are separated by criteria the manager wrote down, matched to the approved vendor list, and tracked through a stated status until the tenant gets a real answer instead of an acknowledgement.
Two pieces of scope went beyond triage and earned their keep quickly. Vendors get chased in writing on a configurable schedule, so a vendor who stops responding escalates to the manager with the thread attached instead of a phone call. And monthly owner statements and building updates are assembled from maintenance history, lease dates, and open items, then returned as a draft for one person to review and send.
The tenants could not tell the difference. They just stopped calling me twice. That is what I was actually buying.
The build, in order
Sixteen days, and most of that time was spent agreeing on rules rather than writing prompts.
- 01
Give every inbound message a category and an owner
The agent classifies each message as maintenance, lease, owner, vendor, or prospect, assigns it to the right staff member, and sets a response expectation from the office's own policy rather than a generic SLA.
- 02
Put maintenance on a tracked path
Emergency and routine requests are separated by criteria the manager wrote down, matched to the approved vendor list, and tracked through a stated status until the tenant gets a real answer instead of an acknowledgement.
- 03
Chase vendors in writing
Scheduled status requests go out automatically after a configurable delay, and vendors who stop responding are escalated to the manager with the full thread attached instead of a phone call.
- 04
Draft the owner updates from the record
Monthly owner statements and building updates are assembled from maintenance history, lease dates, and open items, then returned as a draft for one person to review and send.
What changed
Measured against the baseline captured during setup, read from the same source before and after.
- Daily time spent sorting and routing inbound messagesAbout 13 hours a month returned across 21 working days.
- Before~50 min/day for the managerAfter~12 min/day reviewing the exceptions list
- Tenant maintenance requests acknowledged
- BeforeNext business day, often laterAfterSame afternoon
- Vendor status requests chased manually by phone
- Before3–4 per weekAfter0–1 per week
- Time to assemble the monthly owner update
- Before~6 hoursAfter~1.5 hours of review
The money math. The manager went from about 50 minutes a day to about 12, which is roughly 13 hours a month across 21 working days. Add roughly 4.5 hours a month on the owner update and that is about 17 hours against a $500 monthly plan. The harder return is retention: tenants who are answered the same day do not escalate, and the manager stopped being the routing layer.
Reading the result
The metric that mattered was not hours
The 13 hours a month is real and it is the smallest part of the story. What actually changed was that an unanswered maintenance request stopped being a waiting state. Once every request had a category, an owner, and a tracked status, the office could answer a tenant's follow-up question with an actual status instead of an apology, and could tell a vendor precisely where their job stood.
The owner-update work is quieter but arguably more valuable, because those updates are the deliverable clients buy. Going from six hours of assembly to about ninety minutes of review changed what fit inside them: real maintenance history, real lease dates, real open items. Before, they were thin because there was no time. That is a service quality change, not an efficiency change.
The honest caveat is that emergency-versus-routine criteria needed rewriting once after two misroutes in month two. That is the tuning the managed service exists for, but it would not have been true if the manager had not been willing to sit down and write down what actually separates those cases.
How the rollout ran
Sixteen days from kickoff. Routing accuracy in draft mode is where the real rules were found.
- Day 1–5
Classified two weeks of real inbox traffic with the manager, then rewrote the categories to match how the office actually talks.
- Day 6–11
Routing ran in draft mode. Routing errors were corrected daily, which is where most of the real rules turned out to live.
- Day 12
Auto-acknowledgements opened for maintenance requests only. Everything else still paused.
- Day 16
Vendor chasing and owner-update drafting live.
- Month 2
Emergency-versus-routine criteria rewritten once after two misroutes. That is the tuning the service exists for.
Where it landed
What we would do differently
We would have started with owner updates instead of triage. It is the work with a hard monthly deadline and a visible client, and it would have bought internal patience for the messier routing work that followed.
We also briefly over-reached on auto-acknowledgements. The first version acknowledged every maintenance request; the manager correctly pushed back, because an acknowledgement on a message that was actually an angry escalation can make things worse. Restricting it to genuine requests took a week to establish and should have been the starting scope.
Where the agent acts, asks, and never goes
Anything involving money, lease terms, or legal obligations stayed with a person for the entire engagement.
- Act
- Classify, route, acknowledge, chase approved vendors on schedule, maintain the open-item record, and assemble owner updates as drafts.
- Ask
- Anything that sets expectations about money, lease terms, or legal obligations, and every message to an owner or prospect.
- Never
- Dispatch a vendor on its own authority, commit to a repair cost, or answer a legal question about a lease.