Salesforce logo

Write NPS scores onto the customer record

NPS responses update the matching Salesforce Contact, putting the score and the comment on the customer record.

When this happens

New submission on your customer feedback survey

Do this

Update the matching Contact in Salesforce and log the score on the record

One-directional. A submission triggers the action — nothing is written back into your form.

Survey results usually live in a reporting tool nobody opens during an account review. Writing the score onto the Contact means the account manager sees it where they are already looking, next to the open cases and the renewal date.

Customer success teams surveying after a project or a support interaction get the most from this. The comment matters more than the number: a seven with a specific complaint attached is a conversation, and it is on the record before the next call is booked.

Setting it up

  1. 1

    Add the fields to Salesforce first — a number field for the score, a long text field for the comment, and a date field for when it was given. Nothing can be written until they exist.

  2. 2

    Send the survey to a known audience by email or personal link, so the address on the response matches the one held on the Contact.

  3. 3

    In Zapier, point the "New Submission" trigger at the feedback survey.

  4. 4

    Add a Salesforce Find Record step on Contact matched by Email Address, and leave create-if-not-found off. An unmatched response should be reviewed, not turned into a new Contact.

  5. 5

    Add an Update Record step on Contact using the record ID the search returned.

  6. 6

    Map the 0–10 question to the score field. It arrives as text, so put a Zapier Formatter step in between to convert it to a number.

  7. 7

    Map the reason for the score into the comment field, and set the date field to the submission date so an old score is never mistaken for a current one.

  8. 8

    Add a filter after the search so the Zap stops when no Contact is found, then test with a real customer address before switching it on.

What maps where

Using the Net Promoter Score Survey as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldSalesforce
Email AddressMatching key that finds the existing Contact; nothing is created
On a scale of 0–10, how likely are you to recommend us to a friend or colleague?Custom NPS score field on the Contact
What's the main reason for your score?Custom comment field, shown beside the score
What could we do to improve your experience?Logged on a follow-up Task for the account owner
Which of our products or services did you use?Custom field recording what the score refers to

Variations worth knowing

Raise a Task on anything below seven

A Zapier filter on the score can add a Create Record step on Task, owned by the Contact's account owner and due the next working day. Passives and promoters only update the record; detractors put something in a person's list.

Roll the score up to the Account

Account managers work at the account level, not the person. Add a second Update Record step on the Contact's Account, writing the latest score and date there as well. Contact fields keep the individual history; the Account field shows where the relationship stands now.

If something isn't arriving

Half the responses find no Contact and the Zap stops.

People answer from a personal address, or the Contact is stored under an alias. Send the survey to the address Salesforce holds, and route the unmatched ones to a spreadsheet or a channel for someone to match by hand rather than creating Contacts blindly.

Salesforce rejects the score with an invalid number error.

The answer arrives as text, and an option labelled something like "9 — very likely" is not a number. Add a Zapier Formatter step to pull out the digits before the update, or set the survey's options to bare numbers.

Frequently asked questions

How does a survey response find the right Contact?

On the email address. Send the survey to the address held in Salesforce and the Find Record step matches it directly. A public anonymous link has nothing to match on, which is why this flow suits surveys sent to known customers.

Does the previous score get overwritten?

Yes, if you write to a single field. Keep the history with a custom object or a Task per response and let the Contact field hold only the latest. Every response also stays in formformform, so the earlier scores are never actually lost.

Can we run the survey anonymously and still use this?

No. Updating a record means knowing whose record it is. Run anonymous surveys as a separate form and read those results in formformform, keeping the identified survey for feedback that has to reach the account team.

Related automations

Build the form first

The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.

Start free