Automate Pricing Proposals with Flow Builder

Automate Pricing Proposals with Flow Builder

Save time manually creating and filling out Pricing Proposals with templates in Flow Builder. Use Process Builder and Flow Builder to automatically add a Pricing Proposal template to an Opportunity and generate an auto-populated proposal when the Opportunity stage is set to Proposal/Quote. When the Opportunity is set to Closed/Won, export the proposal to a PDF and attach it to the Opportunity for record keeping.

Required Editions

Available in: Lightning Experience

Set Up the Quip Document Component

Set up the Quip Document component on the Opportunity page layout. Create a Pricing Proposal custom URL field to store Pricing Proposals created from your template.

Required Editions

Available in: Lightning Experience
  1. Navigate to an Opportunity record in Lightning Experience.
  2. Click the gear icon, and select Edit Page to go to the Lightning App Builder.
  3. Create a new tab called Pricing Proposal.
  4. In the left pane, select Quip Document and drag it to your new tab.
    Quip Document component in Lightning App Builder
  5. Select One template for each record.
    Note
    Note One template for each record lets you add a template via Flow Builder or lets your users manually add a template. To use Flow Builder only, select Different Docs for each record.
  6. Click Edit icon. You can either paste your Pricing Proposal template URL or select a template from the Template Library.
  7. Click Next and validate the template. The validation checks that you have access to the document, that link sharing is turned on, that the document is marked as a template, and that it isn’t a slide.
  8. To create a custom URL field to store the new document URLs, select Create a new field.
  9. Enter Pricing Proposal as the field label and Pricing_Proposal field name. You can make changes later from the Object Manager.
    Create a Custom Field modal
  10. Save and activate the page.

To add your Pricing Proposal template to the Quip Document component and to automate Pricing Proposal creation, create actions in Flow Builder and Process Builder.

Create a Pricing Proposal Template

Use Flow Builder to add your Pricing Proposal template to the Opportunity and to automatically populate Pricing Proposals created from it.

Required Editions

Available in: Lightning Experience
  1. From the Quick Find box in Setup, enter Flows.
  2. Click New Flow.
  3. Select Autolaunched Flow and click Next.
    Flow Builder displays the flow in the Auto-Layout flow layout. You can access Interactions, Logic, and Data via the plus icon.

    Process Builder later launches the flow when an Opportunity stage is changed.

  4. Drag the Action element onto the canvas.
  5. Select Quip.
  6. Enter Copy Quip Document as the Quip action.
  7. Name the action Create Pricing Proposal from Template. To auto-create the API name, press Tab.
    New Action modal with Document URL and Source Record ID highlighted
  8. Enter the Document URL for the Pricing Proposal.
  9. Include the Source Record ID. Under Source Record ID, click + New Resource.
  10. Select Variable as the Resource Type.
  11. Enter the API name OpportunityRecord.
    New Resource modal with fields highlighted
  12. Select Record as the Data Type.
  13. Select Opportunity as the Object.
  14. Select Available for input and click Done.
  15. When you get the “Data type of the resource you entered isn’t compatible” error for the Source Record ID, enter .id after OpportunityRecord. Select Opportunity ID.
    Opportunity ID highlighted
  16. Under Advanced, select Manually assign variables. Under Store Output Values, click Document Link and select + New Resource.
    Manually assign variables checkbox
  17. Select Variable as the Resource Type.
    New Resource modal with Resource Type, API Name, and Data Type highlighted
  18. Enter NewDocumentURL as the API Name.
  19. Select Text as the Data Type. Click Done, then Done.
  20. Drag the Update Records onto the canvas.
  21. Name the action Update Opportunity Record. To auto-create the API name, press Tab.
    Update Records modal
  22. Select Specify conditions to identify records, and set fields individually.
  23. Enter Opportunity as the Object.
  24. Under Filter Opportunity Records, enter Id as the Field, select Equals, and enter {!OpportunityRecord.Id}.
  25. Under Set Field Values for the Opportunity Records, enter Pricing_Proposal__c as the Field and {!NewDocumentURL} as the Value. Click Done.
  26. Connect the elements and click Save.
    flow canvas with Start, Create Pricing Proposal, and Update Records
  27. Name the flow. For this example, we use the name Create Pricing Proposal from Template. To auto-create the API name, press Tab. Click Save.
  28. Click Activate.

Trigger the Process

Create a process that launches the Pricing Proposal flow when an Opportunity stage is changed to Proposal/Quote. When a user updates the Opportunity stage to Proposal/Quote, a Pricing Proposal is created from the attached template and autopopulated based on the Opportunity’s data.

Required Editions

Available in: Lightning Experience
  1. From the Quick Find box in Setup, enter Process. Select Process Builder.
  2. Click New.
  3. Name the process Create Pricing Proposal. To auto-create the API name, press Tab.
  4. Select A record changes as the process trigger. Click Save.
  5. Click + Add Object and select Opportunity as the object type.
    Opportunity object type and "when a record is created or edited" highlighted
  6. Start the process when a record is created or edited. Click Save.
  7. Click + Add Criteria.
    Define Criteria with Opportunity Stage Change highlighted
  8. Name the criteria Opportunity Stage Change.
  9. To determine when to trigger the process, select Conditions are met.
  10. Set the conditions:
    Field Operator Type Value
    [Opportunity]Stage Equals Picklist Proposal/Quote
  11. Click + Add Row and set conditions:
    Field Operator Type Value
    [Opportunity]Stage Is changed Boolean True
  12. Under Conditions, click All of the conditions are met (AND).
  13. Click Save.
  14. Click + Add Action.
  15. Select Flows as the Action Type.
  16. Name the action Call Flow to Create Document from Template.
  17. Select the flow Create_Pricing_Proposal_from_Template.
  18. Set the flow variables, where [Opportunity] is the Opportunity record that started the process:
    Flow Variable Type Value
    OpportunityRecord Field Reference [Opportunity]
  19. Click Save and then Activate.

When your users update an Opportunity stage to Proposal/Quote, a Pricing Proposal is automatically created and data from the opportunity is autopopulated. The created document is then stored in the Pricing Proposal field added to the Opportunity layout.

Create a Pricing Proposal Checkbox

To let your users mark when the Pricing Proposal is completed and ready for the customer, add a checkbox field to the Opportunity layout. After your users select it, it launches the flow to export the Pricing Proposal to a PDF and attaches it to the Opportunity.

Required Editions

Available in: Lightning Experience
  1. From Salesforce Setup, go to the Object Manager, and select Opportunity.
  2. Select Fields & Relationships, and then New.
  3. Select Checkbox, and then Next.
  4. Enter Pricing Proposal Complete, and then Next.
  5. Select the profiles that can edit the field, and click Next.
  6. Select the page layouts where you want the field to appear. Here, we deselected all layouts except the Opportunity layout.
  7. Save the action.

Export to PDF and Attach to the Opportunity

After a user marks the Pricing Proposal as completed, export the document to a PDF to keep a record of it and attach it to the Opportunity. Post a message in Chatter to let the user know when the PDF was attached.

Required Editions

Available in: Lightning Experience
Note
Note Beginning in Summer ’26, Chatter is turned off by default in all new orgs. For any features in these orgs that require access to Chatter functionality or the Chatter APIs, turn on Chatter by going to Setup | Chatter Settings and selecting Enable. For details, see Chatter Is Turned Off by Default in New Orgs Beginning in Summer ’26.
  1. From the Quick Find box in Setup, enter Flows.
  2. Click New Flow.
  3. Select Record-Triggered Flow and click Next.
    Flow Builder displays the flow in the Auto-Layout flow layout. You can access Interactions, Logic, and Data via the plus icon.

    Process Builder later launches the flow when an Opportunity stage is changed.

  4. Under Trigger, click Edit. Set the flow to trigger when a record is created or updated, and run the flow after the record is saved. Click Done.
  5. Click Choose Object.
    Choose Object modal with conditions highlighted
  6. Select Opportunity as the object and set the conditions for when to launch the flow.
    Field Operator Value
    Pricing_Proposal__c Is Null False
    Pricing_Proposal_Complete__c Equals True
    StageName Equals Proposal/Quote
  7. Set the flow to run only when a record is updated to meet the condition requirements, and click Done.
  8. Drag the Action element onto the canvas.
  9. Select Quip.
  10. Enter Export Quip Document to PDF as the Quip action.
  11. Name the action Export to PDF.
  12. For the Source Document URL, enter {!$Record.Pricing_Proposal__c}.
  13. Include the Salesforce Org ID. Where do I find my org Id?
  14. Include the Target Record ID, and enter {!$Record.Id}.
  15. Click Done.
  16. Drag the Action element onto the canvas.
  17. Enter Post to Chatter as the core action.
    Post to Chatter modal with fields highlighted
  18. Name the action Update Users in Chatter, and enter a custom message. Here, we say Pricing Proposal is complete. A PDF version is being generated and will be attached within a few minutes.
  19. For the Target Name or ID, enter {!$Record.Id}.
  20. Click Done.
  21. Connect the elements, and click Save. Name the flow Export PDF to Opportunity, and save the action.
  22. Activate the flow.
    Final Export to PDF canvas
Pricing Proposal Complete checkbox

Your flows and process are ready to go! To see them in action, go to an Opportunity page and change the stage to Proposal/Quote. A Pricing Proposal document is automatically created from the template. After the user fills it out and confirms the details with their customer, they can mark the Pricing Proposal as complete. Flow then posts a message in Chatter to let the user a PDF is being generated, and the PDF is attached to the opportunity for recordkeeping.

It can take a couple of minutes for the PDF to be added to the record. You can find it in the record’s Notes and Attachments component or in its Files component.