SFDC Config

Salesforce's "Where is this used?" vs. Salto's impact analysis

Written by
Pablo Gonzalez
Business Engineering Architect
March 2022
3 min read
Impact analysis is the ability to foresee the impact of a change in your Salesforce configuration and metadata.

Salesforce provides native impact analysis for custom fields through the "Where is this used" feature, allowing you to see what other metadata components and configurations are using a field.


A common question that we get is how Salto's impact analysis is different from Salesforce's "where is this used"? So let's go through some use cases:

Get started with Salto

Find all those hardcoded IDs once and for all

Try Salto free ≥

Support for standard fields

This Salesforce native feature lets you see where a custom field is used. However, if you want to know where a standard field (like Opportunity.StageName, for example) is used, you are out of luck.

For Salto, a standard field is the same as a custom field, just another "element."

Here's what the "where is this used" view looks like for the Opportunity.StageName field:


More than just fields

When we think about impact analysis in Salesforce, we almost always talk about where a field is used.

The truth is, custom fields are just one of many metadata types in Salesforce that can be used by other metadata types. Let's see other examples:

Where a visualforce page is used


All the places where an email template is referenced


The above is an example of a textual search, which is another way of doing impact analysis.

Get started with Salto

Impact analysis for all metadata types

Create free account ≥

Exactly where a field is used

The "where is this used" feature in Salesforce will only show you the name of the metadata where a field is used, but it won't tell you exactly where within that metadata:


Here, I can see that the field is being used in many flows. But exactly where in those flows? In screen elements? Decision elements? Fast updates? The only way to know is to open the flow and inspect all the elements one by one.

In Salto, we can tell you the exact location of the field within the flow's metadata:

In the above example, I can see the field is used in 3 different elements within the flow.

When it comes to apex classes, you can even see a preview of where the field is used without going through the entire code. In the following example, we can see how the Opportunity.StageName is used by the apex classes.


Dependencies at a glance

The final key element of our approach to impact analysis is that we can annotate any metadata with the dependencies we know exist without you having to ask for it explicitly.

Let's see an example:

We are seeing an apex class and its sibling metadata file, which contains the apiVersion, name, etc. Salto expands this file by adding generated_dependencies, a list of other elements that the apex class has a reference to.

In this particular example, we can see that the apex class references two other apex classes, the standard Lead object and another custom object

That's it for today. Until the next post!
Written by
Pablo Gonzalez

Pablo is a Business Engineering Architect at Salto. He is the developer of HappySoup.io and has 11 years of development experience in all things Salesforce.