I need to create a validation rule which should not be fired for External user(Community User) but it should be fired for Internal user(Salesforce user).


You can put the validation based on few criteria.

1) Contact field on User get populated for all community users.

2) You can put the vlaidation based on UserType field in user object. below is link explains about UserType.

What are the possible options for UserType?


You are looking for a field on the Running User. Someone might have another way of doing this, but all of my Community License Profiles start with a "*" tag in them. This naming convention would correlate multiple User Types (Community Users & Partner Users). I was able to build a validation rule on the Account that doesn't let the Community Users touch the Account Name. See below:

AND((LEFT($Profile.Name,1)="*"), ISCHANGED(Name))

Taking the First character of the Profile to see if its a Community User. If it is and the Name is Changed, it fires off stopping them.

  • 1
    My only suggestion, for sanity, would be to move the "*" to the end of the profile name. Using "*" as the first character eliminates the use of the Rolodex feature in the Profiles list view. As an administrator that actually uses the features Salesforce provides, that would drive me crazy. – sfdcfox Jul 8 '15 at 17:47
  • True - if you're into that sorta thing :)... I find it nice when I have a "all" view of my profiles to have it sorted by external and internal that way. But, I also use my list views pretty heavily. – David Litton Jul 8 '15 at 18:31

UserType field can be used to differentiate Internal vs External user. Below condition in validation rule will evaluate to true only for internal users.

ISPICKVAL( $User.UserType , "Standard")

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.