According to our Salesforce Architect, James Martin, Salesforce orgs age a bit like us. When they are young, every day is a care-free new adventure and there is a seemingly endless list of exciting new features. Over time, however, those younger years start to catch up with them. Everything gets a bit slower and starts to creek.
New features have been bolted on top of old and things start to strain under the weight of technical debt. No-one is quite sure what does what. Why was this field created? What does this process builder do? What is causing these mysterious data updates? Changing even small things seems to break something else – an integration stops working or a seemingly unrelated process falls over and dies. Everyday, a litany of Salesforce exception emails arrive. Code that has worked for years is suddenly hitting scary sounding system limits. Everything is a bit of a mess and it’s difficult to know where to start.
Here are a few things you can do to start to get things back under control.
Run the Salesforce Health Check
Search for Salesforce Health Check in setup, trigger the report and within an hour you will get a snazzy report in your mailbox. This report contains a lot of helpful information and gives you some great starting points to begin cleaning up your org. Notably, it provides some very helpful statistics around field usage that you can use to review which ones you may want to deprecate.
Review your Automations
Over time, orgs can mysteriously start hitting Salseforce platform limitations. You may have seen system exception emails start to arrive with errors like ‘SOQL 101’ or ‘CPU Timeout’. Scary sounding ones that sound hard to fix.
In our experience, a common (but certainly not the only) cause for these sorts of errors is the cumulative effect of years of automations being bolted on top of one another. Years worth of triggers, process builders, flows, and workflow rules combining to make saving records sluggish, error prone, and inconsistent when producing results.
As you evaluate your automations you will find overlaps, things that can be turned off completely and some that make no sense at all. Consolidating and redesigning your automations is a great way to learn exactly how things are/were supposed to work, will explain a few ongoing issues that you had put down to those pesky Salesforce ghosts, and will result in a healthier, better documented Salesforce org. Additionally, your new understanding will help you make better design decisions when making future changes to your Salesforce org.
When reviewing your automations, here are some design best practises to keep in mind:
- There should only be one Apex Trigger per object. If you have multiple, there is no guarantee how they will play together so merge triggers where you can.
- As with triggers, you should only have one process builder per object. Hint – use ‘Evaluate Next Criteria’ to consolidate your process automation.
One of the biggest issues is not knowing what everything is for. As you de-tangle, it’s important to document diligently.
The description and help text boxes you see when configuring just about anything in Salesforce are your friend. Start to populate these and make it clear what everything does. Hint – look for the ‘Where is this used’ button in Salesforce setup pages. If you are unsure this can be very helpful in deciphering whether something is being used in a process builder, in code, or in formula fields.
Additionally there are a host of great documentation tools out there. A particular favourite of ours is Elements Cloud. It offers a great feature set to help you document your org’s metadata, your business processes, and run impact analysis on changes before you make them.
Hopefully, this blog has given you a few pointers on how to bring an unruly Salesforce org back into line, ready to scale and add some cool new features.
If this all seems too hard, or you just don’t have time to unpack your org, our Salesforce CRM Health Check or Managed Services packages may be the answer. Let us untangle your org and get you back on track while you focus on your business.