Enterprise CRM Integration (HubSpot + Mulesoft)

System Integration · Client project for a large education group · Sep 2020 - Mar 2023

Impact

300K+
Contacts synchronized
3 months
Zero Mulesoft experience to production
Full pipeline
Marketing effort to sales numbers, visible in HubSpot

Problem

A large education group had 300,000+ contacts in a legacy TMS (training management system). Their B2B and B2C sales teams used HubSpot to follow up leads and manage deals, but the actual transactions were recorded in the TMS. Marketing had no visibility from campaign effort through to sales numbers, because the data lived in two disconnected systems.

The legacy TMS had been heavily customized over the years and was messy. Synchronizing two very different systems required careful control over which platform was the source of truth for each data point, and the integration could not corrupt existing data in either system.

My Role

Led integration design and implementation. Worked directly with three teams on the client side: marketing (campaign requirements), B2B/B2C sales (lead follow-up and deal workflows in HubSpot), and their tech team (legacy TMS database and API endpoints). Their tech team handled the legacy system interfaces, my side handled calling those interfaces, designing the sync logic, and managing data consistency between the two systems.

Key Decisions

Architecture

Visual evidence withheld due to client confidentiality.

Legacy TMS (300K+ contacts, transactions, enrolments) | |-- Client's tech team manages DB + API endpoints | v Mulesoft ESB (Anypoint Platform) | |-- Data transformation: DataWeave + JavaScript/Python |-- Field mapping between TMS and HubSpot schemas |-- Error handling, logging, environment management | |-- Sync: TMS > HubSpot | Contact profiles, transaction data, enrolment records | Scheduled batch processing (daily) | |-- Sync: HubSpot > TMS | Lead status updates, deal progression | v HubSpot CRM |-- B2B + B2C sales teams: lead follow-up, deal management |-- Marketing: campaign targeting against full contact base |-- Reporting: full pipeline from marketing effort to sales

Transferable Pattern

Synchronizing data between systems with different schemas and ownership rules. Applicable to any omnichannel operation: syncing POS with e-commerce, CRM with warehouse, or any two systems where "which platform is the source of truth" must be decided per data field.

Tech Stack

HubSpot CRM HubSpot API Mulesoft Anypoint DataWeave JavaScript PHP (initial version) REST APIs