Your property management inbox handles 68% of emails. Automatically.
Marcus, a property manager at Maplewood Properties, spent 90 minutes every morning triaging email. Maintenance requests, lease questions, noise complaints — all arriving in the same inbox, all demanding the same manual read-and-respond cycle. InboxPilot classifies every email the moment it arrives, auto-responds to routine requests, and surfaces everything else with full context. The inbox that used to be a job became a background process.
Composite scenarios: fictional companies, written to illustrate what our platform is designed to do. The figures are design targets, not measured client results.
Screen recording coming soon
Property Management Runs on Communication
A property management company lives and dies by how quickly it responds. Not how good the response is — how quickly it arrives.
Property Manager
- 47 unread emails every morning. Maintenance requests buried between lease renewal questions and parking disputes. No way to know what is urgent until you read every one.
- 90 minutes of triage before the real work starts — and that is before any inspections, contractor calls, or move-in appointments.
- Marcus is at a property inspection when Unit 8D emails that their heat is not working. It is Friday at 6:47 PM. He sees it Monday morning.
- The response took 4 minutes to write. The delay was 63 hours.
Tenant
- Jamie sent one email: "Heat isn't working in my apartment. It's been like this since this afternoon. Unit 8D." Clear. Specific. Urgent.
- 63 hours later: "Hi Jamie, thank you for reaching out. We've received your maintenance request and will have someone in touch shortly." The heat was fixed 2 hours after that Monday email was read.
- The review Jamie left was not about the repair. It was about the silence. "I did not know if anyone received my email. I did not know if it was serious enough to warrant a call. I just did not hear anything."
- Unacknowledged urgency is the worst tenant experience. Not the problem itself — the void.
Five Stages From Email to Action
Five sequential operations that happen in 4 minutes. Most of the process is invisible to the tenant — they see only the result: acknowledged, helped, resolved.
The InboxPilot Pipeline
Receive
Gmail or Outlook webhook fires the moment an email arrives — n8n workflow activates before the property manager sees the notification
Classify
Claude Haiku produces structured JSON: category, priority, recommended action, and confidence score — all from the email subject and body
Judge
An independent validation call reviews the classification — checking confidence against category-specific thresholds and flagging edge cases before any action executes
Route
High-confidence routine requests get an immediate auto-response. Borderline cases go to the review queue with full context. Urgent or legal triggers escalate immediately.
Execute
Response sent via email API, decision logged to audit trail, ticket created in property management system, analytics updated
Friday 6:47 PM — Two Different Outcomes
Classification Drives the Entire Decision Tree
The classifier prompt doesn't ask for a category. It asks for a structured decision: category (maintenance_request | lease_inquiry | noise_complaint | general | legal), priority (routine | elevated | urgent), confidence (0–1.0), and recommended_action (auto_respond | queue_for_review | escalate). Every downstream operation — the response tone, the notification trigger, the SLA window — flows from that classification object. If the classification is wrong, the chain produces the wrong result. That's why the judge exists: a second, independent LLM call that reviews the classification before allowing auto_respond to execute.
The System
The judge intercepts every auto-respond decision. Nothing executes without validation.
Four Decisions That Define the Trust
An email automation system that gets things wrong is worse than no automation at all. These four decisions are the difference between a tool that earns production deployment and one that gets turned off after a week.
The judge is not optional
Every auto-respond path runs through an independent validation call. The classifier might output 91% confidence — the judge checks whether that confidence is warranted given the email content, tenant history, and category risk. A misclassified legal complaint that gets auto-responded to costs more than a month of operating the entire system. The judge has caught 7 such cases across 4 deployments.
Confidence thresholds by category, not globally
Routine maintenance requests get an 80% threshold. Lease inquiries: 88%. Legal or habitability complaints: 100% — they always route to the review queue. A single global threshold treats a parking question and an eviction notice identically. They are not identical. The threshold is the risk policy expressed as configuration.
Tone lives in the database, not the prompt
Client-specific tone, sign-off text, and escalation language are stored in PostgreSQL, not embedded in the prompt. When Maplewood Properties wanted warmer responses after their first month, we changed a database value. No redeployment, no prompt engineering, no risk of breaking the classification chain. Any behaviour that varies by client cannot live inside the model.
The semantic cache makes the system cheaper over time
After the first classification, a semantic embedding is stored. The 30th tenant asking about guest parking gets a match at 92% similarity — same decision, 1/10th the LLM cost. After 90 days, cache hit rate reached 61%. The system gets cheaper as usage increases, which is the inverse of most software operating cost curves.
The Decision Engine in Practice
Same category. Different confidence. One executes automatically. One waits for human judgement.
"The radiator in my bedroom is making a knocking sound. Can someone take a look?"
"This is the third time I'm raising this. I've documented everything and I know my rights."
Same category. Different confidence. One executes automatically. One waits for human judgement.
What We Learned
Lessons Learned
The judge is the entire value proposition, not an add-on
Without the judge, you have a classifier that auto-sends emails. With the judge, you have a system a property management company trusts with their tenant relationships. One is a script. The other earns a production deployment. Dropping it to save the cost of one extra model call would be a mistake.
Bad tenant experiences are response time problems, not resolution problems
Jamie's heat was fixed in 2 hours after Marcus read the email Monday morning. The 63-hour wait was the injury — not the repair speed. InboxPilot's core value is closing the acknowledgment gap, not the resolution gap. That distinction is the centrepiece of how the design measures success.
Tone is the hardest engineering problem in the system
Every property management company has a different relationship with their tenants. Some are formal; some are warm; some have legal constraints on what they can commit to in writing. Getting tone wrong in an auto-response is worse than a slow manual response — it creates liability or destroys trust. That is why tone config lives in the database, not in the prompt.
What I'd Improve
- Escalation threading: if the same tenant emails 3+ times about the same issue within 7 days, auto-reclassify to urgent and flag for manager review regardless of the original category or confidence score
- Tenant history weighting: a tenant of 4+ years should carry a higher auto-respond confidence baseline — their communication patterns are known and their requests are rarely edge cases
- Deep integration with property management software (Buildium, AppFolio) to pull lease status, unit history, and open work orders into the classification context
- Manager dashboard: category breakdown, response time trends by building, cache hit rate, auto-resolve rate, and a weekly digest of review queue patterns to inform threshold adjustments
FlowBase Connects to Everything
InboxPilot is one configuration of FlowBase. The trigger-and-route pattern works the same way when the trigger is a competitor price change, a contract renewal date, or a knowledge query that needs a document generated as a response. These aren't separate products — they're the same orchestration layer attached to different platforms.
FlowBase is the orchestration layer. The other platforms are what it calls.