Tag feedback by score and alert on detractors
Every score is banded and logged in a data store, and anything under your threshold alerts the team straight away.
New submission on your feedback or NPS form
Trigger a Make scenario that tags the response by sentiment, stores it in a data store, and alerts the team when a score falls below a threshold
One-directional. A submission triggers the action — nothing is written back into your form.
A low score is worth more in the hour it arrives than in a monthly roll-up. This flow reads the recommendation score as it lands, groups the response as promoter, passive or detractor inside Make, stores it, and pings the team only when the number falls under your threshold.
Product teams collecting scores continuously, rather than in survey rounds, use it to keep the noise down. Every response is logged for later analysis; only the ones that need a reply interrupt anybody.
Setting it up
- 1
Publish the NPS form and keep the 0–10 question as the only score on it, so the scenario never has to guess which number it is reading.
- 2
In Make, create a responses data store with columns for score, band, reason, product and date.
- 3
Start the scenario with a custom webhook module, then add a Set Variable module running parseNumber on the score — answers arrive as text, and text comparisons sort 10 below 6.
- 4
Add a router with three routes filtered on that variable: 0 to 6 as detractor, 7 to 8 as passive, 9 to 10 as promoter, and write the band into the data store on each route.
- 5
Put your alert module — Slack, Teams or email — on the detractor route only, with the score and the reason answer in the message body.
- 6
In Zapier, choose formformform and the New Submission trigger, select the NPS form and pull a real response through so the long question labels appear.
- 7
Add Make as the action app, point it at the scenario, and map the score question, the reason answer, the product answer and the respondent's email.
- 8
Submit a 4 and a 9 as tests, confirm only the 4 raised an alert while both reached the data store, then turn the Zap 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 field | Make |
|---|---|
| On a scale of 0–10, how likely are you to recommend us to a friend or colleague? | Parsed into the variable the router bands on, and the score column in the data store |
| What's the main reason for your score? | Body of the detractor alert, and the reason column on every row |
| Which of our products or services did you use? | Product column, so scores can be grouped by product later |
| Email Address | Respondent address on the data store row, for the follow-up conversation |
| What could we do to improve your experience? | Second comment column, kept out of the alert to keep the message short |
| Your Name | Name shown in the alert so somebody can pick the conversation up |
Variations worth knowing
The promoter branch does not have to end at the data store. Send nines and tens to a channel where somebody asks for a review or a testimonial, using the reason answer as the opening line of the request.
Increment promoter, passive and detractor counters in a data store as each response is banded. A weekly scenario can then read the three numbers and post the current figure without anybody exporting a spreadsheet first.
If something isn't arriving
The score is being compared as text, where 10 sorts below 6 and numeric conditions match nothing. Run parseNumber on the answer in a variable module before the router, and point every route filter at that variable rather than the raw answer.
The data store key is the respondent's email, so a repeat survey replaces the earlier row. Build the key from the email and the submission timestamp instead, and keep the plain email as an ordinary column for lookups.
Frequently asked questions
Where does the promoter and detractor split get calculated?
Inside Make. formformform has no calculated fields or scoring engine, so the scenario receives the raw 0 to 10 answer exactly as it was given. The router turns that number into a band, and the band is what gets stored and reported on.
Can the alert include what the same customer scored last time?
Yes, if the earlier score is in your data store. Add a lookup on the respondent's email before the alert module and put the older score in the message. None of that is written back into the form or the response.
How soon after someone submits does the alert appear?
The trigger is real time, so Zapier fires as the response is saved rather than waiting for a scheduled check. The scenario then runs at whatever pace its modules allow, which for a short alert chain is a matter of moments.
Related automations
- Confirm event sign-ups and log the attendee
A registration becomes a calendar entry, a confirmation email and an attendee row, all from one scenario run.
- Filter job applicants before they reach your ATS
A Make filter checks education and skills before the ATS sees the applicant, so the pipeline fills with people worth calling.
- Open a help-desk ticket and set its priority
One submission creates the ticket, sets its priority from the answer the requester picked, and drops a summary into the support channel.
- Record each order and start fulfilment
Every order is recorded in a data store, turned into an invoice, and passed to whoever picks and packs it.
- Route new leads down enterprise and nurture paths
Each lead enters a Make scenario where a router reads company size and sends enterprise deals one way, everyone else another.
- Let only qualifying applications reach the hiring manager
A Filter step checks location and hours first, so only qualifying applications create a candidate record and reach the hiring manager.
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