Approval testing
Prove that Salesforce Revenue Cloud Advanced Approvals still route the way you expect after a deployment.
Approval testing is preview-only and same-org: Revsnap calls Salesforce's Advanced Approvals Preview API for a golden quote in the environment that captured the snapshot. It does not submit approval requests or create work items.
When to use it
Use approval snapshots when you need to verify that:
- The expected approval chains still fire for a quote
- Steps still route to the expected users, groups, or queues
- Levels, stages, conditions, and dependencies have not drifted
- Smart approval signals have not changed unexpectedly
Typical triggers: changes to approval flows, discount thresholds, payment-term rules, assignee mappings, or smart approval settings.
Prerequisites
- A connected Salesforce org with Advanced Approvals configured
- A golden Quote ID that should require (or not require) a known approval path
- The Flow API name of the auto-launched approval flow (for example
QuoteApprovals)
Capture an approval snapshot
- Go to Snapshots and click Capture Snapshot.
- Select the connected org.
- Choose category Approval.
- Enter the Quote ID.
- Enter a Description (used for the CLI/API slug).
- Fill in the approval fields:
- Flow API name (required)
- Object API name (defaults to
Quote) - Input parameters JSON (optional: for example
{"requestType":"Standard"})
- Click Preview & Save Baseline.
Revsnap:
- Loads quote details for evidence
- Calls the Advanced Approvals Preview API
- Stores the preview response as your golden baseline
What gets stored
An approval snapshot stores:
| Section | Contents |
|---|---|
| Quote anchor | Quote ID and display fields (name, status, account, and related evidence) |
| Approval request | Flow API name, object API name, and optional input parameters |
| Expected preview | Chains, steps, assignees, conditions, levels, stages, dependencies, and smart approval flags |
Open the snapshot detail drawer to review the Approval Baseline before you run a test.
Run an approval test
- Open the approval snapshot.
- Click Run test.
- Revsnap re-calls the Preview API for the same quote in the same org.
- The result compares the live preview against the stored baseline.
Approval snapshots can only run against the same connected environment they were captured from. This matches pricing and configurator behavior and avoids false failures from cross-org user or group IDs.
Reading approval results
The approval report shows:
- Overall pass or fail
- Chain and step match counts
- High-risk diff counts
- Evidence for the quote and approval flow
- Per-chain diffs with expected vs actual values
| Diff type | What it means |
|---|---|
| Missing step | A previously expected approval step no longer appears |
| Unexpected step | A new step appears that was not in the baseline |
| Changed assignee | User, group, or queue routing changed |
| Changed condition / level / dependency | Approval structure or order drifted |
| Smart approval change | Eligibility or auto-reviewed flags changed |
Severity is ranked so assignee and missing-chain changes stand out first.
Same-org rule
Approval, pricing, and configurator snapshots all run against the org they were captured from. If you need coverage in another sandbox or production org, capture a separate approval snapshot there.
Automation
Approval snapshots work with the same automation surfaces as other categories:
- Tags and batch runs
- Schedules
- CLI / CI with API keys
Add approval snaps to a release tag so approval routing is checked alongside pricing and configurator before go-live.
Common issues
| Problem | What to check |
|---|---|
| Capture fails with inactive flow | Activate the approval flow in Salesforce, then re-capture |
| Preview returns no chains | Confirm the quote still meets the approval conditions |
| Assignee diffs after a user rename | Re-capture if the change is intentional; otherwise restore the expected assignee |
| Cannot run against another org | Expected: capture a new snapshot in that org |
Next steps
- Capturing a snapshot: general capture flow
- Running a regression test: how runs work
- Understanding test results: pass/fail and triage