Case Study #1: Record Contamination Case Study #2: Dashboard Intelligence Case Study #3: Zapier Elimination Case Study #4: PestRoutes Discovery Case Study #5: Jobber Bridge
AGM Pro Tools — Case Study #3

How We Eliminated 38 Zapier Automations and Built a Self-Healing Lead Pipeline

Heavenly Greens — Full Zapier Deprecation & Modal Migration

38
Zaps Replaced
5 min
Poll Cycle
$0
Leads Lost
1
Day to Deploy

The Client

Heavenly Greens is one of Northern California's largest artificial turf installation companies, operating across 9+ locations from Sacramento to Santa Cruz. They run a dual-CRM stack: AGM (GoHighLevel) for marketing automation, lead nurturing, and pipeline management, and Salesforce as the system of record for sales, jobs, and reporting. A Costco/Shaw Industries partnership adds a high-volume retail channel with its own lead intake process.

9+
Service Locations
221
AGM Workflows
38
Zapier Zaps (Active)
2
CRMs in Sync

The Problem

Leads Were Falling Into a Black Hole

Heavenly Greens' website forms — Schedule Consultation, Request Callback, Services, and PPC landing pages across all 9 locations — were creating contacts in AGM. But those leads were never reaching Salesforce. The sales team couldn't see them. The pipeline was silently breaking.

How It Happened

The company relied on 38 Zapier automations to bridge AGM and Salesforce. Each location, each form type, each lead channel had its own zap — a fragile web of point-to-point integrations with no monitoring, no deduplication, and no alerting when something broke.

As part of a broader migration initiative, some zaps had been turned off — but the Modal-based replacement wasn't live yet. The result: web form leads were landing in AGM with no outbound path to Salesforce.

The Zapier Problem at Scale

  • 38 individual zaps — each a single point of failure
  • No deduplication — same lead could sync twice
  • No monitoring — silent failures with no alerts
  • No source mapping intelligence — all leads arrived with generic sources
  • $73/month Zapier cost with zero operational visibility
  • Any zap failure meant leads silently vanished

The Investigation

AGM Pro Tools conducted a complete audit of all 42 Zapier automations (38 active, 4 already off) across three pages of the Zapier dashboard, categorizing each by function, replacement status, and risk.

Full Zapier audit — all 42 zaps cataloged

Every zap categorized: 32 location-based AGM→SF lead syncs, 1 SF Job Sold→AGM tag removal, 1 Costco email intake, 1 AGM Chat→SF, 3 unknown/investigation items, 2 obsolete, 2 already off.

Identified the GHL API limitation

The original plan was to point AGM workflow webhooks at Modal endpoints. Investigation revealed the GHL v2 API cannot read or edit workflow actions — only list workflow names. This meant Andrew would need to manually swap webhook URLs in 32+ workflows. Unacceptable dependency.

Designed the polling architecture

Instead of waiting for webhooks, the replacement polls AGM every 5 minutes for new contacts. This eliminates all dependency on AGM workflow configuration — no manual URL swaps, no Andrew bottleneck, fully autonomous operation.

Mapped all source fields

Documented every AGM source field and UTM parameter, then built a mapping table to Salesforce's LeadSource picklist — ensuring leads arrive in SF with the correct attribution (Paid Search, Internet, Chat Bot, Display Ads, Referral).

Resolved three unknown zaps

Three zaps flagged during audit as "needs investigation" — Open Service Request, Stop Nurture, and Appointment from AGM — all confirmed as either dead, redundant, or already covered by existing Modal crons.

The Solution

A Single Polling Engine Replaces 38 Zaps

Instead of 38 fragile point-to-point integrations, AGM Pro Tools deployed a single intelligent polling engine on Modal that handles every lead sync path.

Architecture: AGM → SF Poller

ComponentPurpose
AGM Contacts API PollerPolls every 5 minutes for new contacts since last sync
Intelligent FilteringSkips Costco leads (separate pipeline), missed calls, spam, guest visitors
Source Mapping EngineMaps AGM UTM sources + form sources to SF LeadSource picklist
Secondary Source ExtractionPulls location name from tags, source field, or UTM campaign
SF DeduplicationChecks for existing leads by email and phone before creating
Modal Volume StatePersists last poll timestamp — survives restarts, never double-processes
Slack AlertsReal-time notification for every sync event and every failure
Modal Sync StampEvery SF lead tagged with "Synced by Modal" — full audit trail

Source Mapping Intelligence

Every lead arrives in Salesforce with proper attribution — not a generic "Web" source like Zapier provided.

UTM-Based Mapping

AGM UTM SourceSF LeadSource
Paid SearchPaid Search
Organic SearchInternet
Direct TrafficInternet
ReferralReferral
DisplayDisplay Ads

Form-Based Mapping

AGM Source FieldSF LeadSource
Schedule ConsultationInternet
PPC Contact Form *Paid Search
HG Live ChatChat Bot
Callback - WebsiteInternet
Services - WebsiteInternet

What Else the Poller Replaced

Live — Mar 2

Costco Email Intake

CENTAH email → Salesforce + AGM pipeline. Dedicated Modal cron, completely independent of Zapier.

Live — Mar 20

SF → AGM Stage Sync

Salesforce Opportunity stage changes sync to AGM pipeline positions every 5 minutes. Replaced 4 Zapier zaps.

Live — Mar 27

SF Job Sold → AGM Tags

When SF marks a job as sold, Modal adds job-sold + remove-from-lnc tags to AGM contact. Every 10 minutes.

Live — Mar 30

AGM → SF Lead Poller

The final piece. All 32 location-based lead sync zaps replaced by a single 5-minute polling engine.

Live Verification

On March 30, 2026, AGM Pro Tools demonstrated end-to-end proof by querying both the Salesforce and AGM APIs directly — not from logs, not from deploy output, but from the actual destination records.

Cross-System Verification — March 30, 10:31 AM PT

Lead NameAGM SourceSF LeadSourceSF Status
Peggy McCarthey PPC Contact Form Paid Search Confirmed
Kathleen Tran Schedule Consultation Internet Confirmed
Gary Gairaud PPC Contact Form Paid Search Confirmed

All three leads created via AGM web forms, picked up by the poller within 5 minutes, and confirmed present in Salesforce with correct source mapping and Modal sync stamps.

"Deployed" is never "done." "Logs look good" is never "done." Querying Salesforce and showing the actual record with the actual data — that's done.

The Value

Zapier (Before)

$73/mo
38 individual zaps, zero visibility, silent failures
  • 38 single points of failure
  • No deduplication
  • No source intelligence
  • No monitoring or alerting
  • No audit trail
  • Dependent on manual workflow config
  • Any zap failure = lost leads

AGM Pro Tools (After)

1 Engine
Single poller, real-time monitoring, self-healing
  • Single polling engine replaces all 38 zaps
  • Email + phone deduplication on every lead
  • Intelligent source mapping (UTM + form-based)
  • Real-time Slack alerts on every sync and failure
  • Full audit trail with Modal sync stamps
  • Zero AGM workflow dependencies
  • Persistent state — survives restarts, never skips leads

What the Replacement Does That Zapier Can't

CapabilityZapierAGM Pro Tools
Replace 38 zaps with 1 engineN/ASingle poller
Intelligent source mappingGeneric "Web"UTM + form-based attribution
Cross-channel deduplicationNoEmail + phone match
Lead filtering (Costco, spam, missed calls)NoTag + source-based filtering
Persistent poll stateNoModal Volume — survives restarts
Real-time failure alertingNoSlack per event
Audit trail per leadNoModal sync stamp in SF
No AGM workflow dependencyRequires webhook URLs in 32+ workflowsAutonomous polling
Secondary source extractionNoLocation from tags/UTM/source
Client isolationShared accountSeparate Modal app + secrets

Migration Timeline

The full Zapier elimination was executed in phases over 28 days, with zero lead loss and zero downtime.

March 2 — Costco Email Intake

First Modal cron deployed. CENTAH emails parsed and routed to Salesforce + AGM automatically. Replaced Zapier zap #3.

March 20 — SF → AGM Stage Sync

Salesforce Opportunity stage changes sync to AGM pipeline every 5 minutes. Replaced 4 Zapier zaps. First Modal replacement with SQLite dedup and dead-letter replay.

March 22 — Security Hardening

Bearer auth on all endpoints. Encrypted backups. Pre-commit hooks. All 3 critical vulnerabilities closed.

March 27 — SF Job Sold → AGM LNC Tags

Modal cron tags AGM contacts with job-sold + remove-from-lnc when Salesforce marks a job as sold. Every 10 minutes. Replaced Zapier zap #1.

March 27 — Modal Decomposition

Monolithic 5,249-line Modal app decomposed into 6 independent apps + shared library. 12 total apps live. Each client isolated.

March 30 — AGM → SF Lead Poller (Final Piece)

Single polling engine replaces all 32 location-based lead sync zaps. Verified end-to-end with live Salesforce records. All 38 Zapier zaps now have Modal replacements.

28
Days to Full Migration
38
Zaps Eliminated
6
Modal Apps Deployed
0
Leads Lost in Migration

Results

Outcomes

  • All 38 Zapier automations replaced by Modal-based infrastructure
  • Web form leads now reach Salesforce within 5 minutes of submission
  • Proper lead source attribution for the first time (Paid Search, Internet, Chat Bot, Display Ads, Referral)
  • Complete audit trail — every synced lead stamped with source and timestamp
  • Real-time Slack monitoring on every sync event and failure
  • Zero dependency on AGM workflow configuration — fully autonomous
  • Costco lead pipeline completely isolated from general web leads
  • $73/month Zapier subscription eligible for cancellation
  • Single polling engine scales to any number of locations — no new zaps needed
Zapier was 38 individual bridges — each one a single point of failure. AGM Pro Tools replaced them with one intelligent engine that filters, maps, deduplicates, and monitors every lead automatically. When Heavenly Greens adds a 10th location, the poller picks it up. No new zaps. No manual configuration. It just works.

About AGM Pro Tools

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