Upload
doug-ayers
View
892
Download
6
Embed Size (px)
Citation preview
#MWD16
#MWD16
Midwest Dreamin’ Platinum Sponsors
#MWD16
Midwest Dreamin’ Gold Sponsors
The Power of Upsert and External IDsSalesforce Data Integration Techniques
#MWD16
Doug AyersSenior Developer/[email protected]/douglascayers
#MWD16
Your Bridge Between Technology & Need
An award-winning Silver Consulting Partner focused on healthcare innovation
#MWD16
Health Systems ACO & Population Management
Behavioral Health
Ancillary Providers & Healthcare Service Providers
External Data Integration• Scenario
▫When Salesforce is not the “System of Record”• Concerns
▫How to prevent creating duplicates in Salesforce?
▫How to create parent records then link child records?
#MWD16
ERP OMS EMR HCM
#MWD16
Traditional Approach
ExportRecords
VLOOKUP to Match
Insert Non-MatchesUpdate Matches
1
2
3
#MWD16
Traditional Approach
ExportParentRecords
VLOOKUP to Match
1
2
ExportExistingRecords
VLOOKUP to Match
Insert orUpdate3
4
5
#MWD16
Traditional Approach
1
2
3
4
5
6
7
#MWD16
How you feel juggling all the files…
#MWD16
How you feelwhen it goes wrong…
#MWD16
TediousError Prone
Doesn’t Scale
Traditional Approach
#MWD16
Did he say ‘upsert’??• Insert
▫ Always creates new records• Update
▫ Makes changes to records you know their Salesforce ID
• Upsert▫ Inserts or Updates based on existence of the record▫ Matches on External ID field
#MWD16
#MWD16
First, you need External IDs
#MWD16
First, you need External IDs• Supported Custom Field Data Types
▫Auto Number, Number, Text, Email
• Determine Record Identifiers from External Systems▫Order Numbers, Patient IDs, Employee IDs, …
• Super Power: Field becomes Searchable and Indexed▫SOQL performance!
#MWD16
Upsert Benefits• Simplifies insert/update operations!• Do not have to know Salesforce IDs!• Do not have to export and match on
existing records!• Helps prevent duplicates!• Fewer API calls needed!• Can set lookup fields too!
#MWD16
Live Demo Time• Create External ID• Salesforce Data Import Wizard• MuleSoft dataloader.io• Salesforce Data Loader• Workbench• Apex Code
#MWD16
Best Practices• Mark External IDs as Unique
• Use Compound Values for Uniqueness“Hospital-100 Patient-123” “Hospital-200 Patient-123”
#MWD16
Use Case: Populating Sandboxes• Create Salesforce Migration ID field in production
▫ Unique, Case-Sensitive, External ID• Create Sandbox or Deploy New Fields• Export Data from Production• Import Data to Sandbox
▫ Upsert matching on Salesforce Migration ID▫ Map exported ID field to Salesforce Migration ID
#MWD16
Use Case: Multiple Source Systems• Invest in Master Data Management
▫ MDM Strategy Dreamforce Video• Upsert Salesforce by MDM External ID
▫ Store related system ids as other fields• Benefits
▫ Mashups with Canvas apps▫ Deep linking to related systems▫ More context on layouts & reports
#MWD16
ETL: Advanced Data Loading• Upsert with Talend and Populating Sandboxes• MuleSoft Salesforce Connector• Upsert with Jitterbit• Upsert with Informatica and User Guide• IBM DataStage and IBM Cast Iron• Dell Boomi Salesforce Connector• V12 Connect by Virsys12 & Trinisys
#MWD16
Further Reading• My Blog Posts: Part 1 and Part 2• Data Import: Cleaning Up Your Import File• Red Argyle: VLOOKUP Explained• Salesforce University: Integrating with SOAP API• Apex Developer Guide: Upserting Records• Jeff Douglas: Using External IDs in Salesforce• Jitendra Zaa: All About Upsert and External ID
QuestionsDoug [email protected]/douglascayers
The Power of Upsert and External IDs
#MWD16