Importance of External Id’s in salesforce
While going through integrations, I have gone into some depth about external IDs and would like to share.
What is an External ID?
External IDs are custom fields in Salesforce that hold unique values that correspond to unique record data.
What else about external Id:
External IDs make your life easier, when planned correctly. Instead of pulling everything into a VLOOKUP, and aligning records to the source systems via record details or Salesforce IDs, you can use External IDs to ensure you have an ID that can be referenced both inside and outside of Salesforce.
The key to this statement is “planned correctly”.
Salesforce record IDs could be used as External IDs with integrations to other systems, and as unique keys in tools like data warehouses. While this is a direct, relatively simple decision to make – lots of us have made it! – it’s not always scalable.
Here are a few questions to consider when choosing an External ID.
External Id is Unique?
Yes!. When planning an External ID, we may think that they aren’t automatically required to be unique in Salesforce. To use this ID for integrations or data manipulations (or as an External ID), the recommendation is to always mark the field unique. This will preserve your data integrity.
Where we need to use External Id?
- Finding the system of truth (master data management strategy) is really just an exercise of determining where you find out about a record, who is finding out about it, and how much you know when that happens. So, if you learn about customers when they sign up on your website, your system of truth for an External ID would likely be the marketing system that collects their information as soon as they complete the web form on your website. Your marketing team likely has access to this information, and you know whatever you’ve made required on the web form.
- If Customers, while they’re on the line with a support agent, your system of truth for an External ID would likely be your Service Cloud (or -puke- your Zendesk or Dynamics). Your service team likely has access to this information, and you know whatever fields you’ve made required in the tool.
- This means the system of truth isn’t always going to be Sales Cloud. It’s very likely not Sales Cloud. Ensure that wherever the External ID is created, that it’s a completely unique identifier, not just a Marketing Cloud ID or Zendesk ID. It also means your organization as a whole may not have access to the External IDs until that information is integrated across the system landscape. With External IDs, I like to combine key record attributes to build something unique but meaningful. On that note…
- And the great thing about External IDs is that they’re indexed. Since they’re indexed, you can run reports on them much faster. If you build meaningful External IDs, one or many teams can use them to extract valuable information without pulling crazy reports. Think about common use cases where a significant portion of the workforce continually looks at several fields on individual records as they’re doing their job.
When is the External ID needing to be accessed?
To prevent duplicates, Salesforce recommends planning integrations and record access to surface relevant data as soon as it’s uncovered, granting visibility to those who need it while building a 360-degree view of the customer… This includes integrating and surfacing External IDs! Maybe our users need to confirm the record create date, lead source, lead the last name, and city of origin. As an admin, I might grab a report for them to review – include things like created date, lead source, and city into different columns… But, what if all of this data was visible in a single field? An External ID field formatted like MMDDYY-LeadSourceCode-LastName-City-{000}?
- If you have a few use cases where 40% or more of your total workforce is looking at several common fields on a record to make a decision, and those fields are populated during or near new record creation, consider using those fields to create a meaningful External ID.
External ID = Salesforce ID? 15 character or 18 character?
- The 15 character IDs are case sensitive and therefore are not unique enough to use in formulas within many tools such as Excel…)
- If you are using Salesforce IDs as the record key for other systems, you will need to explain that the IDs on reports are not the same as the IDs you plan to use (because you will be using the 18 character ID).
External ID = Salesforce ID? More than 1 Salesforce instance?
- Larger organizations, especially global organizations, may experience added stress if the Salesforce ID is the unique identifier because there’s likely a need for multiple Salesforce instances. It can be done (with additional logic to prevent incorrect record ID from becoming the unique External ID), but it will require training.
- Specifically, upon sharing to other salesforce instances, using a record ID attribute is tricky. Salesforce to Salesforce will sync on record details, but the ID will not change. Storing multiple Salesforce IDs on a record isn’t ideal for your users (or admins) – it’s confusing at best.
Thanks for Reading..