Salesforce - Remove Record Type(s) From an Object

Body

There are considerations and steps that must be processed to deactivate and then delete Object Record Type(s). This involves removing all references to the Record Type(s). There are a few tricks to unlink some dependencies that you may not be able to access in Enhanced Setup views. This is especially tricky when removing all Record Type(s) completely from and Object.

Access the Service?

  • As a Salesforce Admin, log into Salesforce with SSO

Issues/Questions

Once I've validated my reason(s) for removing Record Type(s) for a specific Object and assessed picklist fields implications, where do I start?

  1. First you need to remove the Record Type(s) you want to delete from Assigned Record Type and Default Record Type on every Profile:
  2. Setup > Users > Profiles > Object Settings > Object > Edit
  3. Record Types and Page Layout Assignments > Remove both Assigned and Default for any/all of the Record Type(s) you want to delete. Then select --Master-- as the Default Record Type if you intend to remove all Record Type(s)
    • you may encounter Profiles where you cannot see the Object in the list - just skip for now
  4. For Private OWD Objects, check Setup > Security > Sharing Settings and delete sharing rules referencing the Record Type(s) to be deleted
  5. Add new sharing rule(s) if applicable
  6. Rewrite any page layout filters, lookup filters, report filters, etc. that reference the Record Type(s) to be deleted

After removing Profile references, what is my next step?

  1. Setup > Object Manager > Object > Record Types
  2. Record Type > dropdown > Edit
  3. Uncheck Active and click Save
  4. Record Type > dropdown > Delete
  5. In Step 3, however, you may get errors like this below for the Profiles from the first section where you couldn't find the Object
  6. Don't worry - follow the YouTube video in supporting documentation for these erroring Profiles (which is detailed below)
    • Setup > Users > User Management Settings > Disable Enhanced Profile User Interface
    • Setup > Users > Profiles > Open System Administrator (or other) Profile > scroll to Record Type Settings > Standard Record Type Settings > Object > Edit (we will NOT edit this profile, but just use this url)
    • In a new tab repeat steps 1-5 above, but this time click on the Profile blocking deactivation and then copy the 15 digit Record Type ID from its URL starting with '00e'
    • Navigate back to the System Admin profile > Standard Record Type Settings > Object > Edit that you left open and in the middle of that URL (a bit after "jsp") you will see the System Admin Record Type ID starting with '00e' - replace this with problem Profile's Record Type ID you just copied in the previous step
    • Now you can access Selected Record Types and Default Record Type for that Profile to remove the Record Type(s) you are trying to delete > Save
    • Setup > Users > User Management Settings > Enable Enhanced Profile User Interface
  7. Then return to Step 1 in this section and you'll be enabled to Deactivate then Delete successfully
  8. You'll be prompted to globally update the Record Type of all existing records too. No need for Data Loader or other

 

Where can I find supporting documentation?

  1. YouTube - Hack to Remove Default Record Types from Profiles that you Cannot Access in Enhanced Setup
  2. Trailblazer Community - Help Deactivating and Removing Record Types

Details

Details

Article ID: 24135
Created
Wed 2/5/25 5:46 PM
Modified
Wed 7/9/25 10:58 AM