Skip to main content

Explore Product Configurator with Constraint Rules Engine

Learning Objectives

After completing this unit, you’ll be able to:

  • Discover configurator with Constraint Rules Engine.
  • Create a constraint-based configuration.
  • Compare rules-based and constraint-based configurations.
  • Discuss third-party configurators.

Configurator with Constraint Rules Engine

As SmartBytes expands, so does the complexity of its offerings. They need to manage:

  • Regional requirements like specific chargers for EU bundles
  • Compatibility logic across multi-layered bundles
  • Different sales personas who need tailored UIs and logic

Having designed product constraints before, Joey dives into learning about Product Configurator with Constraint Rules Engine. It’s the latest Salesforce solution for complicated, high-volume configurations. The engine uses a constraint-based model to evaluate all possible combinations of product selections and then determines the most valid ones. It supports advanced rule modeling with Constraint Modeling Language (CML) and a no-code Visual Builder.

Note

CML is a programming language that uses objects to create product configuration systems. These systems include product classes, product attributes, and configuration rules and constraints.

Now let’s explore the supported rules and constraint types.

Rule and Constraint Types

The Constraint Rules Engine includes all the rule types from the Business Rules Engine and introduces more powerful options.

These rule and constraint types enable complex logic, smarter automation, and broader control across quotes and bundles.

Create a Constraint-Based Configuration

Before creating a constraint-based configuration, a constraint model has to be in place. It’s a blueprint that defines how products, attributes, and constraints interact.

A constraint model includes:

  • Products and bundles you want to configure
  • Attributes such as color, size, or region that shape configuration choices
  • Constraint rules that define which combinations are valid, or not.
Note

To create a constraint model, make sure you enable Set Up Advanced Configuration Rules and Constraints setting under Revenue Settings.

Create a New Constraint Model

To create a constraint model for SmartBytes, Joey launches the Product Catalog Management home page from the App Launcher and selects the Constraint Models tile.Constraint Models tile on Product Catalog Management Home Page.

He then selects New Constraint Model and gives it a name.

A new constraint model with the name ComputerModel.

Once you’ve created a constraint model, the next step is to open the Constraint Builder to start defining constraints. To do this, Joey goes to the Constraint Models app and selects the model he just created. Then, on the model’s Details page, he selects the version name to open the Constraint Builder to define the logic.

Choose an Interface

In the Constraint Builder, you can define constraints using two interfaces - Visual Builder and CML Editor.

  • Visual Builder: A no-code interface for quick, simple rule creation. It automatically generates CML code behind the scenes, which you can view or modify later in the CML editor.
  • CML Editor: A script-based editor designed for advanced, scalable, and flexible logic.

Options to define constraints in the constraint builder.

Both interfaces support the same type of rules and constraints, but the CML editor allows for more complex customizations. Joey starts with the Visual Builder for basic logic, knowing he can switch to the CML Editor anytime for customization.

Define Constraints

Joey creates two constraints for the Laptop Pro Bundle.

  • A Basic Logic Constraint to make sure that if a user selects a Blue Desktop, only a Blue Mouse is available for selection. This enforces a direct match between related product attributes.
  • A Conditional Logic Constraint to specify that if the user selects Laptop Pro Bundle and sets the Region to EU, the configurator automatically includes an EU-compliant charger and warranty. This defines a constraint in which, if one or more conditions are true, another condition is also true.

Visual Builder with the Conditional Logic Constraint and Basic Logic Constraint elements shown.

These constraints work dynamically. The configurator filters out invalid combinations in real time, guiding users toward valid selections and eliminating errors as they go. When using the Visual Builder, the model also generates the corresponding Constraint Modeling Language (CML) code behind the scenes.

Auto generated CML code for the rule and constraint added.

This helps Joey inspect the logic and fine-tune it whenever needed.

Activate the Constraint Model

Once everything is set, Joey activates the constraint model. It’s now live and ready to deliver a faster, smarter, and error-free configuration experience for the SmartBytes sales team.

Choose the Right Rules Engine

Not sure when to use which tool? Let’s compare the Rules Engines provided by Product Configurator.

Aspect

Rule-Based Configuration

Constraint-Based Configuration

Logic approach

Uses explicit “if-this-then-that”

Uses declarative constraints that define relationships between options

Rule management

Requires creating and maintaining multiple independent rules

Uses fewer constraints; system dynamically eliminates invalid combinations

Scalability

Becomes difficult to scale with growing product complexity

Scales efficiently for complex and customizable product catalogs

Maintenance

Requires manual effort to update rules with every product change

Dynamically removes invalid combinations as the user configures

User Experience

Slower as rules grow and overlap

Faster and smarter configuration experience

Best For

Simple-to-moderate products with fixed logic

Complex products with interdependent attributes or large option sets

Example Logic

If Product A is selected, then include Add-on B

RAM must be ≥16 GB if OS = Windows Pro and Processor = i7

Third-Party Configurators

Sometimes, built-in tools aren’t quite enough. Businesses with highly specialized configuration needs, such as custom UIs, unique workflows, or integration with external systems, may turn to a third-party configurator.

A third-party configurator is a custom-built or external solution that connects to Salesforce using APIs. It lets companies create tailored user experiences and configuration logic while still using Salesforce for pricing, product data, and quoting.

This option offers greater flexibility when built-in options can’t meet specific requirements.

Wrap Up

Joey just took the first step toward smarter, scalable product configurations, and now, so have you. By using ‌constraint based configuration, you can model complex logic, adapt for global needs, and deliver a faster, more guided quoting experience.

In this module, you explored how Product Configurator helps you build accurate, customized product offerings. Whether you’re working with built-in tools or integrating a third-party configurator, you now have the skills to help your team configure with confidence.

Resources

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios