A price rule consists of a parent SBQQ__PriceRule__c record, one or more SBQQ__PriceCondition__c child records defining when the rule applies, and one or more SBQQ__PriceAction__c child records defining what field to update and with what value.
Create the price rule header: POST /services/data/{apiVersion}/sobjects/SBQQ__PriceRule__c with fields such as Name, SBQQ__Active__c (true), SBQQ__EvaluationOrder__c, and SBQQ__Scope__c (Quote or Quote Line, verify field values against current CPQ docs).
Create price conditions: POST /services/data/{apiVersion}/sobjects/SBQQ__PriceCondition__c, referencing the SBQQ__Rule__c lookup to the price rule, and specifying the tested object, field, operator, and value.
Create price actions: POST /services/data/{apiVersion}/sobjects/SBQQ__PriceAction__c, referencing the SBQQ__Rule__c lookup, and specifying the target field (SBQQ__TargetField__c) and the value source.
After creating or modifying price rules, trigger a CPQ quote recalculation via QuoteCalculator to verify the rule fires as expected.
Use the CPQ Price Waterfall view in the Salesforce UI to debug which rules applied during calculation.
Known gotchas
The exact picklist values for SBQQ__Scope__c, operator fields, and source types vary by CPQ version; verify all field values against your installed package version's documentation.
Price rules are evaluated in SBQQ__EvaluationOrder__c sequence; rule order matters when multiple rules affect the same field.
Conditions using lookup fields or related object values may require specific condition type configurations — consult CPQ documentation rather than guessing field paths.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp