I can't figure out why use autonumber as External ID.

There is some case when must be used an auto number as ExternalID?


  • 2
    Can you clarify what the actual problem you are facing is? Please see How to Ask.
    – Dave Humm
    Oct 6, 2020 at 16:22

2 Answers 2


there are many reasons. some are:

  • its indexed by default
  • its autogenerated. and you do not have to worry about uniqueness
  • in case of sandbox refresh, number does not change per record (if object is part of template config)
  • you do not have to add additional field if you need a external ID in future
  • search is faster on this field
  • you can also make autonumber very useful using formatting options (example: {00} {MM} {DD} {YY}). So in cases where you need this kind of formatting, you could go for auto numbers, instead of building a custom field with lots of logic

And last but not the least, its always good to have a standard indexed field as external ID, than building custom field with lots of logic in backend


One useful feature of making an external ID auto-number field is to sync up with an external system in a bi-directional data flow where the external system is not aware of, or otherwise cannot use, the Salesforce ID. There's a number of reasons why this might happen, but the point is that Salesforce is the master data system, but the external system can create and update records using a Salesforce controlled value. You can also use this as a way of "hiding" Salesforce IDs intentionally, where the external system only knows the auto-generated value, but not the actual ID.

Not the answer you're looking for? Browse other questions tagged .