{"id":7614,"date":"2022-08-31T19:29:25","date_gmt":"2022-08-31T23:29:25","guid":{"rendered":"https:\/\/www.jitendrazaa.com\/blog\/?p=7614"},"modified":"2022-08-31T22:25:58","modified_gmt":"2022-09-01T02:25:58","slug":"20-steps-to-perform-salesforce-healthcheck","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/20-steps-to-perform-salesforce-healthcheck\/","title":{"rendered":"20 Steps to Perform Salesforce Healthcheck"},"content":{"rendered":"\n<p>You have been working on Salesforce implementation for a long time and as an Architect you need to do X-ray of Salesforce implementation because of <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Take a decision to decide brownfield vs greenfield implementation<\/li><li>Can we bring new business capabilities to existing org<\/li><li>Why does it take time to make even more minor changes<\/li><li>Why new capabilities break existing functionalities<\/li><\/ul>\n\n\n\n<p>If your team is facing the above issues, chances are pretty high that you have technical debt in Salesforce, and it&#8217;s time to do a health check. <\/p>\n\n\n\n<p>However, how can you do the health check, what are some essential aspects of reviewing your implementation?<\/p>\n\n\n\n<p>In this blog post, I would share some pointers on how health checks can be done. If there are some other areas you think should be considered, please feel free to drop comments in this post.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1. Total Objects in Org<\/h5>\n\n\n\n<p>There is a limit of <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=000334022&amp;type=1\">3000 custom objects<\/a>, if the total objects are more than 1500, it could be a hint that you have a complex org<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">2. Records in each org<\/h5>\n\n\n\n<p>If you are nearing the storage limit, it&#8217;s an indication of a large data volume, and you need to consider an archival strategy.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h5 class=\"wp-block-heading\">3. Total field on each object<\/h5>\n\n\n\n<p>Check how many objects have used 80% capacity of fields. Make sure to run an analysis to see how many fields are used. You can use AppExchange tools like <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=a0N30000003HSXEEA4\">a field trip <\/a>to know if fields are used or not. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">4. Salesforce Classic Org<\/h5>\n\n\n\n<p>If you have an old org, make sure to run the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.lex_transition_assistant.htm&amp;type=5\">lightning experience transition assistant<\/a> tool and follow the recommendations. Also, don&#8217;t forget to use the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.lex_enablement_pack.htm&amp;type=5\">Enablement pack.<\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">5. Identify objects having many sharing rules<\/h5>\n\n\n\n<p>Sharing rules could impact org performance. There is a limit of 300 sharing rules per object but that does not mean we have to use a limit. If total sharing rule is above 150, its time to think about similification <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">6. Workflow &amp; Approval Rules<\/h5>\n\n\n\n<p>There is a limit of 500 rules per object, identify the object which has most of the active rules and plan to remove inactive rules.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">7. Flows<\/h5>\n\n\n\n<p>It is best to know how many flows we have in the org and compare them <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.flow_considerations_limit.htm&amp;type=5\">against the limit<\/a>. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">8. Validation rules<\/h5>\n\n\n\n<p>Too many validation rules on objects could impact performance. If there are any inactive, make sure to clean them.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">9. Inactive rules<\/h5>\n\n\n\n<p>I already mentioned above but it&#8217;s worth focusing on this area. Get the list of all inactive approval processes, validation rules, workflow rules, process builders, etc, and plan to clean them.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">10. Process Builder<\/h5>\n\n\n\n<p>Process builder should be moved to Flows because of better performance. if your org still has some old process builders, make sure to plan to migrate them as a Flow.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">11. Attachments<\/h5>\n\n\n\n<p>If your org still has attachments, plan to migrate them as Salesforce files. There are utilities that could be used to migrate attachments to files.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">12. Unused Reports &amp; Dashboard<\/h5>\n\n\n\n<p>Run a report to identify unused reports, that&#8217;s fancy. This is one of the major technical debts that I see for most of our customers. Over a period of time, we create thousands of reports. If reports were not run in the last 1 year, you can assume it&#8217;s safe to delete them. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">13. Unused Page layouts &amp; Record Types<\/h5>\n\n\n\n<p>Identify how many page layouts are just sitting there but not mapped to any profile or record types are not mapped to any profile. Plan to clean them up<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">14. Unused Profiles<\/h5>\n\n\n\n<p>Do some analysis and identify if there is any custom profile that was created previously but does not have any user assigned. If there are few users, investigate if the permission set can be used or not.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">15. Customizations<\/h5>\n\n\n\n<p>Check your org that what % of customizations are done. Anything above 70% means the org is complex. Make sure to run code analysis using PMD &amp; security analysis using Checkmarks and make sure you have optimal code quality. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">16. Visualforce pages<\/h5>\n\n\n\n<p>There are still a few features like render as PDF or email template that needs Visualforce pages. However, check if there is possibilities of replacing visualforce pages with lightning components or change its style to support the lightning experience. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">17. Aura Components<\/h5>\n\n\n\n<p>Aura components could drag the performance of your overall applications. Make sure to plan to replace the Aura component with LWC. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">18. Admin Permissions<\/h5>\n\n\n\n<p>Identify how many profiles have permissions like Modify All Data, View Setup, etc, and make sure only a few users have those profiles assigned. Salesforce implementations should follow the <strong>Zero trust policy<\/strong>. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">19. Use Salesforce Health Check<\/h5>\n\n\n\n<p>Run the Salesforce tool for a<a href=\"https:\/\/trailhead.salesforce.com\/content\/learn\/modules\/security_basics\/security_basics_healthcheck\"> health checkup<\/a> and make sure you have a plan to address the recommendations. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">20. Find Unassigned Roles<\/h5>\n\n\n\n<p>Identify how many roles have no user assigned and see if that can be cleaned up<\/p>\n\n\n\n<p>Do you think I missed something important? please feel free to drop comments in this post &amp; I could add that tips from you highlighting your contribution.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Conducting Salesforce Health Check Analysis in simple 20 steps<\/p>\n","protected":false},"author":1,"featured_media":7629,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[348,525,526],"class_list":["post-7614","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-best-practices","tag-healthcheck","tag-technical-debt"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/08\/Health-checkup-of-cloud-1.png?fit=512%2C512&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":7757,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/10-differences-between-salesforce-solution-and-technical-architect\/","url_meta":{"origin":7614,"position":0},"title":"10 Differences Between Salesforce Solution and Technical Architect","author":"Jitendra","date":"March 17, 2023","format":false,"excerpt":"Discover the amusing tale of a Salesforce project , where confusion arises between the roles of Solution Architect and Technical Architect. This engaging story highlights their journey towards understanding the 10 key differences between their roles, leading to project success. Learn how proper communication and collaboration can help differentiate between\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Top 10 difference in roles & responsibilities of Solution & Technical Architects in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":26188,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-cpq-what-the-future-holds-when-rlm-is-on-horizon\/","url_meta":{"origin":7614,"position":1},"title":"Salesforce CPQ &#8211; What The Future Holds When RLM is on Horizon","author":"Jitendra","date":"December 28, 2024","format":false,"excerpt":"Salesforce CPQ is a solution for managing complex product configurations and pricing, integrating seamlessly with Salesforce environments. Key features include Product Bundles, Configuration Attributes, and Multi-Dimensional Quoting (MDQ). With the advent of Revenue Lifecycle Management (RLM), CPQ's functionality is evolving to address subscription models and enhance revenue management efficiency.","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce CPQ","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2024\/12\/Salesforce-CPQ.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2024\/12\/Salesforce-CPQ.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2024\/12\/Salesforce-CPQ.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2024\/12\/Salesforce-CPQ.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2024\/12\/Salesforce-CPQ.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":30732,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-b2c-commerce-cloud-complete-guide\/","url_meta":{"origin":7614,"position":2},"title":"Salesforce B2C Commerce Cloud Complete Guide","author":"Jitendra Zaa","date":"December 19, 2025","format":false,"excerpt":"Master Salesforce B2C Commerce Cloud with this comprehensive guide. Learn about Demandware's evolution, SFRA vs Headless architecture, Einstein AI capabilities, Cyber Week performance data (2020-2025), implementation best practices, and real-world customer success stories from Adidas, Puma, and L'Or\u00e9al.","rel":"","context":"In &quot;Mulesoft&quot;","block_context":{"text":"Mulesoft","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/mulesoft\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/Salesforce-B2C-Commerce-Cloud-Complete-Guide-featured.png?fit=1200%2C630&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/Salesforce-B2C-Commerce-Cloud-Complete-Guide-featured.png?fit=1200%2C630&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/Salesforce-B2C-Commerce-Cloud-Complete-Guide-featured.png?fit=1200%2C630&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/Salesforce-B2C-Commerce-Cloud-Complete-Guide-featured.png?fit=1200%2C630&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/Salesforce-B2C-Commerce-Cloud-Complete-Guide-featured.png?fit=1200%2C630&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":30745,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-business-rules-engine-guide\/","url_meta":{"origin":7614,"position":3},"title":"Salesforce Business Rules Engine Guide","author":"Jitendra Zaa","date":"December 20, 2025","format":false,"excerpt":"Master Salesforce Business Rules Engine. Complete guide covering expression sets, decision tables, matrices, real-world use cases, and implementation.","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Business Rules Engine Complete Guide - Featured Image","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/BRE-Guide-Featured-16x9-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/BRE-Guide-Featured-16x9-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/BRE-Guide-Featured-16x9-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/BRE-Guide-Featured-16x9-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/BRE-Guide-Featured-16x9-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":5094,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included\/","url_meta":{"origin":7614,"position":4},"title":"10 Salesforce Integration design considerations from Architect point of view &#8211; Mind Mapping included","author":"Jitendra","date":"December 21, 2015","format":false,"excerpt":"After working on multiple Salesforce implementation project as an Architect, its time to share\u00a0what I learned from those implementations and would strongly suggest to be considered before designing any \"Salesforce Integration\". Below image shows \"integration mind mapping\" used by me. I use it to consider some major aspects\u00a0while discussing integration\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Integration Mind mapping diagram","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6455,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/quick-summary-of-salesforce-identity-connect-capabilities\/","url_meta":{"origin":7614,"position":5},"title":"Quick Summary of Salesforce Identity Connect Capabilities","author":"Jitendra","date":"April 19, 2018","format":false,"excerpt":"Short & quick note about Salesforce Identity product","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Identity Connect","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/04\/Salesforce-Identity-Connect.png?fit=1000%2C400&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/04\/Salesforce-Identity-Connect.png?fit=1000%2C400&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/04\/Salesforce-Identity-Connect.png?fit=1000%2C400&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/04\/Salesforce-Identity-Connect.png?fit=1000%2C400&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=7614"}],"version-history":[{"count":4,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7614\/revisions"}],"predecessor-version":[{"id":7631,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7614\/revisions\/7631"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media\/7629"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=7614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=7614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=7614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}