Merging companies that each run Salesforce must consolidate their customer data into a single organization while both source systems remain in use. This requires reconciling different schemas and picklists, resolving duplicate customers across and within organizations, preserving relationships between records, and keeping the target current until cutover. This article proposes a reference framework for an autonomous extract-transform-load pipeline for this task. It combines partitioned bulk extraction, declarative mapping templates, rule-based and statistical quality gates, master data management with deterministic and blocked fuzzy matching, constrained loading with per-record error capture, and change data capture guarded by a data-health circuit breaker. Each stage is mapped to Jitterbit Integration Studio constructs. The framework was implemented as an open reference prototype and evaluated on synthetic two-organization scenarios with known ground truth at three scales, from 32,040 to 383,973 source records, over five random seeds. At a preset threshold, hybrid matching reached pairwise F1 scores of 0.918 for accounts and 0.885 for contacts; calibrating the threshold per object would raise these to 0.938 and 0.963. The quality gates prevented all load failures and all silent loss of unmapped picklist values without wrongly flagging any clean record, whereas removing them produced about 1,000 load failures per run. Over five simulated days of hourly incremental synchronization, replayed events were ignored, an injected upstream fault was contained in the batch in which it occurred, and the target agreed with a full rebuild on more than 99.3 percent of field values. Validation on a production deployment remains future work.
Figures & tables
Figure 1: Reference architecture. Numbered stages run in the orchestration layer (Jitterbit operations in a production deployment; the Python reference prototype in this study). Rejected and held records go to quarantine with audit entries; the crosswalk records lineage from source to golden identifiers.
Stage
Purpose
Main output
Controls
1 Extraction
Capture a baseline snapshot of each source object
Compressed staged shards partitioned by creation year
Partition keys; parallel workers; shard manifest
1b CDC intake
Capture creates, updates and deletes after the baseline
Ordered micro-batches of change events
Event identifiers; idempotent skip of replays
2 Transformation
Map each org’s schema, picklists and formats to the canonical model
Canonical records with normalized match keys
Versioned templates; unmapped values flagged, never defaulted
3 Quality gates
Stop records that would break target rules; flag statistical outliers
Accepted records; quarantine with audit entries
Rule catalog; outlier fence; hold of children whose parent is quarantined
Table 4: Pairwise matching quality at τ = 0.85 (mean ± standard deviation over 5 seeds)
Figure 2: Precision, recall and F1 of the hybrid matcher as the fuzzy threshold τ varies (mean of 5 seeds). The dashed line marks the pre-set value used elsewhere in the evaluation.
Defect type
Records with defect
Flagged
Detection rate
Invalid e-mail address
1,390
1,390
100%
Reference to non-existent account
1,280
1,280
100%
Missing required name
966
961
99.5%
Negative opportunity amount
615
615
100%
Unparseable date
412
412
100%
Unmapped picklist value
366
366
100%
Table 5: Detection of injected defects by the quality gates (5 seeds pooled; 319,606 source records)
Figure 3: Wall-clock time by pipeline stage at three data volumes (median of three runs on two CPU cores; local computation only, excluding network and API latency).
Measure
32k records
128k records
384k records
Source records
32,040
128,037
383,973
Total time (median of 3)
2.0 s
9.7 s
39.1 s
Throughput
16,183 rec/s
13,178 rec/s
9,827 rec/s
Account pairs compared
125,984
2,001,702
18,910,752
Golden accounts / contacts
4,963 / 13,319
19,847 / 53,157
59,571 / 158,894
Records unaccounted for
0
0
0
Table 6: Batch pipeline results by scale
Figure 4: Share of contact updates with a blank e-mail address in each CDC batch. The first 24 batches form the baseline profile; the injected upstream fault in batch 83 was detected and held.
Comparison
Records compared
Agreement
Opportunities: identical set of records
46,078
Yes
Opportunities: amount and stage values
46,078
100%
Contacts: golden field values per source record
57,392
99.94%
Accounts: golden field values per source record
23,750
99.36%
Contact clusters: pairwise precision against rebuild
57,392
0.994
Contact clusters: pairwise recall against rebuild
57,392
0.999
Table 7: Agreement between the incrementally synchronized target and a full rebuild from the final source state