Monday, December 25, 2017

Custom Permissions : Way to control user access to different functionality in Salesforce

Problem Statement

There is a very common scenario in which admin has to configure different validation rules, workflow rules which fires based on User Id or Profile Id.

Consider below mentioned scenarios:
  • Position (Custom Object) records can be closed by user belonging to specific profile.
  • You have created a VF page where you display specific section to users based on profile. 

In both scenarios, you have to check for profile Id in validation rule as well as in VF (to rendered specific section).

Now after some time if you have to enable the above mentioned functionality to new profile or to specific user then, you have to modify the validation rule as well as your VF page code.


You can use custom permission for these kind of scenarios.

Custom permission is just a record which can be referenced in validation rule, workflow rules, VF, Apex etc. You can assign custom permission to profile or permission set (similar way in which we assign VF page and Apex class).

Now you can check custom permission in validation rules and VF by using global $Permission variable.

Steps to use custom permission and use as per above scenario:
  • Create custom permission (Navigate to Set Up--> Develop--> Custom Permissions).
  • Create new custom permission.

  • Add custom permission to profile or permission set(navigate to Enable custom permission section).

  • Modify the validation rule to and VF to refer custom permission instead of profile id.

So custom permission help us to control different functionality in salesforce to different users. If you have to enable functionality for single user then add custom permission to permission set and then add that permission set to user.

Alternate Approach

All admins/developers were using custom setting to control functionality for different users but after launch of custom permission, jobs of developer or admin will be easy.

Custom Permission in Apex

You can use below static method to find out list of user who have permission for custom permission:

public static List<User> findUsersWithCustomPermission(String customPermissionname)
    List<user> userList = new List<User>();
Set<Id> permissionSetIds = new Set<Id>();
    for (SetupEntityAccess access : [ SELECT ParentId FROM SetupEntityAccess 
WHERE SetupEntityId IN ( SELECT Id FROM CustomPermission 
            WHERE DeveloperName = :name)]) {
userList = [SELECT Username FROM User 
WHERE Id IN (SELECT AssigneeId FROM PermissionSetAssignment
WHERE PermissionSetId IN :permissionSetIds)];
    return userList;

Hope this will help!!!


  1. You made some decent factors there. I looked on the internet for the difficulty and found most individuals will associate with along with your website.
    Logistic ERP
    Transport ERP
    Manufacturing ERP
    ERP software companies
    Best ERP software
    ERP for the manufacturing industry

  2. Great article. This information is impressive. I am inspired with your post. I hope you post again soon. Your post is very helpful for me.....

    Best Training Institute in chennai

  3. The Car featured content undergoes a thorough review process to ensure that it meets the highest standards in order to serve as the best car spare parts and fit the goals.

    Car Accessories in OMR

  4. Hi,
    Thanks for your Blogpost. However I'm a bit confused. In the beginning of the article you write custom permissions can be added to profiles or permission sets. In the end you show some coding that will list all users with a specific custom permission, but only if that permission is linked to a permission set. This code neglects the custom permissions linked directly to a profile and the users associated with it.
    Can you please clarify how to get these users as well?

  5. Amazing post.Thanks for your details and explanations..I want more information from your side.Thank you
    Education erp software in chennai

  6. Everything is good with Custom Permissions except the fact that SOQL that we use to check the permission access costs us and we cannot see all the permissions associated to profiles or permission sets in a single view with Standard functionality.


  7. Amazing Article ! I have bookmarked this article page as i received good information from this. All the best for the upcoming articles. I will be waiting for your new articles. Thank You ! Kindly Visit Us @ Coimbatore Travels | Ooty Travels | Coimbatore Airport Taxi | Coimbatore taxi

  8. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.

    rpa training in bangalore | best rpa training in bangalore | rpa course in bangalore | rpa training institute in bangalore | rpa training in bangalore | rpa online training | rpa training in Chennai


  9. Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done an outstanding job.
    AWS Training in Chennai | Amazon Web Services Training in Chennai
    AWS Training in Bangalore | Best AWS Training in Bangalore
    AWS Online Training and Certification | AWS Certification Course 2019

  10. I always enjoy reading quality articles by an individual who is obviously knowledgeable on their chosen subject. Ill be watching this post with much interest. Keep up the great work, I will be back
    online Python training
    python training in chennai

  11. Awesome article. It is so detailed and well formatted that i enjoyed reading it as well as get some new information too.
    Best Devops online Training
    Online DevOps Certification Course - Gangboard

  12. its a good post and keep posting good article.its very interesting to read.
    Data Science Course in Chennai | R Programming Training in Chennai | Python Training in Chennai

  13. Its a good post and keep posting good article.its very interesting to read.

    R Training in Chennai

  14. Wonderful blog & good post. Its really helpful for me, awaiting for more new post. Keep Blogging!

    Python Training in Chennai | Python Training Institute in Chennai

  15. Information from this blog is very useful for me, am very happy to read this blog Kindly visit us @ Luxury Watch Box | Shoe Box Manufacturer |  Candle Packaging Boxes

  16. Ворожение дозволяет угадать, что вас ждет в предстоящее время. Гадания на ближайшее будущее, на игральных картах это шанс увидеть приближающиеся события всегда привлекал род человеческий. Любой хочет предугадать свое грядущее и воспринимает конкретные типы хиромантии наиболее результативными.

  17. Керамическая идеально подходит к любому интерьеру. Наилучший выбор настенного покрытия способен прикрасить всякую прихожую или ванную комнату. Сосредоточьтесь не только на кафельной плитке зарубежного изготовления, но и на российские идеи. Выбирая такой товар как, например - gayafores купить все равно придется рассмотреть множественное число вариантов.

  18. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    DevOps Training in Chennai

    DevOps Course in Chennai

  19. Продуманное меню и скоростной поиск – это уверенный способ найти необходимую виртуальную игрушку. Только на данной площадке casino x зеркало россия гемблер сможет окунуться в сказочные путешествия. Рулетка – наиболее популярный игральный автомат средь виртуальных игр CasinoXcom.

  20. Учитывайте, что казино х мобильная никогда не возьмет деньги за проведение процедуры верификации клиентов. Техническая служба в любой момент придет на помощь и легко решит максимально сложную задачу. Проверить подлинность платформы реально на основной странице

  21. Get huge discount on Home and Kitchen Appliances,Split and Window Air Conditioner, Mobiles & Laptops online , Television, Speakers & more electronics at best price.
    usha fan heater

  22. Солидный и проверенный импортер всегда сможет предложить невероятный выбор кафельного покрытия для санузла. Фирма продает керамогранит cersanit sevilla в течение десяти лет.

  23. Разновидность тонов и форматов. Керамогранит поставляют в невероятном количестве, и всякая контора планирует предложить особый уникальный проект. Стоимость плитки тоже различается.

  24. Просмотрите ещё несколько неоспоримых преимуществ, которыми отличается керамическая плитка. Экологичный материал, практически безопасен для пользователей. Плитку производят в общем из натуральных веществ. Керамогранит можно применять в залах организаций общепита, в школах и детских садах.

  25. Плюсы закупа моллюсков в магазине «Красный жемчуг»

  26. Все виды предсказания будущего именуются как эзотерика. Любой образ ворожбы индивидуален и предназначен для разных задач. Таро на любовь и подлинность ворожбы напрямую зависит от навыков человека. Каждый рассчитывает подсмотреть свою судьбу и считает конкретные способы гадания более действенными.

  27. Марсоход отправил ученым «селфи» и первые цветные снимки с Красной планеты. Источник

  28. На портале есть несколько полезных статей о подборе проекционных установок. До покупки проектора возможно посмотреть показ особенностей оборудования. Начинающий пользователь не сможет подключить проекционное устройство, потребуется минимальный набор навыков.

  29. Родственника Елизаветы II отправили в тюрьму за попытку изнасилования. Источник

  30. Отличный вкус и небольшое количество ингредиентов любимого кушанья – получить результат возможно благодаря поэтапному руководству. Кстати, нашел незаезженный рецепт вкуснейших куриных крылышек на сайте Чаще всего на праздничном столе раз плюнуть повстречать зажаренную курицу. Мясо птицы – невероятно признанный продукт в нынешнее время.

  31. Кухонную утварь можно символично разбить на пару классов – как декорации и используемые по назначению, для суточного использования. На сайте онлайн-магазина Maksiden просто выбрать сушилка для белья купить в челябинске по наиболее оптимальной стоимости. Наиболее стандартный пример – на каждой кухне обязательно присутствует чайник.

  32. Многие из пользователей предполагают, что гарантировать 100 процентную защиту в сети интернет нереально, впрочем это является огромным заблуждением. Актуальное программное обеспечение обеспечивает надежную протекцию от злоумышленников. ТОР – надежный веб-серфер, который рекомендуется применять для скачивания в Мировой паутине.

  33. Особую тревогу представляют шпионы для популярнейших смартфонов. Взяв нужную информацию о пользователе, злоумышленники станут применять данные в личных целях. Наиболее часто пытаются найти сведения о карточках человека, или же емейлы от онлайн банкингов На телефоне человека, как принято, хранится вся информация о финансах, которая является целью преступников.

  34. Do you need Finance? Are you looking for Finance? Are you looking for finance to enlarge your business? We help individuals and companies to obtain finance for business expanding and to setup a new business ranging any amount. Get finance at affordable interest rate of 3%, Do you need this finance for business and to clear your bills? Then send us an email now for more information contact us now via ( whats-App +918929509036 Dr James Eric Finance Pvt Ltd Thanks

  35. Воспользовавшись площадкой с заданиями в социалках, элементарно получить солидный заказ на выполнение примитивных манипуляций. Помимо платформ фрилансинга присутствует множество бирж по работе в социалках. Соцсети уже давненько считаются результативным средством маркетинга в интернете.

  36. Конечно, оплата за элементарные задания минимальная, но и специальных знаний такая работа не потребует. Например, работодателю требуется выдвинуть группу или фото в социалке, тогда он выбирает исполнителей, что станут подписываться и публиковать приемлемые комментарии. С целью исполнения крупных проектов требуется работать над недорогими заданиями hydra ссылка tor зеркало длительное время.

  37. Бесконтактные проплаты все больше вводятся в повседневную жизнь. Криптомонеты – это новый вид онлайн финансов. На страницах ?ты сможешь посмотреть необходимость накапливания той или иной криптомонеты. Накапливая криптовалюту, есть возможность отлично подработать, ожидая изменения в стоимости.

  38. Благодаря фрилансу запросто реализовывать достаточную прибыть. На этих биржах веб-мастера дают подробные спецзадания, делая которые работник забирает вознаграждение на личный ID учетки. На бирже обязательно есть работа даже для неопытных фрилансеров. Площадки для фрилансеров – это действительно понятный всякому исполнителю метод заработка в инете.

  39. Взять бабки без особых проблем возможно в МФО кредит в банки с плохой кредитной. Существуют различные случаи, например, случайная скидка в супермаркете на желаемый гаджет, или приглашение на торжество. Очень часто складывается ситуация, что вам необходима несущественная сумма денег.

  40. Отправить сумму денег любому человеку или любой компании элементарно всякими методами. На текущий момент есть невероятное количество интерактивных платежных систем. Очень легкий вариант скрытого выплаты средств – это воспользоваться ссылка на гидру онион tokakoka.

  41. Все действия проводятся только в сети, а финансовые операции – с помощью виртуальных кошельков. На настоящей торговой площадке присутствует список особых правил, нарушать их ну нужно. Заказать нужный товар гидра зеркало hydraruzxpnew4af com сможет каждый клиент.