Skip to main content

Automatically send Opportunity feedback from Salesforce to Harvestr

Marina Salmon avatar
Written by Marina Salmon
Updated over 2 weeks ago

Opportunities in Salesforce often contain valuable product feedback, whether it’s a Closed Lost reason, a sales objection, or a custom field filled out by sales reps.

You can automatically push this feedback into Harvestr to centralize insights from your sales pipeline, analyze product gaps, and inform prioritization.

This guide explains how to do this using:

Example scenario

We’ll use Closed Lost reasons as an example throughout this guide, but the same logic applies to any Opportunity property where sales reps capture product-related insights (e.g. objection fields, feature requests, internal notes).

Option 1: Using Zapier

Prerequisites

  • Salesforce and Harvestr accounts connected to Zapier

  • A field in Salesforce (e.g. Lost Reason) where feedback is collected

Steps

  1. Trigger: Salesforce → Updated Field on Record

    • App: Salesforce

    • Event: Updated Field on Record

    • Object: Opportunity

    • Filters:

      • Stage = Closed Lost

      • Lost Reason (or any feedback field) is not empty

  2. Action: Harvestr → Create Message

    • App: Harvestr

    • Event: Create Message

    • Set up the action with:

      • Title: Lost Opportunity – {{Opportunity.Account.Name}}

      • Content: {{Opportunity.Lost_Reason__c}}

      • Channel: salesforce

      • Submitter Email: {{Opportunity.Contact.Email}}

      • Requester Email: {{Opportunity.Owner.Email}}

      • (Optional) Add tags like lost-deal, sales-feedback

  3. Test your Zap

    • Update a test Opportunity in Salesforce

    • Confirm that the feedback appears in your Harvestr inbox


Option 2: Using Salesforce Flow + Harvestr API

If your team prefers to automate workflows directly within Salesforce without using third-party tools like Zapier, you can send Opportunity feedback to Harvestr using a Record-Triggered Flow and an HTTP callout.

This method gives you full flexibility to customize when and how feedback is pushed, and can be deployed across multiple fields or Opportunity stages.

Prerequisites

  • Admin access in Salesforce

  • A Named Credential for secure authentication

  • A Harvestr API Access Token (available from your Harvestr API settings)

  • A custom Flow (created with Flow Builder)

Steps

Step 1: Create a Named Credential for Harvestr

Named Credentials allow you to securely store API tokens and make authenticated callouts from Flows.

📚 Salesforce Docs: Define a Named Credential

  1. Go to Setup > Named Credentials

  2. Click New Named Credential

  3. Fill in:

    • Label: Harvestr

    • Name: Harvestr_API

    • URL: https://api.harvestr.io

    • Identity Type: Named Principal

    • Authentication Protocol: Bearer Token

    • Token: Your Harvestr API key

  4. Save

Step 2: Create a Record-Triggered Flow

You’ll build a Flow that is triggered when an Opportunity is updated (e.g., marked as Closed Lost and a feedback field is filled).

📚 Salesforce Docs: Create a Record-Triggered Flow

  1. Go to Setup > Flows

  2. Click New Flow

  3. Select Record-Triggered Flow

  4. Object: Opportunity

  5. Trigger the Flow When a record is updated

  6. Entry Conditions (example):

    • StageName Equals Closed Lost

    • Lost_Reason__c Is Null = False

  7. Optimize for: Actions and Related Records

Step 3: Capture the Customer’s Email

Make sure you have a field usable as the Harvestr requester, such as:

  • A lookup or text field (e.g., Primary_Contact__c)

  • A formula/email field (Primary_Contact_Email__c) that extracts Contact.Email

📚 Salesforce Docs: Create or Edit Custom Fields

Step 4: Add an HTTP Callout to Harvestr

You’ll use the Named Credential to create an outbound HTTP request that posts feedback to Harvestr.

📚 Salesforce Docs: Use HTTP Callout in Flows

  1. In Flow Builder, click + Add Element

  2. Choose Action → Create HTTP Callout

  3. Name your callout: Send_Feedback_to_Harvestr

  4. Use the Harvestr_API Named Credential

  5. Configure:

    • Method: POST

    • Endpoint: /v2/messages

    • Headers:

      { "Content-Type": "application/json" }
    • Request Body (replace with your actual field names):

      {
      "title": "Lost Opportunity – {!$Record.Account.Name}",
      "content": "{!$Record.Lost_Reason__c}",
      "channel": "salesforce",
      "submitter": { "email": "[email protected]" },
      "requester": { "email": "{!$Record.Customer_Feedback_Email__c}" } }

Step 5: Activate and Test the Flow

📚 Salesforce Docs: Activate a Flow

  1. Save and activate your Flow

  2. Update an Opportunity in Salesforce that meets the conditions

  3. Confirm the feedback appears in your Harvestr inbox

Tie feedback to revenue

Once your Salesforce Opportunity feedback is flowing into Harvestr, you can unlock even more value by activating our Salesforce customer data sync. It automatically enriches feedback with revenue data like ARR or deal size, so you can prioritize based on business impact.

Did this answer your question?