ramped-quotes

Build and verify multi-year group-ramp Revenue Cloud quotes through the Connect API.

5|3|Updated Sep 9, 2026
One-click install
npx skills add https://github.com/SalesforceLabs/revenue-cloud-foundations --skill ramped-quotes-salesforcelabs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ramped-quotes
Source: https://github.com/SalesforceLabs/revenue-cloud-foundations/tree/main/.cursor/skills/ramped-quotes
Command: npx skills add https://github.com/SalesforceLabs/revenue-cloud-foundations --skill ramped-quotes-salesforcelabs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Creating multi-year ramped quotes in Salesforce Revenue Cloud requires a precise sequence of Connect API calls (place, EditGroup, clone, reprice) with strict field legality rules, status polling, and compound uplift configuration that are easy to get wrong. ## Core Features & Use Cases - Proven build sequence: Step-by-step Connect API payloads for creating a quote with a period-1 group, marking it ramped via EditGroup, cloning additional segments, and applying per-segment uplift. - Compound uplift guidance: Explains how to set RampUpliftType on the RampScheduleGroup and UnitPriceUplift per segment, with the PriceRevision engine prerequisites and numeric verification formulas. - Status polling and read-back: Defines the live v68 CalculationStatus enum (settled, in-flight, failed) and read-back queries for TCV, per-period subtotals, and ramp-by-product matrices. - Use Case: Build a 3-year ramped quote on a standalone subscription SKU with 5% then 3% compound uplift, poll each mutation to a settled state, and verify the compounded net prices (360 → 378 → 389.34) from the priced quote. ## Quick Start Ask the agent to build a three-year group-ramp quote on a standalone subscription product with compound uplift, following the ramped-quotes skill and verifying the result on a live org.

Frequently Asked Questions about ramped-quotes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a multi-year ramped quote in Revenue Cloud?

Create the quote with a period-1 QuoteLineGroup via placeSalesTransaction, mark it ramped with groupRampAction EditGroup (IsRamped=true, SegmentType=Yearly), then call the clone endpoint once per additional period, cloning the last ramped group. Poll Quote.CalculationStatus to a settled state between every mutating call.

How do I configure compound price uplift on a ramp deal?

Set RampUpliftType='Compound' on the top-level RampScheduleGroup (never on the line) and per-segment UnitPriceUplift on each QuoteLineItem, then reprice with pricingPref Force. Compound uplift also requires Advanced Detail Line Pricing enabled and a fully configured PriceRevision element in the pricing procedure.

What is the difference between a group ramp and a line ramp?

A group ramp creates one QuoteLineGroup per period via placeSalesTransaction and clone, and supports compound uplift because the group holds RampUpliftType. A line ramp uses createRampDeal on a single line, produces ungrouped segments, and cannot compound.

Why does my ramped quote line have a null RampIdentifier?

A null RampIdentifier on read-back usually means the org's context definitions are stale, not a graph mistake. Running a Context Definition sync fixes it; see the context-service skill for the sync procedure.

Can I ramp a bundle with an active constraint model?

No. A bundle re-expands its children on each clone when the CML constraint model is active, which is a known issue. Keep ramp builds on standalone products using configurationMethod Skip.

Why must Yearly ramp segments be exactly 365 days?

The Yearly segment type requires exactly 365 days for all segments, so a calendar-year span hitting a leap year (366 days) violates the rule. Use StartDate plus 364 days, or use SegmentType Custom for variable or true calendar-year durations.