We have 3 sandboxes.

  • Sandbox 1 - Profile object permissions are correct Sandbox 2
  • Profiles are incorrect, but all other config is correct Sandbox 3
  • UAT Environment, contains all change sets from Sandbox 2.

What is the easiest way to get the Profile object permissions from Sandbox 1? There are enough objects that would make it too time consuming to do manually.


  • How many config components and how many profiles are we talking about? Commented Jan 5, 2015 at 7:24
  • 500 objects and 100 classes
    – Dawid
    Commented Jan 5, 2015 at 7:30
  • how many profiles? Commented Jan 5, 2015 at 7:41

3 Answers 3


If we use Change-sets, there is a greater possibility of profiles getting overwritten.

One way to solve this problem is as follows. Lets say UAT Environment is the one which should have latest and greatest code and metadata.

  1. Extract Profile Metadata from Sandbox 1. (Using ANT Scripts)
  2. Extract Profile Metadata from UAT. (Using ANT Scripts)
  3. Compare the metadata using tools like diffcompare or other popular tools.
  4. Find the overlap and and make the necessary changes in Sandbox 1.
  5. Create Change-Set and upload it to UAT.

Once UAT acceptance is complete and pushed to production, you may choose to refresh necessary sandboxes.


IT seemed there was no easy way to do this. I ended up getting Salesforce Premier Support to help me manually migrate the changes. Long and slow process.

Jag's response did not capture the profiles for standard objects and fields and managed package objects, so only custom objects profiles were carried across.


Have you tried a product like flosum? I believe they support profile migration.

You must log in to answer this question.

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