Surveys & Assessments package

Training feedback, quiz and certificate

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.

OfficialNo integrations neededStarts from a formIntermediate~10 min setupv1.0.0

About this package

What it does

Training feedback, quiz and certificate turns the end of a course into feedback, an assessment and a certificate, built only from UserTasks features and the official form controls. The Training feedback and quiz page has four numbered steps and a review step: the learner looks up the course in the Courses data table (title, trainer, pass mark and certificate validity fill in), rates the trainer and the content with the Rating control, answers a Likert scale matrix on course quality, takes a six-question multiple-choice quiz on information security basics and signs an attestation with the Signature control.

The Quiz submitted workflow scores the answers with Set Variable expressions, lists the topics to revise, and a decision table compares the score with the course pass mark: at or above it passes, up to 20 points below means a retake, further below means a session. Every result is saved in the Quiz results data table, which ships with sample results across four courses.

A pass gets a certificate number and an expiry date from the course validity; the certificate is written as HTML with a Text template, converted to PDF on the server (no external API), recorded in Quiz results and emailed to the learner as an attachment. A retake becomes a task for the learner with their score on a Progress bar (warning below 60 %, good from 80 %) and the topics on an Info card. A fail becomes a task for the training coordinator to book a session, with an SLA, reminder and escalation.

The Training results page is a dashboard: Chart controls for the average score by course and the pass / retake / fail split from Quiz results, Saved report controls for the pass rate and average scores and ratings by course (workflow variables) and the open retakes and sessions, and a button that emails a summary and reminds every learner whose certificate expires soon.

Starts from a form

Starts from a form page: share the Training feedback and quiz page (/f/<id>) with signed-in learners at the end of a course, or submit it from your LMS 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 work

The flow

Step by step

  1. 1

    Learner gives feedback and takes the quiz

    Four steps: look up the course, rate the trainer and content and answer a Likert matrix, answer six quiz questions, then sign the attestation; a review step comes before submit.

  2. 2

    Score and band

    Set Variable expressions count the correct answers and list topics to revise; a decision table compares the score with the course pass mark.

  3. 3

    Save

    The result, ratings and band go into the Quiz results table.

  4. 4

    Certificate for a pass

    A certificate number and expiry date are set, an HTML certificate is converted to PDF, recorded and emailed to the learner.

  5. 5

    Retake or session

    Near misses get a retake task with their score on a Progress bar; fails get a book-a-session task for the coordinator with an SLA.

  6. 6

    Track and remind

    The Training results page charts scores and bands, shows pass rates and open tasks, and emails a summary plus reminders for certificates that expire soon.

Quiz submitted — A learner submits the training feedback and quiz: the answers are scored, a decision table bands the result against the course pass mark, the result is saved, and a pass gets a PDF certificate by email while a retake or a booked session follows otherwise. The same canvas you get in the designer after installing.

Sub-workflow: Training summary and expiry reminders

From the Training results page: works out the pass rate and average score from Quiz results, finds certificates that expire within the chosen number of days, reminds each of those learners by email and emails the summary to whoever asked.

Forms

The start form and the task 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>

Training feedback and quiz

own header and theme · Its own page: share the link or open it on a tablet

Course * course · lookup
Course title course_title · text
Trainer trainer · text
Pass mark (%) pass_mark · number0
Certificate valid for (months) validity_months · number0
Your name (as it should appear on the certificate) * learner_name · text
Training completed on * completed_on · dateYYYY-MM-DD
How would you rate the trainer? * trainer_rating · ut-rating
How would you rate the course content? * content_rating · ut-rating
About the course * quality · ut-likert
Anything we should improve? feedback · textarea
An email that looks like it is from IT asks you to confirm your password through a link. What do you do? * q1 · choice
Click the link and confirm itReply with your passwordReport it as phishing and delete itForward it to colleagues to check
Which of these is the strongest password? * q2 · choice
Summer2026!P@ssw0rd1A long passphrase of four or more random wordsYour pet name and birth year
You find a USB stick in the car park. What do you do? * q3 · choice
Plug it in to find the ownerHand it to IT or security without plugging it inKeep it for your own filesPlug it into a spare laptop
When should you lock your computer screen? * q4 · choice
Only at the end of the dayWhenever you leave your deskOnly when working in publicNever, it slows you down
Your phone asks you to approve a sign-in (MFA) that you did not start. What do you do? * q5 · choice
Approve it to stop the promptsDeny it and report it to IT or securityIgnore itTurn off multi-factor authentication
Where may you store customer data? * q6 · choice
In personal cloud storageOnly in approved company systemsOn a USB stickIn your personal email
I completed this training and the quiz myself, without help from anyone else * attest · boolean
Your signature * signature · ut-signature
Submit my quiz

Form page · /f/<id>

Training results

2-column grid · own header and theme · Its own page: share the link or open it on a tablet

About these results about · ut-info-card
Average score by course score_chart · ut-chart
Results by band band_chart · ut-chart
Pass rate by course pass_report · ut-saved-report
Average scores and ratings avg_report · ut-saved-report
Open retakes and sessions open_report · ut-saved-report
Certificates expiring within (days) * days_ahead · numberPrefilled: 60
Email a reminder to each of those learners remind_learners · boolean
Email me the summary

User Task

Retake the quiz

Retake the {{course_code}} quiz ({{score_pct}}%, pass mark {{pass_mark}}%) · 2-column grid · own header and theme

Your score (%) r_score · numberPrefilled: {{score_pct}}
Pass mark (%) r_pass · numberPrefilled: {{pass_mark}}
Your score r_progress · ut-progress
What to revise r_card · ut-info-card
Topics r_topics · textareaPrefilled: {{revise_topics}}
I will retake it by retake_by · dateYYYY-MM-DD
What would help? help_note · textarea
I will retake itI need help

User Task

Book a training session

Book a session: {{form.learner_name}} · {{course_code}} ({{score_pct}}%) · 2-column grid · own header and theme

Learner b_learner · textPrefilled: {{form.learner_name}}
Email b_email · emailPrefilled: {{submitted_by_email}}
Score (%) b_score · numberPrefilled: {{score_pct}}
Score b_progress · ut-progress
Topics missed b_topics · textareaPrefilled: {{revise_topics}}
Session date session_date · dateYYYY-MM-DD
Session type session_type · choice
ClassroomOnline liveOne-to-one
Note to the learner coordinator_note · textarea
Session bookedNot required

Form controls

7 official form controls, installed with it

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

Start a run over the API

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

shell
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":{"course":"ISEC-101","course_title":"Information security basics","trainer":"Avery Example","pass_mark":80,"validity_months":12,"learner_name":"Jordan Sample","completed_on":"2026-10-30","trainer_rating":5,"content_rating":4,"quality":{"the_course_objectives_were_clear":5,"the_content_is_relevant_to_my_job":4,"the_pace_was_about_right":3,"i_can_apply_what_i_learned_straight_away":4},"feedback":"More real phishing examples would help.","q1":"Report it as phishing and delete it","q2":"A long passphrase of four or more random words","q3":"Hand it to IT or security without plugging it in","q4":"Whenever you leave your desk","q5":"Deny it and report it to IT or security","q6":"Only in approved company systems","attest":true}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input course=ISEC-101 --input course_title="Information security basics" --input trainer="Avery Example" --input pass_mark=80 … --wait

What's included

22 assets, ready to adapt

TypeNameDetails
Email templateCertificate expiring soonThe reminder each learner gets from the Training results page when their certificate expires soon.
Email templateTraining results summaryThe summary someone asks for from the Training results page.
Email templateYour training certificateSent to the learner when they pass, with the certificate PDF attached.
Email templateYour training session is bookedSent to the learner after the training coordinator books a session for a failed quiz.
Data tableCoursesThe course catalogue: code, title, topic, the pass mark (%) for its quiz, how many months a certificate stays valid, the trainer and duration. The quiz form looks courses up here.
Data tableQuiz resultsEvery completed quiz: learner, course, correct answers, score (%), the course pass mark, the band (Pass / Retake / Fail), feedback ratings, and for passes the certificate number and expiry date.
Decision tableQuiz result band3 rules — Compares the score with the course pass mark: at or above it passes, up to 20 points below means a retake, more than 20 below means a booked session. Change the margins or follow-up days here.
Retention policyQuiz results: 7 yearsTraining records are evidence for audits: purge quiz result rows seven years after they were created. Apply it to the Quiz results table after install.
ReportAverage scores and ratings by courseAverage quiz score (%), trainer rating and content rating per course from the quiz runs (workflow variables).
ReportOpen retakes and sessionsRetake and book-a-session tasks from the quiz runs that are not done yet.
ReportPass rate by courseShare of quizzes passed per course (1 = pass, 0 = retake or fail, so the average is the pass rate) and the number of attempts, from the quiz runs (workflow variables).
Form controlChartBar, 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 controlInfo cardA 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 controlLikert scaleSurvey 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 controlProgressProgress as a bar, a ring or named steps, from two mapped fields (current and total) or fixed values, with optional warning / good thresholds.
Form controlRatingStar, heart or circle rating from 1 to 10 with optional labels (Poor … Excellent). Mouse, touch and keyboard.
Form controlSaved reportShows 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 controlSignatureDraw a signature with a finger, pen or mouse, or type a name. Saved as a trimmed PNG in the form's attachments.
FormTraining feedback and quizThe learner gives feedback on the course (trainer and content ratings, a Likert matrix on course quality), answers a six-question quiz and signs an attestation. Each submission starts the Quiz submitted workflow.
FormTraining resultsThe training dashboard: average score by course and the pass / retake / fail split from the Quiz results table, pass rate and average scores as saved reports, open retakes and sessions, and a button that emails a summary and reminds learners whose certificates expire soon.
WorkflowQuiz submitted33 steps — A learner submits the training feedback and quiz: the answers are scored, a decision table bands the result against the course pass mark, the result is saved, and a pass gets a PDF certificate by email while a retake or a booked session follows otherwise.
WorkflowTraining summary and expiry reminders13 steps — From the Training results page: works out the pass rate and average score from Quiz results, finds certificates that expire within the chosen number of days, reminds each of those learners by email and emails the summary to whoever asked.

Courses · 5 sample rows

CodeTitleTopicPass mark (%)Certificate valid (months)TrainerDuration (hours)Active

Quiz results · 22 sample rows

ReferenceCompletedLearnerEmailCourseCourse titleCorrect answersScore (%)Pass mark (%)BandTrainer ratingContent ratingCourse quality (1-5)CertificateCertificate expiresStatus

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • Email (optional) — Email delivery configured for the instance (EMAIL_PROVIDER), used for notifications.

After installing

  1. Nothing to configure: install it and open Forms → Training feedback and quiz (share its /f/ link) and Forms → Training results.
  2. The Rating, Likert scale, Signature, Progress, Info card, Chart and Saved report controls install with the package (Extensibility → Form controls).
  3. Replace the sample rows in Courses with your catalogue (code, title, pass mark, certificate validity, trainer) and delete the sample rows in Quiz results when you go live.
  4. The quiz questions are on the form and their correct answers are in the Correct answers step of the Quiz submitted workflow: change both together for your own topic.
  5. Session bookings go to the person who installed the package (the training coordinator); retakes go to the learner. Edit the Quiz result band decision table to change the margins.
  6. Optional: apply the "Quiz results: 7 years" retention policy, and set EMAIL_PROVIDER so certificates and reminders are delivered (the console provider logs them).

Asked for on install

Nothing: it installs complete.

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download training-quiz-certification-1.0.0.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/training-quiz-certification-1.0.0.utpkg
usertasks packages inspect training-quiz-certification-1.0.0.utpkg       # offline: checksum, hashes, signature
usertasks packages install training-quiz-certification-1.0.0.utpkg --dry-run
usertasks packages install training-quiz-certification-1.0.0.utpkg       # prompts for each requirement
usertasks packages install training-quiz-certification-1.0.0.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete training-quiz-certification -f values.yaml

Verify the download

File SHA-256
45069a8b87ab68bdc335c9eecafadde9f56104691439045e8741b40bdd9e931c
Package checksum (what is signed)
sha256:665fdb615bbf5176e6f03d1fedfb8fc5b81a8837d53eeb6df151434b84b4437a
Signer
UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11

shasum -a 256 training-quiz-certification-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-10-31First release.

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

Related

Browse the whole gallery