AppAssessor / Admins / RevOps

Analyze Impact and Rapidly Deploy Any Salesforce Changes [In-Depth Overview]

By Andreea Doroftei

Branded content with Salto

Salesforce Admins can spend hours planning a change, moving it between environments, and investigating what made their production org crash. Gain visibility into your org, compare and deploy changes, and minimize the risk of system downtime.

Highlights

  • Save time by visualizing even the most complex metadata in an organized way.
  • Anticipate the impact of changes with complete impact and dependency analysis. 
  • Rapidly deploy changes through multiple environments (CPQ data included) while keeping everything in a version control tool of your choosing.

Controlling metadata changes within multiple Salesforce orgs can be a tricky task, especially when handling complex solutions that need to be safely deployed into the production environment. While change sets are easy to use, metadata API deployments certainly are the future in terms of insight, granular control, and the scalability they provide. 

Salto extracts your Salesforce metadata and organizes it in a user-friendly way, so it’s easy to find any metadata element in your org, including hard-coded values, custom fields, flows and apex classes, while exploring its dependencies and relationships.

By combining an innovative metadata visualization with an easy-to-use deploy flow, Salto is here to lift the burden of time consuming impact analysis and increase the speed at which metadata components are deployed from one environment to another – all while keeping everything in the version control system of your choice.

This overview will showcase the main features and setup effort Salto offers their users, as well as how seamless it can be to review and deploy metadata.

Features

Overall, Salto’s main functionalities have a clear focus on taking full control of all the metadata changes in either production or sandbox organizations, while preserving a well-designed and logical user interface – this is a key element for a browser-based tool. 

As you’ll discover, Salto’s technology treats Salesforce CPQ data as any other metadata type, so the same functionalities apply to CPQ data records as well. 

While I will focus on the Salesforce specific functionalities, keep in mind that the same technology can also be used to support deployments and impact analysis for other business applications such as NetSuite, Jira, and Zendesk.

Identify All Dependencies

Before going through all the other awesome features, it’s important to note one that sets Salto apart: the possibility of using their functionalities to help Salesforce Admins and Developers spot dependencies, and ensure any changes are properly done before going to production. When it comes to metadata changes, performing a detailed impact analysis will make the difference between a successful release and multiple possible bugs. 

Salto is pretty unique with how it represents Salesforce metadata – it groups fields and values in a logical way, and also maps the relationships; when one explores a field, they will be able to see all the elements that are used by the field, as well as elements it depends on. All these dependencies are also clickable – if you notice the top bar, any component you open will remain as a tab at the top of the page. This means you can easily go back and forth between items, just like a Salesforce Console app.

As everyone is familiar with the Stage field from the Opportunity, just imagine how easy it is to know exactly where it is used before deciding to change the picklist values. 

While this can be used for any metadata component, I have chosen to take a deep dive into the standard email address field from the Contact object. This includes where it is used and the level of detail (dependencies) you can access in Salto, without needing to even touch Salesforce. 

NaCl

NaCl (Not Another Configuration Language) is the language Salto has developed especially for readability purposes. NaCl is an easy-to-read text file that displays the XML content in order to understand what a certain component is doing and what the changes are, as well as the dependencies.

In the example below, you can see the NaCL translation of a Standard field. I was just as surprised as you will be at how much sense it makes to see the data in this way, without adding an extra layer of complexity.

Element View

Another awesome feature Salto provides is the element view. This is a visual and comprehensive way to organize metadata in an even more easy-to-follow way than NaCl, ensuring that even junior Salesforce Admins can find their way around using the tool.

While I used a layout as an example, the elements view can be easily used for a wide range of metadata components, including flows! On top of this, you can always switch to the NaCl view or simply open the component directly in the Salesforce interface.

Search Everything

I’m sure that most of us use Ctrl+F day in, day out – the Salto search functionality is just as easy. You can search by any keyword just as you would do in an IDE, with the possibility of making use of Salto’s very own NaCl code or Element view for all the components you will be analyzing from the results. 

You can even search hard-coded elements such as IDs, and all relevant results will be returned for you to know exactly where the reference should be removed from prior to either deleting the record or changing the business logic. Salto provides few ways to find what you’re looking for: 

  1. If you know the name of the element you’re after, you should use the Elements tab that shows only the metadata objects that contain the string you were looking for in their name (as displayed in the screenshot below).
  2. The content tab is kind of a ‘catch it all’ engine – it will scan your entire org and will bring back any metadata, static code, or hard value containing that string.
  3. Within every element or file, you can search in a similar way to ‘CTRL+F’.

On top of this, if you notice the top bar, any component you open will remain as a tab at the top of the page so you can easily go back and forth between items, just like a Salesforce Console app.

Additionally, you should check out this video, demonstrating how Salto can help you easily search and understand a flow’s components even when seeing them for the very first time. 

Enterprise Tier

While a lot of the great features Salto offers are available at no cost within the free product, there are two very important ones which become available with the paid version (the Audit and Deploy tabs respectively), along with many other features such as metadata editor, CI/CD and more.

Deploy

Moving changes from one Salesforce instance to another has never been easier! As long as the two Salesforce instances the deployment should happen between are connected to Salto (and at least one fetch was done for each), you’re all set to create a deployment. 

Salto makes this functionality extremely easy to use by associating a color for each of the environments, and marking the elements according to differences. Also, as you can see below, when deep diving into individual components, you can see the changes between the two, either in the unified or split line-by-line view.

Keep in mind that all the metadata components will be captured when comparing the orgs prior to starting the deployment, including those that are part of managed packages.  

After selecting the elements you’d like to deploy, you’ll also be able to check out the “related elements” tab to see all the dependencies and make sure you didn’t leave behind any necessary objects that could fail your deployment.

CPQ

As part of the new Salesforce Revenue Cloud, CPQ is a solution widely used by Salesforce customers of all sizes, and mostly consists of data which, when wrongfully changed, can have a significant impact on important sales processes. 

While Salto ensures you can perform a thorough impact analysis for free, the paid version allows you to directly deploy any CPQ related components, be them data such as Price or Product Rules, or metadata like a new field on the SBQQ_Quote__c Object.

Git Integration

With Salto Enterprise plan, you can collaborate across team members by connecting with Git solutions (such as GitHub or GitLab, Git on-premise, and more). You can also gain more control over the entire DevOps process by accessing a detailed audit log immediately and deploying (or just comparing) different environments. 

Setup

Getting started with Salto’s free product is very straightforward, and given that you know exactly which Salesforce instances you’d like to connect to, it’s a matter of minutes until you’ll start using it. 

After signing up, you’ll have to connect your org and authenticate with a method of your choosing.

Once done, Salto will automatically create your first Environment and run an operation called `Fetch` which is basically extracting your entire metadata into Salto and translating it into the views mentioned above. This can take a few minutes, depending on your org size.

While you might be accustomed to using commands in an IDE to pull data, Salto offers the possibility of scheduling and deciding when the fetch should happen, so you will always have the most recent data. The fetch can be performed on demand, as well as hourly, daily, or weekly. The free product allows the automation of the weekly fetch, while the other two options become available in the premium version. 

Moreover, you can choose the exact time the fetch will happen, as well as any time zone that makes sense for your needs. You can also modify the fetch configuration to be exactly what you’re looking for, by using the available configuration options to either include or exclude certain components – for example, you can fetch all metadata concerning the Account object for a targeted fetch. This can be useful when you need to align some parts of your environment before starting to work on a new project. 

Prior fetches and details can be accessed easily from the top-right corner of an org’s page. The manual fetch can also be triggered from here.

If you run into any issues, the Salto team is available to offer support within the platform through the integrated chat option.

Summary

All in all, Salto is one of the most user-friendly tools I have used in a while. It is obvious that their team has put in a lot of effort to not only offer a stable and scalable product, but also to make sure it covers the most important business applications in an organization – Salesforce included. 

No matter what kind of metadata complexity an instance has, Salto is here to reduce the time and effort required in spotting all implications of a change. Feel free to request a demo, and make use of Salto’s free product before deciding if you’re ready to purchase any of the paid features. 

The Author

Andreea Doroftei

Andreea is a Salesforce Technical Instructor at Salesforce Ben. She is an 18x certified Salesforce Professional with a passion for User Experience and Automation. 

Leave a Reply