Configure CPQ product rules (validation, selection, alert) via the object model
domain: Salesforce CPQ · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
A product rule is defined by an SBQQ__ProductRule__c record with a Type field (Error Condition, Selection, Alert, or Validation — verify exact picklist values) and one or more SBQQ__ErrorCondition__c child records.
Create the product rule: POST /services/data/{apiVersion}/sobjects/SBQQ__ProductRule__c with Name, SBQQ__Type__c, SBQQ__Active__c, and SBQQ__EvaluationEvent__c (e.g., Save, Always — verify against current docs).
Create error conditions: POST /services/data/{apiVersion}/sobjects/SBQQ__ErrorCondition__c referencing the parent rule (SBQQ__Rule__c), and specifying the tested object, field, operator, and value.
For selection rules, associate the rule with a product feature or product option via the relevant lookup fields so CPQ knows which bundle context the rule governs.
Set SBQQ__Active__c to true on the rule and test by configuring the relevant bundle product in a sandbox quote.
For alert and error condition rules, set SBQQ__Message__c on the rule record to control the message shown to the user.
Known gotchas
Product rules interact with the bundle configuration lifecycle; an incorrectly scoped rule may fire at unexpected times or not at all — always test in a sandbox.
The distinction between 'Validation' and 'Error Condition' type rules affects when the rule fires (on save vs. during configuration); consult CPQ documentation for the difference.
Changing an active product rule in production can immediately affect in-progress quotes; consider deactivating, editing, then reactivating during low-usage windows.
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?