Want to do :

  • Give Edit permissions for "Field1__c" on only Record Type = "Record_Type1" for Standard object to particular users (u1, u2,u3) only.

All other users will Read Only for that field on Record_Type1 ---NOT for Record_Type2.

Where users can be of any profile, any role. And only selected user should be able to edit Field1__c not the others who share same profile/role.

To start with the Solution I have to

  • Set Field1__c as Read Only for all profiles in Fields Accessibility.

but the problem is :

> Users will not be able to EDIT field on another record type i.e. Record_Type_2

Can not use Validation Rule - Since I have Before Triggers with other business logic.

UPDATED QUESTION : Let me clear some confusion here ....


Profile 1___EDIT_____EDIT
Profile 2___EDIT_____EDIT
Profile n___EDIT_____EDIT

NOW the scenarios is =>

  • Record Type -1 : Have given "Edit" access to all "n" profile users
  • Record Type -2 : Have given "Edit" access to all "n" profile users


  • Record Type -1 : (Do not change anthing)Should have "Edit" access to all "n" profile users
  • Record Type -2 : Should give "Edit" access to Set of users only (where users have different profiles)

SO this will change Like :


Profile 1___EDIT_____EDIT (For Set of Users) && Read(for all other)
Profile 2___EDIT_____EDIT (For Set of Users) && Read(for all other)

................:___EDIT_____EDIT (For Set of Users) && Read(for all other)

................:___EDIT_____EDIT (For Set of Users) && Read(for all other)

Profile n___EDIT_____EDIT (For Set of Users) && Read(for all other)

Notice: Nothing is changed for Record Type-1

  • SFSE etiquette is to avoid 'URGENT' in post title; if folks know the answer and post is well constructed, it gets answered expeditiously - you state that options 1 and 2 have issues but you don't state whether option 3 works - did you try it?
    – cropredy
    Commented Feb 10, 2016 at 2:46
  • 1
    We have a similar situation, and simply created a validation rule the tests the $User, the recordtype, and the field value and errors if the field has been edited. Works pretty well. We also have a situation where specific users can make edits to several fields, so we added a new field to user, that is evaluated with a validation rule.
    – HomerJ
    Commented Feb 24, 2016 at 18:52

1 Answer 1


Give edit permission to all profile for this field. After that create custom permissions in sfdc and add it to permission sets. Assign this permission set to user who wants have edit permision on this field. In the next step create a validation rule where in you can use on ischanged on the particular field ,add the recordtype value and also you will have the options to use $permission global variable and refer the custom permission you have created.

Thanks, Apoorva Gautam

  • Can you elaborate little more - I am somewhat confused with Part "Validation Rule" ! Will it affect my BeforeTrigger code actions in any way ? Commented Feb 25, 2016 at 11:56

You must log in to answer this question.

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