Back to Projects

Salesforce CRM Integration

ETL Salesforce CRM Integration 2023 Lead Architect / SME

Two Systems. No Connection.

VytlOne maintained member data in an internal platform that served as the operational source of truth for eligibility, plan enrollment, and member status. Salesforce CRM was used separately by call center representatives and account managers to track client relationships, service interactions, and member-level account activity.

The problem: there was no automated connection between the two systems. Call center representatives and account managers routinely had to manually cross-reference both platforms to build a complete picture of a member, checking the internal system for eligibility status, then Salesforce for account notes and history. When data didn't match, someone manually corrected Salesforce by hand. This process repeated every time member data changed, creating a persistent cycle of stale data, duplicate records, and wasted account manager time.

Before & After

Before: Manual Sync
Account manager needs member info
Checks internal member platform
Manually checks Salesforce CRM ⚠ Duplicate lookup effort
Data doesn't match — gap identified ⚠ Stale / conflicting data
Manually updates Salesforce record ⚠ Manual · Error-prone
Process repeats every time data changes
After: Automated Daily Sync
Internal platform - single source of truth
Daily ETL job triggers automatically
Extract changed records (delta logic)
Transform & deduplicate records
Load to Salesforce via API
Salesforce always current with no manual sync
Account managers: single source of truth

Delta-Based ETL Architecture

I helped design and built a daily scheduled ETL pipeline that ran overnight and had Salesforce fully synchronized before the business day began. The pipeline used a delta detection approach, rather than performing a full extract on every run, it identified only the records that had changed since the last successful load, minimizing API calls and processing overhead.

The extract layer pulled member records from the internal Oracle database, applying a last-modified timestamp filter to scope the delta. A transformation layer standardized field formats and applied deduplication logic. The load layer used the Salesforce Bulk API for efficiency, with upsert operations keyed on a unique member identifier.

Error handling and alerts were built into every layer: failed API calls triggered immediate email notification to the team, and a daily summary log was generated for audit and troubleshooting purposes. If the pipeline failed, account managers received an automated alert before they began their day.

Results

Daily
Automated sync keeps Salesforce current without any manual intervention
0
Deduplication logic resolved all existing duplicates on first run
1 Source
Account managers now work from a single authoritative source of truth
Delta
Only changed records are synced. Minimal API usage, fast runtime

Technologies Used

Python Oracle database Salesforce Bulk API Mulesoft PowerShell Internal ETL Framework Email Automation Alteryx