In production
Inspection violations to rep outreach, daily
Regional elevator services company. HubSpot, state inspection records.
Situation
Every failed elevator inspection is a public record with a correction deadline: a door interlock, a dead emergency phone, a missing maintenance log. For a service company that is the most timely sales lead there is. The records sat on a state website. An earlier scraper exported them to spreadsheets, but nothing matched them to the CRM, routed them to a rep, or ran again the next day.
What we built
Every weekday an agent pulls the new inspection reports, reads each cited violation, and matches the building to a company in the CRM. Matched buildings get a note. When a report carries a violation the company sells the fix for, the territory's rep gets a task with the email already written around that defect and its deadline. The rep sends it from their own inbox; the agent never sends.
How it works
Cited codes map onto the sales team's own templates, ranked by severity, so the email leads with the most serious defect on the report: door interlocks before emergency phones before paperwork.
One decision per report, logged. Reports waiting on configuration, like a zip with no rep, are re-decided once it is filled; a tie between two CRM records goes to a person.
The scrape is incremental, re-reading only elevators whose inspection date changed, so the daily run takes one to three minutes.
Impact
2,143
violation lines parsed across 838 inspection reports and 1,162 elevators, with 95.9% of reports matching the state's own violation count.
86%
of cited violation lines map to a ready-to-send outreach template the sales team wrote.
~15
inspection reports with violations a week in the pilot territory, each checked against the CRM the morning it appears.
Live to reps in one territory since mid-October. Most reports name buildings the CRM has never seen; that list is the next phase. No pipeline or wins claimed yet.
Have a function like this one?
Tell us where you would start and we will tell you what it would take.