Form page · /f/<id>
Customer satisfaction survey
How did we do? · own header and theme · Its own page: share the link or open it on a tablet
Surveys & Assessments package
A three-step survey page with star rating, 0-10 NPS slider, Likert matrix and rich-text comment; a decision table classifies each answer and detractors get a follow-up call with an SLA.
About this package
Customer satisfaction (CSAT / NPS) survey is a complete feedback loop built only from UserTasks features and the official form controls. The survey page has three steps with a progress bar and a review step: a 1-5 star Rating, a 0-10 Slider for how likely the customer is to recommend you, a Likert matrix on speed, knowledge, ease and value (with N/A), and a Rich text comment.
Every answer starts the Survey response workflow. A decision table turns the scores into promoter, passive or detractor with NPS points (+100, 0, -100: their average is the NPS) and decides whether someone follows up and how fast. The response is saved in the Survey responses data table, which ships with six months of sample answers.
Detractors (and unhappy passives) become a follow-up task for the person who installed the package with a 24 or 48 hour SLA, reminders and escalation to their manager. The task shows the customer's answers on an Info card and records the root cause, a call rating, call notes and what was agreed, which is emailed to the customer. Everyone else gets a thank-you email.
The Survey results page is a small dashboard: a Chart of NPS by month and a doughnut of promoters, passives and detractors from the data table, the NPS by product area and the open follow-ups as Saved reports (workflow variables and task reports), and a button that emails a month's summary.
Starts from a form page: share the Customer satisfaction survey page (/f/<id>) with signed-in customers or staff, or submit it from your own app through the forms API.
Someone fills in a form to start it: the workflow start form (Run dialog in the app, or your own portal posting to the API) or a standalone form page (/f/<id>) whose Form submitted trigger starts the workflow. People complete User Task forms along the way.
How forms workThe flow
Customer answers
Three steps with a progress bar: star rating and 0-10 slider, a Likert matrix and the product area, then a rich-text comment and contact details, with a review step before sending.
Classify
A decision table turns the scores into promoter, passive or detractor, NPS points, and whether and how fast to follow up; the Likert answers become an experience score.
Save
The response goes into the Survey responses table with its month and NPS points.
Follow up on low scores
Detractors get a call task with an SLA, reminders and manager escalation; what was agreed is emailed to the customer. Everyone else gets a thank-you email.
Watch the trend
The Survey results page charts NPS by month and the category split, shows NPS by product area and the open follow-ups as saved reports, and emails a monthly summary.
Forms
People start it from a form page (/f/<id>) with its own header, theme and buttons; submitting it starts the workflow. User Tasks show their fields and outcome buttons to the assignee.
Form page · /f/<id>
How did we do? · own header and theme · Its own page: share the link or open it on a tablet
Form page · /f/<id>
2-column grid · own header and theme · Its own page: share the link or open it on a tablet
User Task
Follow up: {{form.customer_name}} ({{nps_category}}, {{form.nps}}/10) · 2-column grid · own header and theme
Form controls
The forms use these controls from the gallery. They come inside the package and install into Extensibility → Form controls, sandboxed and signed like every official control: nothing else to download.
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"overall":2,"nps":3,"experience":{"speed_of_our_response":2,"knowledge_of_the_person_who_helped_you":3,"ease_of_getting_what_you_needed":1,"value_for_money":0},"product_area":"Billing","channel":"Email","comment":{"html":"<p>I was charged twice and it took three emails to get a refund.</p>","text":"I was charged twice and it took three emails to get a refund."},"customer_name":"Avery Example","customer_email":"avery.example@example.com","may_contact":true}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input overall=2 --input nps=3 --input experience='{"speed_of_our_response":2,"knowledge_of_the_person_who_helped_you":3,"ease_of_getting_what_you_needed":1,"value_for_money":0}' --input product_area=Billing … --waitWhat's included
| Type | Name | Details |
|---|---|---|
| Email template | Following up on your feedback | Sent to the customer after someone has called them about a low score and agreed what happens next. |
| Email template | Monthly NPS summary | The summary someone asks for from the Survey results page. |
| Email template | Thanks for your feedback | Sent to the customer after they answer the survey (when they gave an email address). |
| Data table | Survey responses | Every customer satisfaction response: the 1-5 rating, the 0-10 likelihood to recommend, the NPS category and points (+100 promoter, 0 passive, -100 detractor: their average is the NPS), the experience score and the follow-up status. |
| Decision table | NPS category and follow-up | 5 rules — Turns the 0-10 likelihood to recommend and the 1-5 overall rating into the NPS category, its points, and whether (and how fast) someone follows up. Change the thresholds or the follow-up hours here; the workflow reads the outputs. |
| Retention policy | Survey responses: 24 months | Survey answers name the customer: purge response rows 24 months after they were created. Apply it to the Survey responses table after install. |
| Report | NPS points by product area | Average NPS points per product area from the survey runs (workflow variables): above 0 means more promoters than detractors. |
| Report | Open detractor follow-ups | Follow-up calls for low scores that are not closed yet, with their due dates (the Survey response workflow's tasks). |
| Report | Survey responses by month | Responses and average rating per month from the survey runs (workflow variables). |
| Form control | Chart | Bar, line, area, pie or doughnut chart of static data, another field's rows, lookup results or a saved report. Keyboard-navigable points, a data table view, and optional point selection. |
| Form control | Info card | A callout or key / value card: an info, success, warning, error or neutral message that can show up to six other form values ({{field1}} … {{field6}}), formatted for the reader. |
| Form control | Likert scale | Survey matrix: rate several statements on one scale (agree / disagree, satisfaction, frequency or your own labels), with optional N/A. A matrix on wide screens, one card per statement on phones. |
| Form control | Rating | Star, heart or circle rating from 1 to 10 with optional labels (Poor … Excellent). Mouse, touch and keyboard. |
| Form control | Rich text | A rich-text editor with bold, italic, underline, headings, lists, quotes and links, a character counter and strict sanitising of everything typed, pasted or dropped. |
| Form control | Saved report | Shows a saved report as a sortable, paginated table or a chart, run with the permissions of the person filling in the form. Optionally pick a row as the field's value. |
| Form control | Slider | A range slider for numbers (0 to 100, $0 to $5,000, 1 to 10) with a value bubble, mark labels such as Low / Medium / High and an optional box for exact entry. |
| Form | Customer satisfaction survey | The customer survey page: a 1-5 star rating, how likely they are to recommend you (0-10), a Likert matrix on the experience and a comment. Each answer starts the Survey response workflow. |
| Form | Survey results | The internal results page: NPS trend and category split from the Survey responses table, NPS by product area and the open follow-ups from saved reports, and a button that emails a month's summary. |
| Workflow | Monthly NPS summary | 9 steps — From the Survey results page: counts promoters, passives and detractors for a month in the Survey responses table, works out the NPS and emails it to whoever asked. |
| Workflow | Survey response | 15 steps — A customer answers the survey: the response is classified as promoter, passive or detractor by a decision table, saved, and low scores get a follow-up call with an SLA. |
Survey responses · 30 sample rows
ReferenceSubmittedMonthCustomerEmailProduct areaChannelOverall ratingLikelihood to recommendNPS categoryNPS pointsExperience scoreCommentFollow-upStatus
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Nothing: it installs complete.
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/csat-nps-survey-1.0.0.utpkg
usertasks packages inspect csat-nps-survey-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install csat-nps-survey-1.0.0.utpkg --dry-run
usertasks packages install csat-nps-survey-1.0.0.utpkg # prompts for each requirement
usertasks packages install csat-nps-survey-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete csat-nps-survey -f values.yamlVerify the download
shasum -a 256 csat-nps-survey-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Surveys & Assessments Official
A stepped engagement survey with Likert sections, an eNPS slider and mood rating; scores and risk bands are worked out, and named at-risk answers get a manager follow-up with an action plan.
Nothing to configure: works as soon as it is installed
Surveys & Assessments Official
A four-step inspection page with a checklist table, star rating, photos and signature; a decision table sets the outcome band and every failed item becomes a signed-off corrective action.
Nothing to configure: works as soon as it is installed
Surveys & Assessments Official
Course feedback with ratings and a Likert matrix, a scored six-question quiz and a signed attestation; passes get a PDF certificate by email, near misses a retake task and fails a booked session.
Nothing to configure: works as soon as it is installed