Source ERP · 28 of 89

CRMPro → HubSpot — HubSpot: what the shipped templates set up

Read it in the terminal with "dlake skills show dlake-crmpro-hubspot/erps/hubspot". It extends the dlake-crmpro-hubspot skill, which holds what is true whatever the source ERP.

CRMPro → HubSpot — HubSpot: what the shipped templates set up

Keep this skill current. dlake ships updates often and this text is embedded in the CLI you have installed. Before relying on it, compare dlake --version with npm view @commercient/dlake version; if they differ, run npm install -g @commercient/dlake@latest and then dlake skills install, which overwrites the installed skill files with the current text.

dlake-crmpro is the parent skill and the authority for everything general: the crmpro_* tools, CRM_Configuration and CRM_FieldList, TimeStampRepository, the three kinds of source view, the NULL-cursor rule and the silent zero-record run. Read it first; this page does not repeat it. dlake-crmpro-hubspot is the destination skill this page is a child of, and the authority for the HubSpot conventions that hold across every ERP: read it first, then come back here for what this source’s own templates set. This page is dlake-crmpro-hubspot/erps/hubspot.md, and that skill’s ERP table is what points at it. What follows is only what the shipped HubSpot → HubSpot templates themselves set, read from their Insert_Query, CreateViewQuery and MappingJson. This page grows as the catalogue does.

1. What the templates deliver

GroupBusiness outcomeObjectsSource tables and views
create orderThe templates push deal to HubSpot. New records are created and existing ones updated; none are deleted.deal

2. Field mapping

CRM_FieldList carries one row per pushed column, with Object_Name equal to the CRM_Object_API_Name value — as dlake-crmpro puts it, an object with no CRM_FieldList rows pushes nothing and records no error. Each template carries its intended mapping in MappingJson. Read that with dlake admin crmpro_templates, then check crmpro_field_mapping on the created process before activating it.

TemplateObjectMapped fieldsFirst ERP → HubSpot pairs
create orderdeal10CustomerID, ShipToIDCommercientSF__Commercient_ArCustomerCode__c, CustomerName, CustomerID, ShipToIDName, BillToAddressLine1, BillToAddressLine2, BillToAddressLine3BillingStreet, BillToCityBillingCity, BillToStateBillingState

3. Verifying

# per-prefix counts; every synced record carries its destination id
dlake tool query --profile <tenant> --sql "SELECT LEFT([Key], CHARINDEX(':',[Key])-1) AS prefix, COUNT(*) n, COUNT(NULLIF(SFDCID,'')) withId FROM dbo.TimeStampRepository WHERE CHARINDEX(':',[Key])>0 GROUP BY LEFT([Key], CHARINDEX(':',[Key])-1)"

withId = n for every prefix is the success condition dlake-crmpro defines. The split is on the first colon, which is the prefix boundary whether the key separator is : or ::.

4. Where this sits

dlake-crmpro is the general operating surface — the crmpro_* tools, the setup and transaction tables, field mapping, and the source-view contract that applies to every destination. This page adds what the shipped HubSpot → HubSpot templates set up. dlake-crmpro-hubspot is the destination skill this page sits under: its own text is the authority for the HubSpot conventions that hold across every ERP, and its ERP table lists this page alongside every sibling ERP page for this destination. For the extract leg that fills the clone tables, see dlake-normalsync; for the on-premises agent that runs it, dlake-syncagent; for the writeback leg, dlake-txdownloaderpro; for standing an integration up, dlake-integration-setup.