Salesforce CPQ deployments are well known for being challenging. But we believe that no part of your DevOps workflow needs to be hard work. While there’s already a way to deploy CPQ with Gearset, we’ve dedicated ourselves to building something even better.
The new and improved CPQ deployment feature in Gearset is now in pilot and we’re welcoming users to enable it in their account settings and give it a go. We walk through how the new tooling works below so you can see how it will make your life easier!
If you've already got a Gearset account and want to just dive right in, you can enable CPQ deployments via the Pilot features page.
What is CPQ?
Salesforce CPQ (Configure, Price, Quote) is a native Salesforce app that enables sales teams to create customized quotes for their customers with any given product and pricing configuration. Its powerful set of features streamlines the sales process, reducing the time taken to close deals and generate revenue.
The challenges of deploying CPQ configuration data
While Salesforce CPQ is undoubtedly a powerful tool for companies to use, deploying CPQ changes is notoriously tricky. It certainly shouldn’t be confused with being exactly the same as deploying metadata.
Several major reasons account for this complexity:
- The CPQ data model is extremely complex and requires specialized knowledge and expertise to implement and maintain it.
- Due to underlying metadata dependencies, deploying CPQ configuration data often involves two separate deployments.
- Deploying data is inherently more complex than metadata due to record IDs changing between different Salesforce orgs.
- Managing and maintaining changing record IDs can be error prone, requiring complex setup stages and ongoing maintenance using a combination of spreadsheets and running Apex scripts.
- Compared to metadata deployments, there’s often no easy way to integrate CPQ deployments into existing DevOps processes. It makes tracking changes difficult and little ability to provide awareness of the CPQ configuration changes that are taking place.
A new approach to CPQ deployments using Gearset
Gearset is known for providing an easy-to-use and effective DevOps solution. We believe that this philosophy can be extended to include deploying CPQ configuration changes. Simply put, we’re taking all the experience and features we’ve built in Gearset to make deploying metadata intuitive, and using them to make deploying CPQ config data indistinguishable from deploying regular metadata.
Just as Gearset lets you view XML differences for standard metadata, we’re also now rendering CPQ differences in the same way, bringing unparalleled transparency and understanding to how CPQ configuration data differs between orgs.
Critically, Gearset will automatically manage deploying new CPQ records at deployment time, removing the need to manually maintain relationships and making the path to migrating CPQ changes between your orgs a significantly easier process.
The benefits of Gearset’s new approach to CPQ deployments
- Gearset’s new 1-click external ID creation wizard for CPQ removes the need for Apex scripts and manual configuration before a deployment is even possible.
- CPQ configuration differences can be easily displayed alongside your metadata for which dependencies often exist.
- Our pre-comparison CPQ object filter feature lets you specify which CPQ objects you’re interested in retrieving for the comparison—reducing comparison time.
- You can roll back CPQ changes from a previous deployment.
- Automated monitoring of changes in your org will include your CPQ configuration data.
- Get a full deployment history of your CPQ deployments.
- CPQ deployments will more easily integrate with your existing release process (CI and Pipelines support planned).
Getting started with Gearset’s new CPQ deployment functionality
Gearset’s external ID setup overview
Before deploying CPQ configuration data, you need to run Gearset’s new external ID setup wizard on both your source and target orgs. You only need to go through this process once, unless new objects are added. Handling the setup of the external ID process within Gearset brings several benefits:
- Adding the external ID is a simple, automated operation requiring no complex configuration.
- It helps prevent duplicate records from being created.
- It enables Gearset to easily identify the type of changes that need to be deployed.
- The external ID doesn’t interfere with any existing CPQ external ID fields you might already have.
- It allows you to roll back CPQ changes easily using Gearset’s deployment rollback feature.
Running the external ID setup wizard
You can enter the setup wizard either from the list of your connected Salesforce orgs or by choosing the Run setup option that appears when you select an org that has CPQ enabled.
Before starting the setup process you can give the deployment a name and it’ll be stored as an entry in your metadata deployment history with the source metadata location being displayed as CPQ external ID setup.
Note: You should disable any validation rules or triggers before starting the external ID creation process as they may cause the deployment to fail.
Step 1: Gearset checks the org to make sure Gearset’s external ID field can be added.
Step 2: A metadata deployment adds the external ID field to your CPQ and related objects.
Step 3: Gearset will then populate those external ID fields that were added in step 2. Gearset will derive its external ID value from the existing Salesforce record ID.
The deployment success page will confirm that the deployment has successfully added the Gearset external ID field.
Configuring your CPQ comparison requirements
Once the external ID setup has been run on the source and target org you’re almost ready to begin comparing and deploying your CPQ configuration data.
The next step is to correctly configure and choose the CPQ objects and related metadata that you wish to include in your comparison. You can do this via the metadata filter, which is located next to the Compare Now button via the dropdown.
To correctly configure your comparison for CPQ comparisons and deployments, you should include the following via the filter dialog:
SBQQ managed packagevia the managed packages section
- The CPQ objects that you wish to include via the CPQ tab
- Any related Salesforce metadata that your CPQ configuration may also have a dependency upon. These typically would include, although are not limited to,
Global value set,
Global picklistvia the metadata tab.
Deployment failures can often result in not having configured your comparison correctly and lead to common deployment errors such as
Field not found.
You can also choose to include Billing objects in the comparison. Advanced Approvals support is planned for Q4, 2022.
Once the external ID setup process has been run on both orgs, and you've configured your comparison to include the necessary CPQ and related metadata your comparison can be started.
CPQ comparison results
CPQ config data is displayed in the results grid, just like Salesforce metadata. You can select and deploy both metadata and CPQ config data as part of the same deployment.
CPQ data will be indicated in the metadata type column using the CPQ prefix (e.g. CPQ product, CPQ template, CPQ product options etc.).
Expanding a CPQ item in the comparison results will display any components or dependencies for that particular item which you can also include in your deployment.
Gearset will automatically handle the population of the record ID for any new item you deploy as part of the final deployment stage process.
The deployment stage of metadata and CPQ
Just like with metadata, any deployment package including CPQ items will also undergo a series of checks to detect common issues that may cause your deployment to fail. These include checking for missing config dependencies and any metadata that also needs to be included for the CPQ deployment to succeed.
The pre-deployment summary will show the full list of CPQ config data being deployed, including any that have been added via the problem analyzers. You can add a name and deployment notes for the deployment which will appear in the metadata deployment history.
Once the deployment process has started, Gearset will deploy any metadata included in the deployment package first. Should this deployment fail, Gearset will follow its current behavior of stopping the deployment and rolling back any metadata changes meaning your Salesforce org is in its original state. No CPQ deployment will be attempted.
Once the metadata has been deployed successfully, any tests will then run, and assuming all tests pass, your CPQ configuration data will then be deployed.
Note: only changed CPQ items can be rolled back at this time.
From the deployment success page you can see the summary of items deployed with a direct link to each record for easy navigation. The deployment summary will also be added to your deployment history.
Plans for GA and beyond
We develop Gearset by constantly listening to user feedback and using it to help guide and prioritize feature development. Based on existing feedback and the opportunities that the new approach affords, our development plans currently include:
- Adding support for deleting CPQ configuration.
- Adding support for deployment rollback for any type of changes that were originally made.
- Providing the ability to source control your CPQ configuration.
- Integration with our existing change monitoring feature which will automatically check and alert you to changes made to your CPQ configuration.
- Gearset’s unique problem analyzers are one of the core reasons users deploying with Gearset have deployments that work first time. We’ve already added in a problem analyzer to check for missing dependencies for CPQ changes and we’ll continue to add more automatic checks to help make CPQ deployments work first time.
- While it’s extremely useful to see your CPQ config differences in JSON format, we’ll be adding custom rendering for CPQ configuration to make it more readable.
- Integration with CI as part of your release pipeline.
Joining the CPQ pilot
If you’re interested in joining our pilot, you can easily enable CPQ compare and deploy in Gearset by navigating to Pilot features in My account. As our new CPQ deployment feature is currently in pilot, please note that features and functionality may change without notice. While the feature is still in pilot, we recommend using it for testing purposes only.