Skip to main content

Modjo integration

Send product feedback from your Modjo calls to Harvestr.

Written by Marina Salmon

Modjo records and transcribes your sales calls. This guide shows you two ways to send the product feedback captured in those calls to Harvestr, so it lands in your inbox alongside feedback from every other channel.

Important: our native Modjo integration has been discontinued

The previous integration relied on Modjo Highlights, which Modjo has sunsetted. Calls no longer flow into Harvestr through the old webhook connection.

The two approaches below replace it. Both use features Modjo actively supports, and both keep your feedback tagged as coming from Modjo.

Which approach should you use?

Both routes let Modjo's own AI do the extraction, so you are not paying a second time to analyse the same call.

AI CRM Filling

Zapier

Requires

Salesforce or HubSpot connected to Modjo

A Zapier account

Who extracts the feedback

Modjo, automatically after each call

Zapier's AI step, from the call summary

Setup effort

Low — mostly configuration

Medium — a 4-step Zap

Best for

Teams already running Modjo with a CRM

Teams without Salesforce or HubSpot

If you use Salesforce or HubSpot, start with AI CRM Filling. It uses Modjo's native automation, requires no third-party tool, and runs on every matching call without anyone clicking anything.


Option 1: AI CRM Filling + Salesforce automation

Modjo's AI CRM Filling analyses every call that matches your rules and writes what it finds into a CRM field. You create a field for product feedback, let Modjo populate it, then use a Salesforce Flow to push that field into Harvestr through our API.

Prerequisites

  • Admin or Manager role in Modjo

  • Modjo AI activated for your organization

  • Modjo connected to Salesforce or HubSpot

  • Admin access in Salesforce

  • A Harvestr API Access Token with the create_feedback scope, from your Harvestr API settings

Step 1: Create the CRM field

In Salesforce, create a custom field on the object you want feedback attached to — usually Account or Opportunity.

  • Field type: Long Text Area. A standard Text field caps at 255 characters and will truncate verbatims mid-sentence.

  • Suggested name: Modjo_Product_Feedback__c

Check Field-Level Security before you continue. Go to Setup > Object Manager > [Object] > Fields & Relationships, open your field, and click Set Field-Level Security. The field must be visible and editable for the profile used by the Modjo integration. If it isn't, Modjo silently fails to fill it — no error is shown anywhere.

Step 2: Create the AI CRM Filling template in Modjo

In Modjo, go to Settings > AI CRM Filling and click Create a new template. Choose Start from scratch.

Set your scope

Choose which calls the template applies to. You can filter by Teams and Tags, and under advanced settings also by call duration and telephony provider.

Narrowing the scope matters: a template that runs on every internal stand-up will produce noise. Targeting customer-facing teams and external calls gives much cleaner results.

Select the CRM field

Pick the Modjo_Product_Feedback__c field you created in Step 1.

Write the prompt

This prompt decides what ends up in Harvestr, so it's worth getting right. Here's one you can paste and adapt:

Extract the product feedback shared by the customer during this call.

Product feedback means specific input on the product's existing features, or an expressed need for new functionality. This includes negative experiences with current features, requests for new capabilities, comparisons with competitors, and concrete suggestions for improvement.

List the exact customer verbatims without rephrasing or summarizing. Group verbatims by topic when relevant. Use a bullet list in markdown format.

Do NOT extract:

• Statements that only describe or praise existing capabilities

• Generic positive comments with no actionable input

• Basic product usage questions

• Questions that a teammate answers during the call as already possible today

• Greetings, small talk, administrative or procedural questions

If the call contains no product feedback, return nothing at all.

That last line matters. An empty field means your Salesforce Flow won't fire, so calls without feedback never reach Harvestr.

Use Test your prompt to try it on a real call, then Validate my prompt and run the large-scale test on 5 calls. Modjo's own guidance is to always scale-test — prompts validated this way perform noticeably better.

Set the synchronization options

Three settings here have real consequences:

  • Synchronization: choose Automatic so feedback flows without a rep having to confirm anything.

  • Overwrite existing data: choose No. On "Yes", each new call replaces the previous call's feedback and you lose it before Harvestr ever sees it. On "No", new output is added on top of what's already there.

  • Call date display: turn this on. Because the field aggregates several calls, the date tells you when each piece of feedback was gathered.

Name your template, choose its output language, and click Finalize my template, then Publish.

Templates only apply to calls that happen after publishing. Existing calls are not backfilled.

Step 3: Push the field to Harvestr from Salesforce

Now build a Record-Triggered Flow that fires when Modjo fills the field, and sends its contents to Harvestr.

The full setup — External Credential, Named Credential, and the HTTP Callout — is documented step by step in Automatically send Opportunity feedback from Salesforce to Harvestr. Follow Option 2 in that article, with these changes:

Entry conditions

Trigger the Flow When a record is updated on your chosen object, with:

  • Modjo_Product_Feedback__c Is Changed = True

  • Modjo_Product_Feedback__c Is Null = False

Optimize for Actions and Related Records.

Request body

Use POST to /v1/message with this body, replacing the field names with your own:

{
  "title": "Product feedback from {!$Record.Name}",
  "content": "{!$Record.Modjo_Product_Feedback__c}",
  "channel": "MODJO",
  "requester": {
    "type": "COMPANY",
    "name": "{!$Record.Name}"
  }
}

Setting "channel": "MODJO" keeps this feedback labelled as Modjo-sourced in your inbox and in reporting, exactly as before.

If you'd rather attach feedback to an individual instead of a company, use "type": "USER" and pass the contact's name and email.


Option 2: Zapier

If you don't use Salesforce or HubSpot, Modjo's webhooks can send each call to Zapier, where an AI step extracts the product feedback and our Create Message action creates it in Harvestr.

Prerequisites

  • Administrator or Manager permissions in Modjo

  • A Zapier account on a Professional plan or higher — both Webhooks and AI by Zapier are unavailable on the Free plan

  • A Harvestr Editor account connected to Zapier. See our Zapier integration article for the basics.

Step 1: Create the Zap and get your webhook URL

  1. In Zapier, create a new Zap.

  2. For the trigger, search for and select Webhooks by Zapier.

  3. Choose the Catch Hook event and click Continue.

  4. In the Test tab, copy the webhook URL. It looks like https://hooks.zapier.com/hooks/catch/XXXXX/YYYYY/.

Step 2: Point Modjo at that URL

  1. Click Create Webhook and paste the Zapier URL.

  2. Uncheck the Call deleted and Transcript deleted events — you only want new calls.

  3. Save. Modjo gives you a security token; keep it if you plan to verify signatures.

Record a test call, then go back to Zapier and click Test trigger so Zapier can read the payload structure.

Check what the payload actually contains. AI by Zapier cannot follow links or fetch URLs — it can only read text that is already in the Zap. If Modjo's webhook sends only a link to the call rather than the summary or transcript text, insert a Webhooks by Zapier → GET step before the AI step to fetch the content from the Modjo API first.

Step 3: Extract the feedback with AI by Zapier

  1. Click + to add an action and select AI by Zapier.

  2. In the Prompt field, type / to insert the call summary or transcript from the trigger step, then paste the prompt below.

  3. Under Settings > Output Fields, add two fields so the result is structured rather than free text:

    • has_feedback — type Boolean, marked required

    • feedback — type Text

  4. Click Preview to test, then Finish.

You are reading a sales call. Extract the product feedback shared by the customer.

Product feedback means specific input on the product's existing features, or an expressed need for new functionality: negative experiences with current features, requests for new capabilities, comparisons with competitors, and concrete suggestions for improvement.

Quote the customer's exact words. Do not rephrase or summarize. Group verbatims by topic when relevant.

Do NOT extract:

• Statements that only describe or praise existing capabilities

• Generic positive comments with no actionable input

• Basic product usage questions

• Questions that a teammate answers during the call as already possible today

• Greetings, small talk, administrative or procedural questions

Set has_feedback to true only if you found genuine product feedback. If you found none, set has_feedback to false and leave feedback empty.

Step 4: Skip calls with no feedback

Add a Filter by Zapier step and set the condition to has_feedback (Boolean) is true.

Without this, every call creates an empty item in your inbox and you spend your week deleting them.

Step 5: Create the feedback in Harvestr

Add a final action, search for the Harvestr app, and select Create Message. Connect your Harvestr account, then map the fields:

Field

Required?

What to map

Source type

✅

Select Modjo so the feedback stays labelled as Modjo-sourced

Requester name, email, or company

✅ (at least one)

The account or contact from the Modjo payload

Title

✅

Something like Product feedback – {{Account name}}

Content

✅

The feedback output field from the AI step

Submitter name and/or email

Optional

The rep who ran the call

Message URL

Optional

The Modjo call URL — strongly recommended, it lets you jump back to the recording from the feedback

Labels

Optional

A label such as sales-call to route it with Custom Inboxes

Required fields left blank will make the Zap fail. Make sure Source type, Title, Content, and at least one requester field are always populated.

Test the step, then turn your Zap on.


What lands in Harvestr

Either route creates a new feedback item in your inbox containing the product feedback extracted from the call, attributed to the right customer, with a link back to the Modjo recording if you mapped it.

From there it behaves like any other feedback: HAI parses it, suggests a categorization, and you can link it to a Discovery the same way you would with feedback from Slack, Zendesk, or your widget.

Troubleshooting

Nothing arrives in Harvestr

Check in this order:

  • Was the call recorded after you published? Neither route is retroactive.

  • Did the call match your scope? An AI CRM Filling template filtered to one team ignores everyone else's calls.

  • Did the call actually contain product feedback? Both prompts are written to return nothing when there is none. That's working as intended, not a failure.

The CRM field stays empty

Almost always Field-Level Security. Confirm the field is visible and editable for the profile used by the Modjo integration — Modjo cannot write to it otherwise, and reports no error.

Feedback from earlier calls disappears

Your template is set to overwrite. Edit it and set Overwrite existing data to No.

The Zap fails or doesn't trigger

If it doesn't trigger, confirm the webhook URL in Modjo matches the one in your Zap exactly, and that the Zap is turned on — a Zap that is off returns a 404 to Modjo. If it triggers but fails at the Harvestr step, check that every required field is mapped.

Still stuck? Reach out to our support team and we'll help you get it running.

Did this answer your question?