How to Activate Agentforce Quoting Skills in Salesforce Revenue Cloud Advanced (Summer ’25)

Photo of author
Written By Jean-Michel Tremblay
Salesforce Consultant

Enable your reps to create, amend, and discount quotes with natural‑language prompts


TL;DR
Summer ’25 ships five out‑of‑the‑box Agentforce quoting flows for Salesforce RCA. They’re powerful, but delivered as managed assets. Clone them, register them as Agentforce actions, expose them in a custom “Quote Management” topic, and your reps can quote in plain English.


1 | Why Agentforce Quoting Matters

  • Natural‑language quoting – Reps type “Create a quote for 5 Tank System ST‑50 servers on Opportunity XYZ” and Agentforce does the heavy lifting.
  • Shortens ramp‑up time – New sellers don’t need to learn product‑catalog intricacies.
  • Enforces discount policy – The Apply Discount to Quote Line Item action can reference guardrails before execution.
  • Foundation for custom skills – Once you grasp the pattern, you can wire any auto‑launched flow as an Agentforce action.

2 | Prerequisites

RequirementNotes
Revenue Cloud enabledAPI v64+ recommended
Einstein for Platform turned onProvides Agentforce & Prompt Builder
Summer ’25 sandbox or scratch orgLightning Experience only
Sys‑admin privilegesYou’ll create flows & permission sets
~30 minutesOne‑time configuration

3 | High‑Level Setup Flow

Turn on Einstein → Enable Agentforce → Clone 4 packaged flows
→ Register 4 Agentforce actions → Create Quote Management topic
→ Add helper actions → Test & iterate

We’ll walk through each step below.


4 | Step 1 — Turn On Einstein & Grant Access

  1. Setup ▸ Einstein Setup ▸ Turn On Einstein.
  2. Go to Users ▸ Permission‑Set Licenses. Assign to your admin/test user:
    • Agentforce Default
    • Agentforce Service Agent Builder (if you’ll build service agents)
  3. In Permission Sets, assign:
    • Agentforce Default Admin
    • Agentforce Default Agent

💡 Tip: Create a Permission‑Set Group called Agentforce Admins and add both sets for simpler upkeep.


5 | Step 2 — Enable Agentforce & Create an Agent

  1. Setup Search ⇒ Agentforce Agents.
  2. Toggle Enable Agentforce.
  3. Click Create Default Agent (or + New Agent for a clean slate).
  4. Open the agent in Builder—you’ll see generic CRM demo topics but nothing for quoting (yet).

6 | Step 3 — Clone the Packaged Quoting Flows

Salesforce ships four auto‑launched flows, each prefixed with QOCAL:

Packaged FlowPurpose
Add Quote Line Item to QuoteAdds products via ID & quantity
Apply Discount to Quote Line ItemPercent discount
Create Initial Quote on OpportunityNet‑new quote + first lines
Create Amendment QuoteExpand existing subscriptions

Because they’re managed, you must clone them:

Flow Builder ▸ Open packaged flow ▸ Save As ▸
❶ Clone  ❷ Change API Name (e.g., …_CLN)  ❸ Activate

Repeat for all four.

⚠️ Managed vs. Clone
Managed flows can’t be referenced by Agentforce; cloned versions can.


7 | Step 4 — Register Agentforce Actions

  1. Setup Search ⇒ Agentforce Assets ▸ Actions ▸ New.
  2. Choose Flow as the reference type and pick your cloned flow (e.g., Create_Initial_Quote_on_Opportunity_CLN).
  3. Complete the form:
    • Label :Create Initial Quote
    • Loading Text :Creating your quote…
    • Agent Instructions : See Instructions Below
    • Inputs / Outputs : Map your flow variables
  4. Click Finish.

Agent Action Instructions

Add QuoteLineItem to Quote

To add a product or a quote line item to a quote, use the action AddQuoteLineItem. Never proceed with creating quote lines without the required Product ID and Quote ID. Use these instructions when adding a product or a quote line item to a quote: 1) Identify the Quote record. If the user is currently on a quote record, use the quote record’s quoteId. If you can’t find the quoteId, ask the user for the Quote Name or the Quote Number. Then find the 18-digit quoteId associated with the quote name or quote number that the user specified. If quote number is provided, use QueryRecords to get the quote Id. 2) Ask the user for the product to assign to the quote line item. 3) Ask the user for the quantity to assign to the quote line item. 4) Find the 18-digit productId for the product. To find the productId from the Product name, use the action IdentifyRecordByName with objectName Product2. 5) Ask for this information only if it wasn’t provided by the user.

Create an initial quote on an opportunity

To create an initial quote, use the action CreateInitialQuote. Use these instructions when creating a quote: 1) First, ask the user to identify the opportunity. If you are given an Opportunity Name, look up the Opportunity ID. If you are given an Account, display Opportunities on the account and ask the user to select an Opportunity. Use the page context if available. For example, if a user is currently on the Opportunity record, use the Opportunity record. If the user is on the Account record, use the account to identify the opportunity. 2) Ask the user if they would like to add any products to the quote. 3) Create the quote. If the user wants to add products to the quote, use the "Add Quote Line Item To Quote" action for each product that’s specified. Always return a link to the created Quote

Apply Discount to Quote Line Item

To add a discount on a specified quote line item, use the action ApplyDiscountToQuoteLine. The discount is a percentage reduction in price from the total price, such that: `1 - (discount * list price) = total price` You must not apply a discount to the quote at the header level. If the user asks you to apply a discount to a quote without specifying the quote line items or products, you must ask the user to specify the names of the quote line items or products that they want to apply the discount to. 1) To add a discount, use the quote record that the user is currently on. Pass the quote record’s 18-digit quoteId to the action. 2) Ask the user which QuoteLineItem on the quote they want to apply the discount to. Don’t apply the discount to all quote line items on the quote unless the user explicitly tells you to do so. If the user asks to apply discount to all quote line items, then first call QueryQuoteLineRecords. If the user provides a list of product names, use the action IdentifyObjectByName to first find the product2Id, then use action QueryQuoteLineRecords to find the quoteLineItemId providing the quoteId and a list of product2Id. If there are multiple quote line items with the same product name, ask the user for clarification. Pass the 18-digit quoteLineItemId to the action. 3) Ask the user for the discount % that the user wants to apply to the quote line item. Collect the discount only as a %. 4) Only call QueryQuoteLineRecords once with all the product ids gathered in list

Create Amendment Quote

To create an amendment quote, use the action CreateAmendQuote. An amendment quote is used to modify a customer contract. The amendment modifies assets that are related to an account. Use these instructions when creating an amendment quote. Only ask for information that you don’t have. 1) You must have the quantity, and a list of asset Ids. Ask the user which assets to amend, and allow the user to specify multiple assets. You can’t create amendments for accounts that don’t have active assets. 2) Use the action QueryRecord to find the assets and the owning account. Retrieve the list of asset Ids based on all of the products that the user wants to amend. If multiple assets match the same name, ask the user for clarification before choosing an asset to amend. 3) Ask the user for the quantity of the amendment. 4) Create the amendment quote. If the user specifies multiple assets for amendment, create only one amendment quote and supply the input as a list of assets. 5) Don’t repeat the user’s intent. For example, don’t say “I will now create a quote,” or “I will now add a quote line item,” or “I will now apply the discount.” Just perform the action. 6) If there are multiple quotes on an opportunity or account, you must make sure that it’s clear which quote the user is referring to. Similarly, if there are multiple opportunities on an account, you must make sure that it’s clear which quote the user is referring to. 7) Follow up for action input information only if it’s not provided by the user.

8 | Step 5 — Build a “Quote Management” Topic

The packaged Quote Management topic often can’t be added to a new agent, so build your own.

Create Topic

FieldValue
NameQuote Management
ClassificationUse Revenue Cloud to create initial quotes, create amendment quotes, add products to quotes, and apply discounts to quote line items on quotes.
DescriptionHandles full quote lifecycle via Agentforce
ScopesYour job is to create new business quotes and manage existing quotes by adding products and adjusting discounts on quote line items. You can also create amendment quotes. You can also retrieve assets on accounts. Never create or update quotes when the “OriginalActionType” field is set to “Renew.” Never delete a quote. Never create a quote on opportunities that have a status of Closed Won or Closed Lost. Never update fields that impact price using “Update Record.” You must not update fields such as quantity and price on QuoteLineItem. You must not update header-level discounts on the Quote.
Topic InstructionsReuse Action Instructions

Add Actions

  1. Attach your four cloned quoting actions.
  2. Add helper actions: Query RecordsIdentify Record by NameUpdate Record.

Save the topic.


9 | Step 6 — Test in Builder & UI

  1. In Agent Builder, open Conversation Preview (bottom‑right).
  2. Try:Create a quote for 5 Tank System ST‑50 servers on the “Agentforce Demo” opportunity.
  3. Watch the debug trace—Agentforce should pick Quote Management ➜ Create Initial Quote ➜ Add Quote Line Item.
  4. Verify the quote link returns; tweak instructions if needed.

Activate & Live Test

  1. Click Activate (top‑right).
  2. Refresh any Lightning record page—the Agentforce button appears.
  3. Run real‑world tests: apply a 25 % discount, create an amendment, etc.

10 | Cleaning Up & Best Practices

  • Perfect the Instructions – The LLM follows them verbatim. Clarify:
    • Mandatory vs. optional inputs
    • Validation logic (e.g., max discount %)
    • Return values (always send a clickable link)
  • Version Control – Store cloned flows in DevOps Center or Git.
  • Permission‑Set Groups – Separate Agentforce Admins from everyday users.
  • Iterate in Sandbox – Keep PROD pristine until you’re satisfied.

11 | Next Steps

IdeaApproach
Usage‑Based ProductsExtend flows with usage schedule logic
Multi‑LanguageDuplicate topic, localize instructions & classification
AnalyticsLog each Agentforce action call to a custom object
Custom SkillsAuthor new auto‑launched flows (e.g., Generate Quote PDF)

Final Words

Out of the box, Agentforce’s quoting skills are 90 % done—the last 10 % is wiring and instruction polish. Once configured, your reps can quote in plain English (or French 🇫🇷) and save minutes on every deal.

Have questions? Leave a comment or reach out on LinkedIn. If this helped, subscribe to The Cloud Update for weekly Revenue Cloud insights.

Happy quoting!
— Jean‑Michel

Leave a Comment