Consolidating 60+ Fragmented Tools into an Event-Driven CRM for a $500M+ Telecom Provider
A $500M+ telecom provider was losing data across 60+ fragmented tools during their fiber network transition. A standalone data lake would have cost $35,000, so we skipped it and architected an event-driven HubSpot CRM instead. Using custom "Serviceable Address" objects and eLation ERP account numbers as unique keys, we unified ISP and MSP data with no manual double-entry.
Executive Summary
Context
A regional ISP and MSP ran 60+ non-integrated tools. During their transition from legacy copper to fiber networks, they faced massive data loss and manual entry errors.
What We Built
We engineered a hub-and-spoke CRM architecture using custom "Address" and "Account" objects to bridge ISP and MSP workflows.
Tech Stack
- Salesforce
- Trello
- eLation
- ConnectWise
- HubSpot Sales/Service Enterprise
- Operations Hub
Not a fit for companies without a centralized ERP with stable API endpoints. Same if geographical serviceability isn't a sales driver.
The Challenge
Reps and billing staff were drowning in "swivel-chair" operations. A rep would close a deal in Salesforce, track the task in Trello, and then hope the billing team manually entered the correct data into eLation. Because these systems weren't connected to each other, the marketing team had no way to know which neighborhoods were actually fiber-ready. Early on, the obvious solution, a standalone data lake, was priced at $35,000 just for the infrastructure. We needed a 95% data match across systems without that overhead.
Our Approach
We pivoted to an event-driven architecture that used HubSpot as the engagement layer and eLation as the system of record. eLation account numbers had to be the source of truth to prevent record duplication, so we built a custom "Serviceable Address" object. We also stopped treating addresses as static text fields; instead, they became targetable entities. When eLation flagged a new address as serviceable, it automatically triggered the marketing automation. The entity map took several iterations, since the many-to-many relationship between accounts and serviceable locations could easily break standard CRM reporting if we got it wrong.
This engagement is part of our customization + optimization work for telecommunications & media organisations.
Impact
Operational Tool Consolidation
We moved the entire sales and service operation off Salesforce and Trello. That saved seat costs and removed the missing Trello task updates that had stalled about 10% of deals.
$35,000 Data Lake Cost Avoided
Automated Proximity Marketing
The "Serviceable Address" custom object let the marketing team launch geo-targeted campaigns the moment a network build-out finished. They stopped waiting on manual address lists. Instead, they started triggering ads from live serviceability data.
Unified Identity Management
We used eLation account numbers as the unique key across HubSpot and ConnectWise. That removed the "Account ID" mismatch errors. Sales reps now see a single, accurate view of what a customer pays for, across both ISP and MSP services.
We built a custom "Address" object specifically for serviceable locations. It supports a many-to-many association, so several accounts and deals can link to one service point and an account can span several. That enables spatial reporting.
eLation Account Number is the architecture's unique identifier. We used Operations Hub to format these keys consistently. That prevented the common "dash vs. no-dash" duplication issues found in legacy telecom data.
Reps and billing staff used to re-key data between Salesforce, Trello and eLation. A standalone data lake was priced at $35,000 for the infrastructure alone, so we skipped it. Now HubSpot is the engagement layer and eLation is the system of record, joined by an event-driven sync. eLation account numbers are the unique key, and a custom "Serviceable Address" object makes addresses targetable entities. The sync held a 95%+ data match without the extra infrastructure.
FAQ
A standard text field can't hold a many-to-many relationship. In a fiber buildout, one serviceable location ties to multiple accounts and deals. We built a custom "Serviceable Address" address object instead, so locations became targetable entities rather than static text. When the ERP flags an address as serviceable, that object can trigger marketing automation and support spatial reporting, something a property field could never carry.
Continue reading