AMROAR Technologies

Maintenance Request Automation — Pinnacle Property Group | Amroar
Automation Zapier Jotform Asana Twilio QuickBooks Mailgun

Maintenance requests resolved in 2.1 days.
Was 8.3. No coordinator required.

Pinnacle Property Group was managing 1,200+ units on spreadsheets and group chats. We automated the entire maintenance workflow — from tenant submission to contractor dispatch to landlord report.

Client
Pinnacle Property Group
Industry
Commercial Property Mgmt
Stack
Zapier · Asana · QuickBooks
Build Time
5 weeks
2.1 days
Avg maintenance resolution — was 8.3 days
22 hrs
Saved per week across the ops coordination team
0
Requests lost, untracked, or missed since go-live
+34
Point jump in tenant satisfaction score

1,200 units. 40 properties.
One overwhelmed coordinator.

Pinnacle Property Group manages commercial real estate across 40 properties — a mix of office buildings, light industrial units, and mixed-use developments. With over 1,200 tenants and a small internal operations team, they handle anywhere from 60 to 120 maintenance requests every month.

Before Amroar, every single one of those requests arrived through a different channel. Some tenants called. Some emailed. Some filled out a PDF form and attached it to a reply chain from six months prior. The ops coordinator's job was to read all of them, manually log them in a spreadsheet, decide which contractor to call, chase that contractor for a confirmation, update the tenant, and then reconcile the invoice when the work was done.

There was no triage logic. An emergency water leak sat in the same inbox as a request to replace a lightbulb. Urgent jobs were sometimes missed for days. Routine jobs sometimes triggered unnecessary urgency because nobody knew the context. And landlords had no visibility into what was happening on their properties unless the coordinator happened to send them an update.

The system wasn't broken because the team was bad at their jobs. It was broken because a 1,200-unit portfolio cannot be managed through human memory and a shared inbox.

Company Pinnacle Property Group
Industry Commercial Property Management
Portfolio size 1,200+ units, 40 properties
Monthly requests 60–120 maintenance jobs
Contractor network 28 approved contractors
Automation type End-to-end maintenance workflow
Orchestration tool Zapier (multi-step scenarios)

Six failure points in a process
that ran on goodwill and memory.

None of these would be acceptable in isolation. Running all six simultaneously at 120 requests per month was a liability — for tenants, for landlords, and for the business.

01
No single intake channel
Requests arrived via phone, email, WhatsApp, and paper forms. The coordinator checked five places every morning and still missed things. There was no reliable record of what had come in.
02
Zero urgency triage
An active water leak and a broken cabinet handle arrived with equal priority. Whether a job was treated as urgent depended entirely on which request the coordinator read first that morning.
03
Contractor assignment was guesswork
28 approved contractors across different trades and property zones. The coordinator assigned jobs from memory, calling contractors directly to check availability before committing. A process that took 20 to 40 minutes per job.
04
Tenants kept in the dark
Unless the coordinator proactively called or emailed, tenants had no idea where their request stood. Chaser calls were adding 2 to 3 hours per week to the coordinator's workload.
05
Invoice reconciliation was manual
When a job was done, the contractor sent an invoice. Someone manually matched it to the original request, approved it, and entered it into QuickBooks. Jobs fell through the reconciliation gap regularly.
06
Landlords had no visibility
Property owners received monthly summary calls — if the coordinator had time to prepare them. There were no automated reports, no spend tracking by property, and no audit trail if a dispute arose.

One intake point. Four automated outputs.

Jotform replaced the five inbox problem. Zapier routes everything from there. Every downstream system — Asana, Twilio, QuickBooks, Google Sheets — receives exactly what it needs, automatically.

Jotform Single intake form — all properties Captures: property, unit, type, urgency, photos WEBHOOK TRIGGER Zapier Multi-step automation · Conditional routing Urgency classification · Contractor matching · SLA clock Asana Task created for contractor Due date set by urgency tier Photos attached automatically Twilio SMS Tenant: request confirmed Contractor: job details sent Updates at each status change QuickBooks Job record pre-created Invoice auto-matched on receipt Spend tagged by property Sheets + Mailgun Live ops dashboard updated Weekly landlord report emailed Per-property spend breakdown Job marked complete in Asana → triggers invoice match + tenant completion SMS

Every request classified
before a human sees it.

Zapier reads the urgency field from the Jotform submission and classifies it into one of three tiers. The tier determines the SLA, the contractor category, and the communication cadence.

STEP 01 Form Submitted STEP 02 Zapier Classifies Reads urgency + type STEP 03 Urgency Router P1 — EMERGENCY Emergency contractor · 4hr SLA · Landlord alerted now P2 — STANDARD Specialist contractor · 48hr SLA · Tenant updated by SMS P3 — SCHEDULED Batched weekly · General contractor · 7-day window ALL PATHS Asana task + SMS sent Classification and task creation complete in under 60 seconds from form submission.
P1 · Emergency
Flooding, power failure, structural risk
4 hr SLA
Emergency contractor dispatched immediately via Asana. Landlord alerted by Mailgun email. Tenant receives SMS with contractor name and ETA. Coordinator notified — action optional, not required.
P2 · Standard
HVAC, plumbing, electrical, access
48 hr SLA
Matched to the correct trade contractor for that property zone. Asana task created with photos attached. Tenant SMS confirms receipt and estimated window. Reminder fires at 24 hours if no contractor response.
P3 · Scheduled
Cosmetic, signage, non-urgent general
7 day window
Batched automatically into weekly scheduled jobs. Assigned to the general contractor for that property. Tenant receives confirmation with the week it will be addressed. No coordinator input needed.

Four phases. The whole lifecycle covered.

Five weeks to build and test. Two weeks of the testing phase ran against live requests in parallel with the old process to verify classification accuracy before the old system was switched off.

01

Standardised intake — one form, every property

We replaced the five-channel inbox problem with a single Jotform — one URL distributed to all 1,200 tenants with a QR code on every property noticeboard. The form captures the property code, unit number, issue type, urgency assessment, written description, and up to six photo attachments. Tenants on mobile can submit a full maintenance request in under two minutes.

Critically, the form includes a structured urgency field — not a free text box. Tenants select from three clearly labelled categories. This gives Zapier a clean, consistent input to route on. The form also captures the tenant's preferred contact method — SMS, email, or phone — which determines how status updates are sent throughout the job lifecycle.

Jotform QR Code Distribution Zapier Webhook
02

Contractor matching + Asana task dispatch

Zapier reads the urgency tier, property code, and issue type, then queries a lookup table mapping each property zone to its approved contractors by trade. The right contractor is identified without any human involvement. An Asana task is created automatically — containing the issue description, photos, property address, tenant contact details, urgency tier, and SLA deadline — and assigned to the contractor's Asana workspace.

For P1 emergencies, a second Zapier step fires a direct SMS to the contractor's mobile via Twilio alongside the Asana task, with the property address and a one-tap callback link to the tenant. For P3 scheduled jobs, tasks are created but held in a weekly batch queue — the contractor receives a consolidated job list every Monday morning rather than individual notifications.

Zapier Asana API Twilio SMS Contractor lookup table
03

Tenant status updates + job completion loop

When a job is created, the tenant receives an immediate SMS confirming the request has been logged — with a reference number, the urgency tier, and the expected resolution window. Every status change in Asana (accepted, in progress, completed) triggers a corresponding SMS or email to the tenant via Twilio and Mailgun. Tenants always know where their job stands without calling anyone.

When the contractor marks the Asana task complete, a Zapier step fires: the tenant receives a completion confirmation and a short satisfaction rating request. If the rating comes back below 3 stars, the coordinator receives an alert to follow up. Good completions flow straight to invoice reconciliation without any human touch.

Twilio SMS Mailgun Asana Status Trigger Satisfaction Rating
04

Invoice reconciliation + landlord reporting

When a contractor submits an invoice, Zapier matches it against the open job record using the reference number. The invoice is pre-coded to the correct property and cost category in QuickBooks — no manual data entry, no mismatched references, no jobs sitting in a reconciliation backlog for weeks. Spend is tagged by property from day one, making landlord reporting trivially easy.

Every Monday morning, a Zapier zap pulls the week's completed jobs and spend data from Google Sheets into a formatted Mailgun email — one per landlord, covering only their properties. Property owners go from receiving ad hoc phone calls to a consistent, detailed weekly summary they can actually plan around. The coordinator hasn't built a landlord report manually since go-live.

QuickBooks API Google Sheets Mailgun Zapier Scheduled Trigger

What changed after go-live.

Measured across the first six months in production. Data from Pinnacle's internal ops reporting and tenant survey responses.

2.1 days
Average maintenance resolution time — was 8.3
The 8.3-day average was dragged up by jobs that fell into no-man's land — submitted but not logged, logged but not assigned, assigned but not followed up. Those gaps no longer exist. Every job is tracked from submission to close in real time.
22 hrs
Saved per week across the ops team
The coordinator who previously spent the majority of their week managing requests now handles exceptions, contractor relationships, and new property onboarding. The work that required a person is still done by a person. The rest runs itself.
+34
Point improvement in tenant satisfaction score
Pinnacle ran a tenant satisfaction survey six months post-launch. The maintenance handling score went from 51 to 85. The most common feedback: tenants finally knew what was happening with their requests without having to chase anyone.
0
Requests lost or untracked since go-live
In the six months prior to launch, Pinnacle's own audit identified 14 maintenance requests that were submitted but never actioned — only discovered when tenants escalated or threatened lease non-renewal. That number is now zero, with a full audit trail for every job from submission to invoice.

Seven tools. Zero manual handoffs.

Zapier
Orchestration, routing, scheduled triggers
📝
Jotform
Structured maintenance intake — all properties
Asana
Contractor task dispatch, SLA tracking
💬
Twilio SMS
Tenant + contractor real-time updates
📊
QuickBooks
Invoice matching, property spend tracking
📧
Mailgun
Landlord reports, email status updates
📋
Google Sheets
Live ops dashboard, reporting data source

What's still running on
memory and group chats?

Tell us the process. We'll tell you whether it can be automated, what it would take, and what it should cost — in 30 minutes, before you commit to anything.

Shivam or Sonam on the call. Not a junior consultant.