Salesforce deployments are difficult, time-consuming, and require a high level of coordination between project teams. This well-known fact is especially true for large releases such as complex pieces of code.
Salesforce change sets are still the only native solution for deployments between Salesforce environments. While change sets are powerful, you must manually select which items should be included in the deployment – plus, change sets don’t offer any insight into the success of the package deployment.
Gearset is a cloud-based DevOps app that works as a release management solution enabling Salesforce teams to easily deploy between Salesforce environments, back up data, and monitor changes.
Gearset’s many features can be utilized to make the deployment process run smoothly, identify key changes between environments and control what is released and when.
As a Salesforce Consultant carrying out multiple deployments for clients, I can vouch for how powerful this tool is, especially as you can leverage Gearset to manage different client environments without having to install any software.
This in-depth review will dive into Gearset’s features, ideal use cases, setup effort and the potential impact a tool such as Gearset can offer your organization.
Gearset Features
Gearset is a cloud-based solution and as such can be accessed via any browser on an internet-enabled device. Log in to the app using your Salesforce credentials (production or sandbox), Google account or LinkedIn.
Let’s review each feature of the application starting with its capabilities around metadata deployments, then data backup and finally, data deployments.
Gearset Metadata Deployments
Gearset’s Metadata Deployment feature runs a comparison between Salesforce environments to identify key differences between metadata. This means you can select which items to deploy, and in turn, easily build deployment packages without forgetting essential items.
While it’s a replacement for Salesforce change sets, Gearset is much more sophisticated, providing you with a very detailed report of the differences between environments (down to the field level!).
You can also identify rogue changes between sandbox and production environments, introduce source control, and even do deployments to and from Salesforce scratch orgs.
In order to run a comparison, define the source and target environment (e.g. between a sandbox and production, or between sandboxes). Gearset lets you compare and deploy between any two environments: Salesforce orgs, local files, or Git branches. You can even create a new scratch org or Git branch from the UI.
As you build the comparison, decide whether you want to run a full comparison or target a specific area (note: installed packages will be taken into account during the comparison).
Gearset will present you with a comprehensive screen upon completion, detailing the following areas:
- Changed Items: The feature exists in both environments, however there are differences between the build.
- New Items: The feature exists in the source environment but not in the target environment.
- Deleted Items: The feature has been deleted from the source environment but still remains in the target environment.
- All Items: Full list of features.
- Selected Items: The features that have been selected as part of the deployment package.
The bottom section of the comparison screen is a diff viewer, which allows you to click items in the comparison tabs to see the difference between environments, in detail. Colour codes marking the changes make reviewing a user-friendly experience – even the smallest of changes such as changes in picklist values.
Dependency Analysis
One of the most powerful features of the metadata deployment tool is the dependency analysis. Gearset is powerful enough to identify when a user has selected a feature for deployment that has a dependency on a different feature that is not yet in the target org.
The tool will then suggest this feature as a missing component in your deployment package and it will allow you to add the feature to the deployment. This dependency analysis happens prior to validation, which of course means the package is more likely to validate as Gearset has already identified points of failure and suggested amendments.
Profile Management
Another great feature of Gearset is how its metadata deployment tool handles profiles.
Typically, users would have to re-deploy the entire profile as part of a change set in order to amend profile permissions. Gearset, on the other hand, allows you to select profile permissions and pick and choose what permissions to deploy, for example, deploy field level security changes between environments without having to re-deploy the entire profile.
By breaking down permissions to the smallest possible change, the tool allows greater flexibility for security changes than any other tool in the market.
Filtering/Search
Another great value add! Filter down by the type of change, for example, Custom Field, Custom Tab, Validation Rule, and search by the API name, or name of the change. The user who owns the change is also included, which makes it easier for filtering by the user.
Deletions
Unlike change sets, Gearset can be used to deploy deletions or ‘destructive changes’. In other words, users can delete redundant work safely in a development environment and deploy that change, rather than risk deleting anything directly in production.
This cuts down on the number of deployments required to make a change. These destructive changes can be managed via the comparison screen.
Problem Analysis
Once a draft deployment is ready, Gearset will run an analysis and highlight anything that may result in an unsuccessful validation of the package, such as missing components. You have the chance to make changes to the deployment and add the missing items.
Gearset also suggests code quality improvements using the rules that users have selected from PMD’s static code analysis ruleset. Gearset allows you to click on the links provided to navigate directly to the relevant parts of PMD’s documentation.
Comprehensive Deployment Summary
Once ready to go, you can view a comprehensive summary of the changes in the deployment package, with icons that outline which items are to be created, changed, and deleted. A total at the top summarizes the number of changes included in the deployment.
What is most notable is that this is all happening from the Gearset application without having to log in to Salesforce.
You can assign a name to the deployment package and include additional notes. This is key because your team can review the deployment summary notes to understand the changes that took place, in the future.
Gearset will run the Salesforce validation of the deployment package and notify you of any successes/failures. Similar to Salesforce change sets, from Gearset you can determine which tests to run during validation.
Upon deployment success, Gearset will generate a detailed PDF of the changes in the deployment (which is a great document to share with clients for any consultants out there leveraging the tool!).
Schedule Deployments
You can determine the date and time of release and the tool will execute the changes. This is incredibly powerful for those late-night deployments that need to be executed outside of office hours!
Gearset can notify you, and any other team members, either by email or text message to ensure deployment visibility among your team.
Deployment History & Rollback
Gearset will keep a detailed history of all the changes that have been made between environments. Unlike changesets, you can leverage the deployment history to execute full or partial rollbacks in case a deployment happened incorrectly, eg. a bug was deployed.
This is a lifesaver feature for any user who needs to revert a change. You can rollback any deployment in your Gearset history!
Gearset also allows you to re-deploy a package, which means a package that was successfully deployed between Dev and UAT sandbox can be set for deployment to production without having to re-create the deployment.
Monitoring Dashboard
Gearset’s change monitoring tool takes daily snapshots of your org and highlights any changes made – a great tool for internal admins to identify rogue deployments, or changes made directly in production. Monitoring jobs can be set to run once a day in the background and additional snapshots can be run on demand. You can choose whether to get notifications on every run, or just when something has changed.
You can dig into the history of any change monitoring job. From the monitoring history page, you can see which job runs found differences and take action to keep things in sync. If there are changes in PROD, for example, you might want to click ‘roll back’ and restore the org as it was before that change. Or if the change was a hotfix in production, you can push these changes to your sandbox to realign the environments.
Unit Testing
Salesforce change sets will only validate if testing meets the criteria of 75% code coverage. These are standards that should apply to every deployment.
While unit tests will be executed and code coverage checked at the time of the deployment, you can set up jobs in Gearset to keep running your unit tests in the background and highlight any code coverage issues. This prevents tests failing silently later on. Admins can regularly check for poor code coverage and ensure the environment is always deployment-ready.
Continuous Integration
Continuous integration jobs automatically test and deploy changes between environments, or they can be continuous validation-only jobs.
Gearset’s CI tool will check for deployability between environments and identify issues between deployments, which is very powerful for anyone working between environments, in order to automate deployments (eg. between a the main branch of your Git repo and UAT sandbox, for testing).
Data Backup
Gearset has powerful data backup functionality. Backup jobs can run either daily or hourly, which some organizations need to keep track of business-critical data (backed-up records can be available to restore as recently as 1 hour ago). You can also create backups on demand, which is useful in critical situations such as before a big release.
Note: backup data is stored in AWS, and you can pick between data centres located in the USA or Europe.
Automatic Data Backups
It can be a good idea to schedule automated backups to run after a business critical task happens, such as keeping track of invoicing.
As with other parts of the app, you can set up custom email/text notifications, and also Slack or Microsoft Teams.
You can set an API credit limit, which of course, is very useful in order not to exceed the Salesforce API limit and prevent other processes from running!
Smart Alerts
You can set up smart alerts on your backup jobs that monitor records in Salesforce and flag changes when a trigger point is met, for example, when more than 100 records are deleted from a certain object.
This feature is flexible as you may want to monitor an object such as ‘Invoices’ more closely than ‘Contacts’. Speed is key in these situations and thanks to Gearset data backup, you can quickly restore the data and prevent data loss.
Data Backup History
Clearly see the life cycle of data in your Salesforce environment – especially big changes such as an import of new records, or big deletions – thanks to this great overview. Choose any backup run to restore data and metadata from.
Data Dependencies Analysis
Gearset will check dependencies between deleted records and provide you with intelligent suggestions for data restore, including references to dependent objects.
Let’s say you have a master-detail relationship between a custom object and the ‘Opportunity’ object. If you accidentally delete a series of records, you can restore the custom object records but you will also need to restore any parent Opportunities that may have been deleted as part of the incident (due to the master-detail relationship). Gearset would take care of that for you!
Trigger/Validation Disablement
When performing data updates in Salesforce it is a best practice to disable validation rules and triggers that may cause the data import to fail.
Gearset allows users to disable/enable validation rules and Triggers from the Gearset interface making the data restore process smoother!
Data Deployments
Gearset allows you to deploy data between environments, which is incredibly useful for moving records between orgs, such as CPQ deployments where the configuration heavily relies on record data.
Salesforce has been advocating scratch orgs for code testing in recent years and deploying test data to these or other testing environments is another key use case for Gearset Data Deployments.
Templated Data Deployments
Predefine a data load template for deployments between environments, allowing anyone to quickly launch deployments – particularly useful when testing between DEV, UAT and PROD.
Filter Data to Import
Define filtering rules for import, for example, you could set criteria to only move ‘Accounts’ that meet criteria between environments (eg. Industry = Manufacturing).
Data Masking
Mask data for an added level of security, so the data in testing environments doesn’t contain personally identifiable information. Gearset allows you to determine which fields to mask from an easy-to-use interface, down to the field-by-field level. While the data will be masked, Gearset will populate the field with a realistic data value to not disturb testing while still providing data security (eg. by masking ‘Billing City’, Gearset will populate a real city).
Use Cases
We have already covered multiple examples of how Gearset can be used to add value to your organization. Here are some clear winners where I believe users can benefit from this tool:
Salesforce Admins & In-house Developers
Teams of in-house devs and admins can use Gearset as a powerful solution for managing their releases and monitoring the health of their orgs. Developers and admins alike can leverage the metadata deployment features to deploy changes between environments because of how user-friendly the user experience is. They can also easily spot where someone may have made rogue changes, roll back metadata changes, and recover data from backups.
Developers can use Gearset’s unit testing tool to ensure their code is always up to standard and the environment is ready to receive code changes.
Gearset makes it possible for these teams to adopt source control and continuous integration, moving to a DevOps workflow without needing to use the CLI.
Salesforce Consultants
It was as a Salesforce consultant that I first encountered Gearset.
Gearset allows you to connect to multiple orgs, which means we could benefit from the value Gearset provides across our clients.
Having previously worked on CPQ projects, CPQ can be some of the most difficult deployments due to the dependency on record level configuration. Gearset facilitates these types of deployments by identifying dependencies between the data and providing an easy interface. No more spreadsheets!
Finally, I will admit to having used Gearset for ‘hail mary’ deployments, in cases when a consultant has left the business and has not properly documented their work. Consultants who find themselves in this situation can leverage the tool to identify differences between environments and push configuration that is missing from the target environment.
Impact
- Save Time: deployments are difficult and time-consuming. Creating change requests in preparation for big releases is painful – trust me, I’ve been there! Gearset significantly cuts down deployment time.
- Governance: enforce best practice deployment strategies and monitor changes made in your production environment regularly.
- Security: back up everything and get smart alerts to notify administrators of data loss incidents, within minutes of critical incidents!
- Expert Support: Empower your team with Gearset’s extensive user documentation and leverage Gearset support (included with all tiers) to unblock issues with the app.
And, it will only keep getting better. Gearset is continuously evolving as a tool and has quickly made a name for itself as the go-to tool for any Salesforce user.
Setup & Support
The best part about Gearset is that there truly is no setup for this application. Once you have been granted a license for the Gearset tools set for your organization, they may access the Gearset application from any browser. No installation, no setup, and 24/7 access to the cloud.
Support is included for all Gearset customers, even those trying out the app on the 30-day trial. The help widget will follow you around the application and is always available to initiate the chat. While at this time Gearset does not have SLAs for support, the response time is typically within 5 minutes.
Pricing
Gearset’s metadata tools are available in two license tiers: Pro and Enterprise. Data Deployment is an add-on. Data Backup can be purchased as a standalone product or integrated with the rest of the solution. For the latest pricing, please visit the Gearset website to request a quote and speak to a sales agent.
Final Thought
Gearset, a cloud-based, Salesforce-specific tool, has an offering that focuses on the features you need today, then add on as your business grows.
I have been incredibly impressed with Gearset, both during this review and in my role as a Salesforce Consultant. Don’t take just my word for it – their customers include Disney, Intercoms, Sonos, J&J, IBM, Accenture and Tripadvisor.