Valley Pest Control — FieldRoutes (PestRoutes) Integration & Data Discovery
Valley Pest Control is an established pest control company running on FieldRoutes (formerly PestRoutes, now owned by ServiceTitan). They manage thousands of recurring pest control subscriptions — quarterly treatments, one-time exterminations, termite inspections — all tracked in FieldRoutes. Their customer base had grown over years of solid service work, but their technology stack had never grown with it.
When we connected to their FieldRoutes instance, we expected the usual gaps. What we found was far more significant.
AGM Pro Tools connected to Valley Pest's FieldRoutes API and ran a comprehensive data audit across their entire customer base. The audit revealed five critical gaps — not bugs, not misconfigurations, but structural blind spots that had been invisibly costing the business for years.
Of 8,373 customers, 4,103 have no email on file. Only a phone number. This isn't a data quality issue — it's structural to pest control. Customers call about a scorpion in the kitchen, schedule service over the phone, and never provide an email. Any communication strategy built on email-first engagement misses half the customer base entirely.
The lead source field is blank across every single record. 8,373 customers and zero visibility into which marketing channels drive business. Referrals? Google Ads? Yelp? Door hangers? Nobody knows. Every dollar spent on marketing is a guess — and every dollar earned is unattributed.
No marketing emails. No SMS sequences. No review requests after service. No welcome messages for new customers. No win-back campaigns for cancellations. No appointment reminders. 8,373 customers and not a single automated touchpoint. Every communication is manual or nonexistent.
Unlike Jobber or Housecall Pro, FieldRoutes provides no webhook support whatsoever. There is no way for the platform to push events in real-time. The only option is polling — checking for changes at regular intervals. This is the single biggest architectural constraint in the integration, and it's invisible to anyone who hasn't built against the API.
FieldRoutes has two subscription end-states: Frozen (temporarily paused) and Cancelled (permanently ended). Each requires a completely different communication strategy — a frozen customer needs a "welcome back" nudge, a cancelled customer needs a win-back campaign. But the distinction isn't obvious in the data without careful mapping.
Before building anything, AGM Pro Tools conducted a deep assessment of the FieldRoutes API to understand exactly what's possible and what isn't. This analysis shapes every architectural decision downstream.
| Capability | FieldRoutes Status | Impact |
|---|---|---|
| Customer CRUD | Full access | Create, read, update, delete customers |
| Subscription management | Full access | Read active, frozen, cancelled states |
| Appointment data | Full CRUD | Calendar sync possible (unlike Jobber) |
| Service ticket history | Read access | Post-service triggers possible |
| Webhooks / real-time push | Not available | Must poll every 5 minutes |
| OAuth2 authentication | Not available | Manual token + key auth only |
| API documentation | Weak | JS-rendered, old PestRoutes docs deprecated |
| Self-service credential provisioning | Not available | Must request from FieldRoutes support |
FieldRoutes gives you more data access than Jobber — full appointment CRUD, subscription lifecycle, service history. But it gives you zero real-time event delivery. The architecture has to account for both strengths.
Since FieldRoutes has no webhooks, we built a lightweight polling service that checks for changes every 5 minutes. For pest control workflows — review requests after service, cancellation win-backs, welcome sequences — a 5-minute delay is invisible to the customer and indistinguishable from real-time.
| Component | Purpose |
|---|---|
| FieldRoutes API Poller | Checks for customer and subscription changes every 5 minutes |
| Contact matching (email → phone fallback) | Handles the 49% phone-only problem — matches by phone when no email exists |
| Subscription state mapper | Maps FR active/frozen/cancelled states to CRM pipeline stages |
| SQLite state store | Tracks every sync for idempotency — never processes the same change twice |
| Delta sync mode | Only processes records changed since last run — handles 8K+ customers efficiently |
| Rate limiter | 0.5s between pages, 1.5s throttle per subscription fetch — respects API limits |
| Retry with exponential backoff | Failed syncs retry 3 times with 2n second delays before dead-lettering |
| Slack alerting | Real-time failure notification on every error |
The key architectural decision: mapping FieldRoutes subscription states to CRM pipeline stages so every customer lands in the right automation track automatically.
| FieldRoutes State | CRM Pipeline Stage | Automation Track |
|---|---|---|
| New customer, no subscription | Lead | Speed-to-lead, welcome sequence |
| Active subscription (recurring) | Recurring Service | Post-service reviews, upsell campaigns |
| Active subscription (one-time) | One Shot | Review request, rebooking nudge |
| Active subscription (inspection) | Inspections | Inspection follow-up, conversion to service |
| Frozen (temporarily paused) | No Service + tag | Reactivation campaign: "pests don't take time off" |
| Cancelled (permanent) | Cancelled Service | Win-back: Day 1, Day 7, Day 30 sequence |
With 49% of customers having no email, we designed every automation workflow as SMS-first, email-second. This flips the typical CRM playbook — which assumes email is primary — and ensures no customer falls through the cracks.
Every client gets its own Modal app, its own secrets vault, and its own data volume. Valley Pest's sync runs in complete isolation — no shared credentials, no shared state, no cross-contamination with any other client's data.
Valley Pest didn't have a software problem. They had a visibility problem. 8,373 customers generating revenue with zero insight into what drives growth, what causes churn, or which customers are about to leave. The FieldRoutes data was all there — nobody had ever connected it to anything.
Valley Pest isn't unique. The patterns we found are structural to the pest control vertical:
Pest control customers call when they have an emergency — ants in the kitchen, scorpions in the garage, rodents in the attic. They schedule service over the phone and never provide an email. Any automation platform that assumes email-first will fail in pest control. SMS isn't a nice-to-have. It's the primary channel.
Pest control companies sit on gold mines of recurring subscriptions — quarterly treatments, annual contracts, seasonal services. But most never automate the communication around those subscriptions. No post-service check-in. No seasonal upsell. No cancellation win-back. The recurring revenue model exists in the FSM but never extends to the marketing stack.
FieldRoutes (PestRoutes) is one of the most widely used pest control platforms in North America. It has zero webhook support. Every company on FieldRoutes that wants real-time automation needs a polling architecture. Most don't know this limitation exists until they try to build on it — and most integration vendors won't tell them because they don't build against the API directly.
| What We Found at Valley Pest | Industry-Wide Implication |
|---|---|
| 49% phone-only customers | Every pest control company on FieldRoutes likely has similar ratios |
| 0% lead source attribution | FieldRoutes doesn't enforce lead source — most companies skip it |
| Zero automated communication | FieldRoutes has no built-in marketing automation |
| No webhook support | Polling is the only integration option for every FieldRoutes user |
| Frozen vs. cancelled ambiguity | State mapping requires understanding pest control business logic, not just API docs |
AGM Pro Tools is an enterprise integration platform for field service businesses. We connect your FSM, CRM, and sales automation systems with self-healing pipelines, real-time monitoring, and the operational intelligence to find and fix problems before they affect your customers.
We don't just connect systems. We understand what's happening inside them.
Book a Free Strategy Call