Configuration Selection Rules

by Community Manager on ‎07-21-2015 06:01 PM - edited on ‎04-12-2017 05:15 PM by Community Manager


A Configuration Rule is a feature that operates within a Product Rule. This feature allows you to establish conditions that will automatically select (add), deselect (remove), enable, disable, enable & add, or disable & remove options in a bundle. When used within a Product Rule of the Selection Type, Configuration Rules will save some clicks and provide immediate feedback to the sales user when the “Apply Immediately” field is selected on product options and configuration attributes. 


The conditions are able to use summary variables, formulas or plain values.



Configuration Selection Rules are established by setting the Type field of a Product Rule to Selection, then creating Product Actions and Configuration Rules as needed:


Product Action Standard Fields:

Rule Name of the product rule the product action is related to.
Type Declare the behavior of this action
Product Select the product that this action should manipulate within configuration when the conditions are met
Required Select this field for product selection rules.


When the parent Product Rule Type is set to Selection, the following field values will become available for the Type picklist field on the Product Action page:



Add Within configuration, this will select the specified product.
Remove Within configuration, this will deselect the specified product.
Enable Within configuration, if a product is disabled (check box is not selectable), this will enable the checkbox so it is selectable by the user.
Disable Within configuration, this disables a product so it is no longer selectable.
Enable and Add Within configuration, this will enable a product and auto select it.
Disable and Remove Within configuration, this will deselect a product and disable it from being selected.
Show Within configuration, this will display products that are originally hidden.
Hide Within configuration, this will prevent products from displaying.
Show and Add Within configuration, this will display the product and auto-select it.
Remove and Hide  Within configuration, this will deselect a product and hide it from the view.


Configuration Rule Fields

Type Description
Active Indicates whether this rule should be used in evaluating configurations
Product Select the configured Product you want this rule to validate
Product Rule Select the Product Rule that contains the logic to validate your product configurations. Your configuration rule will have a lookup relation with this Product Rule.
Product Feature For Dynamic Bundles, select the Product Feature you where the filter rule should run
Ascending Nested Condition Level Include ancestor options to the specified level when evaluating this rule's conditions in the configurator. For more information on this and the two fields below, please review Selection Rules in Nested Bundles.
Descending Nested Condition Level Include descendant options to the specified level when evaluating this rule's conditions in the configurator.
Descending Nested Action Level Allow descendant options up to the specified level to be targeted by this rule's actions when executing in the configurator.
Rule Evaluation Event Specify when this rule should be evaluated.
Rule Type Type of Product Rule referenced by this Configuration Rule



Configuration Rules contain a Product field that can be associated with a specific Bundle. This way you can use a single Product Rule across multiple bundles.




No setup is required.



  1. First, create a Product Rule and Error Conditions as needed. Ensure the Product Rule has its Type field set to Selected.
  2. Click New Product Action and fill out the Information fields.

  3. Next, fill out the Filter Information fields. The fields you select here will function as follows when the associated Product Rule Type is set to Selection.

  4. Click New Configuration Rule and fill out the relevant fields as needed. Config Rule.png

config rule 2.png

Note: For Product Selection Rules, a Product Action will fire when its related Error Conditions evaluate to True.



Example 1 - Selection Rule that displays an originally-hidden product

A user can only sell reporting software training once a reporting software license is selected.  You have a bundle for 'Software Options,' but you don't want 'Reporting Software Training' to be displayed until 'Reporting Software License' is selected. You can use a summary variable to count 'Software Reporting License' and use that variable in the Error Condition.


Note: Make sure Apply Immediately is checked on the Reporting Software License product option.

Product Rule Name Show Reporting Software Training
Type Selection
Condition Met All
Scope Product
Error Condition

Tested Variable: Reporting License Count

Operator: greater or equals

Filter Type: Value

Filter Value: 1

Product Action

Type: Show

Product: Reporting Software Training

Required: True

Configuration Rule

Product: Software Options

Active: True


Example 2 - Product Configuration Rule

Your business sells storage systems and you want to build product validation rules for storage bundles to ensure that users do not create bundles with invalid option configurations. If your storage system comes with chassis that have a limited number of drive bays and your users want to add hard drive options for those bays, you could create a product configuration rule that prevents users from making 5 hard drives available as options for a chassis with only 3 drive bays.


To set this up, you would first create a custom field on the Products object to contain the number of drive bays in the chassis. Then, create a Summary Variable to total the number of drive bays and the number of hard drives. Next, create a product rule that has an error condition to compare these two summary variables. Finally, create a configuration rule to associate this rule with the chassis product.


Example 3 - Testing of Quote Line Group fields

As of Salesforce CPQ Winter 17, users may select Quote Line Group as the Error Condition's Tested Object. Users can then test against Quote Line Group field values within the Quote Line Editor.


For example, a computer design business has a quote containing two Quote Line Groups - one for their "Green" monitor package and one for their "Blue" monitor package. These package types are controlled by a custom Color field added to the Quote Line Group object. Users who buy either package can add a Monitor bundle; one Product Option this package is a Monitor Stand. The business wants a Product Rule that automatically adds a Support Stand for every monitor added to the Blue package.ql config1.png

This Configuration Selection Rule should be created as follows:

Field / Related List Values
Product Rule Name Add Stand to Blue package Monitor Bundles
Type Selection
Condition Met  All
Scope  Product
Evaluation Event Always
Error Condition 

Tested Object: Quote Line Group

Tested Field: SBQQ__Color__c

Operator: Equals

Filter Type: Value

Filter Value: Blue

Product Action 

Type: Add

Product: Monitor Stand

Required: True


When this rule is active, sales reps can add a Monitor bundle to the Blue quote line group and Salesforce CPQ will automatically add a Monitor Stand to that bundle. Likewise, Salesforce CPQ will not add Monitor Stands to any Monitor packages in the Green quote line group.




As of Winter '16, SteelBrick allows admins to use logical ANDs and ORs to build product configuration rules, which provides more control over which conditions apply to the rule. For example, a rule with 3 conditions could fire based off 1 AND (2 OR 3) logic.


  1. For Upgrades: Make sure you add "Custom" as a picklist value for the Conditions Met field.  You will also need to add the "Advanced Condition" field to the Product Rule page layout. 
  2. Select All from the Conditions Met dropdown menu. You will later be required to change the Conditions Met to Custom, but in order to avoid receiving an error message during setup, the Conditions Met should remain as All until the setup process is complete.
  3. Click Save.
  4. Add your Error Conditions, Configuration Rules, and Actions as you normally would.
  5. Change the Conditions Met dropdown selection to Custom.
  6. Enter your Advanced Condition using the Index on the error condition as your reference when creating a particular Advanced Condition formula.



Note: When Activating and Inactivating product rules for testing or debugging, make sure to activate/inactivate both the configuration rule and product rule.



As of SteelBrick CPQ Spring '16, Selection Rules can be applied to Nested Bundles within a Parent Bundle. Review Selection Rules in Nested Bundles for a comprehensive walkthrough.


by reedcour
on ‎11-15-2015 08:20 PM

Is it possible to have a product rule where I can remove the option on a product within a product? For example, how would I remove only product 3 in the below heirarchy, when product 3 is an product option of product 2 and product 2 is a bundled product option of product 1. I do not want to remove product 2.


- Product 1

     - Product 2

          - Product 3


by Community Manager
on ‎11-17-2015 07:01 PM



It depends on what the circumstances are.  You can certainly hide Product 3, but where it gets tricky is why you want to hide it.  I'll need a few more details to accurately answer your question.  Could you please provide more context?  

by tajomoore
on ‎01-27-2016 08:55 PM

I actually have that same need. Here is my scenario:



  • Product 1 = Premier bundle
    • Product 2 = Deluxe Icons
      • Product 3 = Upgrade Fee (should not appear or have price go to zero)

I have two software product bundles, Standard and Premier (Product 1)—both have subscription pricing. I have a product called Deluxe Icons (Product 2)—also subscription pricing. Deluxe Icons is a bundled option in the Premier bundle but is an upgrade to Standard bundle (not bundled). Now, when Deluxe Icons is added to the Standard Bundle, there is an Upgrade Fee (Product 3)—not a subscription—but the fee wouldn't apply when Deluxe Icons are included in the Premier bundle. So, while the Upgrade Fee is an option for Deluxe icons with a fixed price, I need that fee to zero out—or for that product to disappear—when the it's all nested under Premier bundle.


Put another way, I have added the Upgrade Fee as a default selected option for Deluxe Icons (so that Sales people don't have to remember to include it), but I want the price to go to zero or the product option to disappear altogether when Deluxe Icons is bundled under the Premier software bundle. I do want the fee to stay put when Deluxe Icons is added to the Standard software bundle (or any other, for that matter).

by ob
on ‎03-11-2016 12:35 PM

 Is there a way to conditionally hide products in the general "Add Products" selction screen? There are certain top-level bundle products and standalone add-ons that I only want reps to be able to add to a quote in specific circumstances.

by cazhang
on ‎04-20-2016 12:17 AM

What about the auto select (include) the product that is not a bundle option but a stand alone product?

The use case: select a hardware bundle, upon save to auto include the hardware support product (stand alone).

Somehow it does not work.

by Community Manager
on ‎05-03-2016 04:56 PM

@ob You probably already have an answer to this, but you can do something similar with a combination of custom actions and search filters.  It wouldn't be totally dynamic or dependent on quote factors though.  


@cazhang That's correct. You cannot use product selection rules to add standalond products.  With that said, sometime in the FY17, we plan on enhancing Price Rules to be able to add products to configuation and/or quote lines based on other selections.  It's a needed enhancement for our Promotions functionality, so this should address your use case as well.  

by cazhang
on ‎08-09-2016 05:42 PM

I can't get the product rule with scope "product" work. The scope "Quote" works. 

The user case is simple: when a license option is selected, auto select the support option for it. 


I did the production action, error condition and configration rule under product rule. Any idea?



by Community Manager
on ‎08-09-2016 05:47 PM

please show a screenshot of the rule.  "product" only works in the configutor whereas "quote" works in the line editor 

by cazhang
on ‎08-09-2016 05:52 PM


by cazhang
on ‎08-09-2016 05:54 PM

The error condition says:

on quote line object, if the product code = SYS-T850



by Community Manager
on ‎08-09-2016 06:09 PM

it is hard to see but it looks as if your error condition and config rule are showing the same product code?  Please correct me if I am wrong.  If your error condition is the bundle itself then you do not need a product rule

by wweisger
on ‎08-31-2016 10:30 AM

 I have created two Product and Configuration Rules for a Product that are dependent on a Configuration Attribute, but if I change the Configuration Attribute to match the other Rule, the Actions seem to not work. Below is the scenario for more information.

  • User inputs a Width value of 20, Product Rule automatically selects Product A and hides Product B. Configuration is saved.
  • User goes back into the Configuration and needs to update the Width to 20.125-24.
    • Second Product Rule should fire and automatically select Product B and hide Product A.
    • What actually happens is that Option A is hidden and Option B is not shown.

Has anyone else come across this issue? If so, any recommendations on how to best get around this? Screenshots below.


Product Rule 1.PNG


Product Rule 2.PNG

by DonovanK-DG
on ‎10-21-2016 04:26 PM

Is the "Required" checkbox on the Product Options object merely a poorly named Active/Inactive flag?  It is hard to decipher what its purpose is (and resulting behavior for true vs false) based on the definition in this document.


RequiredSelect this field for product selection rules.
by jdawson
on ‎06-07-2017 12:00 PM

@tajomoore Did you ever get a reply to your question?  have the same situation.  Thanks.

by KevinW
on ‎08-04-2017 04:24 PM

How does one create a Product Rule that adds a bundle/product based on QUOTE details? For example, the Quote is flagged as "hazardous Materials" therefore HAZMAT bundle product is added in real time? (Checkbox may be on the QLE field set - idea is that when checked, the HAZMAT bundle is immediately added)

by Elissa
on ‎09-14-2017 08:10 PM

Can product selection rules work across bundles?  I have Bundle A which includes a fee if Bundle B is not selected.  I have a summary variable to adds up the quantity on Bundle B, and want to Show and Add the fee on Bundle A if the Bundle B quantity = 0.

by Khaja
on ‎09-14-2017 08:42 PM
by ElissaB
on ‎09-15-2017 08:08 AM

@Khaja, this should work, except that by bundling together product A and B I lose the left-hand sidebar "Bundle" navigation, which I like.  Is there any way to force that UI feature for nested bundles?  (I think this is easier for users than to have to click the wrench on each nested bundle to configure; you start to forget where you are.)

by ob
‎10-10-2017 11:02 AM - edited ‎10-10-2017 12:46 PM

If i understand correctly, the filter on the Product Action looks at the object defined in the scope of the product rule, in this case the Product. Can it also filter fields on the Product Option, in order to selectively act upon only a single Product Option when there are multiple for the same product?


I have a bundle with two different Product Options for the same product - one option where it is bundled for free, and one where it's charged.  I want the free version to always renew as the paid version -- I know I can use Renewal Product Option to get this behavior on renewal, but the problem is that i want to disable & remove the free version in certain circumstances. However my product selection rule that disables the option always disables both of the product options, since the only info it has is the Product.