Short answer
An external ID is a field that stores a record's unique ID from another system, such as a legacy CRM or custodian. Upsert is a load operation that uses that ID to update the record if it already exists or insert it if it does not. Together they make migrations and integrations repeatable without duplicates.
External ID and Upsert explained
Marking a field as an external ID in Salesforce lets data loads and integrations match records by that value instead of the Salesforce record ID. Upserting by external ID means a migration can be re-run safely, related records can be linked by legacy IDs, and integrations can update the right record every time. Keeping legacy IDs also helps trace any record back to its source.
HubSpot supports a similar approach with unique-value properties.
How Vantage Point helps: we design external ID strategies for migrations and integrations so loads are re-runnable and fully traceable.
Frequently asked questions
Should we keep legacy system IDs after migration?
Yes. Storing them as external IDs lets you re-run loads, link related records and trace data back to the source.
What happens if two records share an external ID?
An upsert will fail for that value, which is why external ID fields should be set as unique.
