Skip to main content

Mutual Exclusivity (Message Rule)

Prove that two products cannot be selected together and that Salesforce returns the expected configuration-rule message.

What it proves

Product A and Product B are mutually exclusive. Attempting to add the conflicting product while the other is present raises a message() rule from Salesforce.

Example

How to use this example

Map these Meridian product names to equivalents in your org. Pick a valid base quote that already reflects the rule, then select the matching products in Scenario Builder.

Zero-copy live sharing and batch orchestration are alternative Data Fabric delivery patterns. Mixing them creates duplicate ingestion scope.

Bundle: Meridian Data Fabric Bundle

RoleProduct
Already on the quoteZero Copy Data Share
Conflicting product to addBatch Orchestration Pack

Adding Batch Orchestration while Zero Copy is selected should fail with a message such as:

Zero Copy Data Share and Batch Orchestration Pack are alternative data delivery patterns. Select only one for this Data Fabric workload.

What Revsnap does at runtime

  1. Starts from your valid base quote (for example with Zero Copy Data Share already selected)
  2. Attempts to add the conflicting product (Batch Orchestration Pack)
  3. Asserts a configurator message matching your expected severity and regex
  4. Removes the transient invalid selection and reloads a clean configurator context
  5. Saves the corrected valid configuration
Screenshot coming soontest-runs-configurator-mutual-exclusivity-timelineTest run detail showing Scenario Proof Timeline for Mutual Exclusivity
The proof timeline shows attempt, message assertion, correction, and save phases for this rule.

How to capture it

  1. Capture a ConfiguratorScenario Builder snapshot with a valid base quote that already includes one side of the mutual exclusion.
  2. On Rule Type, choose Mutual Exclusivity (Message Rule).
  3. In Scenario Builder, select the Conflicting product to add.
    • The product must not already be on the quote (in-quote products are disabled for this pattern).
    • You can pick from Baseline Products, Other Bundles, or Standalone Products when available.
  4. On Review, enter the expected message text (or a regex fragment) and severity: typically error.
  5. Save the snapshot.
Screenshot coming soonsnapshots-configurator-mutual-exclusivity-setupScenario Builder for Mutual Exclusivity with the conflicting product selected
Scenario Builder: select the conflicting product that must not already be on the quote.

Review assertion tips

SettingGuidance
Expected patternMatch the Salesforce message() text, for example alternative data delivery patterns
SeverityUsually error: must match Salesforce messageType
Help text in appMatch the message returned when Salesforce rejects adding the conflicting product

If your org’s wording differs, paste a distinctive fragment of the live message into Review. Exact full-string match is not required when you use a regex fragment.

Screenshot coming soonsnapshots-configurator-mutual-exclusivity-reviewExpectation and review step for a Mutual Exclusivity scenario
Review: set the expected message pattern and severity before saving the snapshot.