← Centric Software
CRM Project

Centric Software · Phase 2

Centric Software is an enterprise PLM/retail software company that acquired two businesses — Contentserv and ShoppingFeed — each with their own CRM stack (HubSpot + Pardot for Contentserv; HubSpot for ShoppingFeed). Metawork designed and built the integration that consolidates both acquired companies' marketing and sales data into Centric's central Salesforce CRM, enabling unified reporting, lead routing, and pipeline visibility across all three entities.

Duration 11 months
Tasks 161
Meetings 53
Looms 40

What was built

Full build and deployment of the bidirectional HubSpot↔Salesforce integration designed in Phase 1, covering both acquired companies (Contentserv and ShoppingFeed) and the bulk migration of historical data.

Integration Architecture

Two HubSpot instances (Contentserv = HS(CS), ShoppingFeed = HS(SF)) syncing into one Salesforce org (Centric = SF(Centric)). All sync scenarios built in Make.com with JavaScript-based mapping logic.

Sync directions per entity:

  • HS(CS) → SF(Centric): Contacts, Companies, Leads, Notes (as ContentNotes)
  • HS(SF) → SF(Centric): Contacts, Companies
  • SF(Centric) → HS(CS): Contact/Account updates, Lead conversions
  • SF(Centric) → HS(SF): Contact/Company updates

Make.com Scenarios

Scenarios evolved through four major versions (v1→v4) as edge cases were resolved and the data volume requirements grew. Key scenario types:

Scenario Purpose
HS(CS/SF) Contact+Company → SF Create/update Salesforce contacts and accounts from HubSpot
SF Contact+Account → HS(CS/SF) Push Salesforce changes back into HubSpot instances
SF Lead → HS(CS) Lead conversion and contact creation in Contentserv HubSpot
Importer Queue Queue-based bulk import handler for 20k+ record migrations
ContentNote Creator Creates Salesforce ContentNotes from HubSpot activity notes

Bulk Migration

Contentserv had 20k+ contacts and accounts to migrate. A queue-based importer was built specifically for this: accounts synced first to get Salesforce Account IDs back into HubSpot before contacts, preventing orphaned contact records. Post-upload error handling addressed duplicate detection, missing property errors, and account association failures.

ShoppingFeed migration (~8k contacts) followed the same pattern with a cloned and adapted scenario set. In progress as of early 2026.

Field & Logic Additions

  • Pardot campaign attribution fields (pi__campaign__c) mapped to HubSpot contact properties for marketing reporting
  • Lifecycle stage and source detail fields applied on create-only (no overwrite on update)
  • Centric Owner custom field to track originating CRM ownership
  • Conflict resolution text: when both systems have competing values, a formatted conflict message is written as a note
  • Company name and English name mapping fixes for multi-language account records

Ongoing Maintenance

Weekly check-ins with Mathieu (ShoppingFeed), Christian (Contentserv marketing), Lisa (deals/sales ops), and José (sales overview). Break fixes for Salesforce API errors (duplicate contacts, missing properties), scenario restarts after rate-limit breaks, and incremental field additions per stakeholder requests.

Recently touched

  • 2026-04-22 Wrong lead linking in HubSpot Done
  • 2026-04-22 Nikolai <> Doug, check in Done
  • 2026-04-18 Importing 8k from HS(SF) to SF(Centric) Backlog
  • 2026-04-17 HubSpot / Contentserv Early Renewal Done
  • 2026-04-07 Plan of attack (visual, with lanes) for sales and partnerships tracks Done

Other projects in this case study