# Turn your Google Forms quizzes into a real gradebook

> See every learner's score, pass or fail flag, and question by question breakdown in one place, plus which questions your whole cohort keeps getting wrong.

- Workflow type: app
- Services: Google Forms, Google Sheets, Gmail
- Categories: HR & People, Operations
- Published: 2026-08-24

## What it does

- Pick one of your quiz forms and get a full roster of everyone who submitted, with their total score, a pass or fail flag against the mark you set, and their per question breakdown.
- Ranks every question by how often the group got it wrong, so you can see which material is not landing instead of only seeing which people failed.
- Click any learner to read their answers side by side with the correct ones, then keep scores, pass marks and retake status in a Google Sheet so the gradebook carries across cohorts.
- One click writes a personalized coaching and retake email into your Gmail drafts, ready for you to review before anything is sent.

## What you'll need

- A Google account that owns the quiz forms you want to grade
- Forms set to quiz mode, with point values and correct answers already filled in
- A Google Sheet to hold the gradebook, cohort roster and pass marks (a blank one is fine)
- A Gmail account for the coaching email drafts

## Prompt

Build me an app that turns the training quizzes I run in Google Forms into a proper gradebook, because the built in response summary is far too thin. When I open the app I pick one of my quiz forms and everything else works off that selection.

Reading the quiz. Use the Google Forms Get Form operation to read the quiz structure: every question, its text, its point value and its correct answers. This only applies to forms in quiz mode, so if the selected form has no grading information, show a clear empty state saying the form is not a quiz and to switch quiz mode on in Google Forms, rather than rendering a broken roster of zero scores. Pull submissions with the Google Forms List Responses operation, and page through using the next page token until there are no more pages, so the app keeps working on high volume forms where the native Forms summary degrades. Use Get Response when a single submission needs to be reloaded on its own.

View one, the gradebook. A roster table of everyone who submitted, one row per learner, showing their name or email, their total score, their score as a percentage, a clear pass or fail flag measured against a pass mark I set, and a compact per question breakdown of which items they got right and wrong. Let me sort by score and filter to just the people who failed. The pass mark is editable per quiz, so each quiz remembers its own threshold, and changing it reflags the roster immediately without needing a refetch of the responses.

View two, item analysis. Rank every question in the quiz by how often the cohort got it wrong, hardest first, showing the question text, the number and percentage of learners who missed it, and the correct answer. The point is to show me which material is not landing, rather than only which individuals failed. This view needs an anonymized cohort mode I can toggle on, which keeps all the item statistics but hides every learner name, so I can share the analysis with other trainers or course owners without exposing individuals.

Learner detail. Clicking any learner in the roster opens their detail, showing each question with their submitted answer sitting beside the correct answer, marked right or wrong, with points earned against points available, plus their total and their pass or fail status.

Persistence in Google Sheets. Google Sheets is the durable store so results survive across cohorts. Use Get Values to read the cohort roster, my saved pass mark per quiz, retake status and the running gradebook history when the app loads. Use Append Values to add new graded rows to the gradebook history, and Update Values to save an edited pass mark, to flip a learner's retake status, and to update rows that already exist. Each cohort should add to the history rather than overwrite the previous one, so I can compare how different groups did on the same material.

Background agent on each learner row. Add a Write coaching feedback button to every learner row that kicks off a background agent for that one person. The agent reads that learner's wrong answers together with the question text and the correct answers, drafts a personalized feedback and retake email, and creates it in Gmail using the Create a Draft operation. It must always stop at the draft stage so I review and send it myself, so never call Send a Draft and never send anything automatically. When the agent finishes it writes a one line summary of the feedback back into the gradebook sheet with Append Values or Update Values, and the app shows that summary on the learner's row so I can see at a glance who has already had feedback drafted and what it said. Show the button in a running state while the agent works and surface a clear error on the row if the draft could not be created.

## How to customize

- Set a different pass mark for each quiz and change it whenever you like, the roster reflags instantly
- Switch on the anonymized cohort view to share item analysis with other trainers without naming anyone
- Adjust the tone, length and structure of the coaching emails, for example a warmer note for first attempts and a firmer one for retakes

## FAQ

### Does this work with any Google Form?

It works with forms set to quiz mode, because that is what holds the point values and correct answers the gradebook needs. If you pick a form that is not a quiz, the app tells you rather than showing empty scores. Turning quiz mode on in your form settings is enough to make it work.

### Will it email my learners automatically?

No. Coaching feedback always stops at the draft stage in your Gmail account. You open the draft, edit anything you want, and decide whether to send it. Nothing is sent to a learner without you clicking send yourself.

### What happens if my quiz has thousands of responses?

The app reads through your responses page by page, so large forms still produce a complete roster. This is the main reason to use it over the built in summary, which starts breaking down on very high volume forms.

### Can I share the results without exposing individual names?

Yes. The anonymized cohort view shows the item analysis, so which questions were missed most often and by how much of the group, with learner names hidden. It is meant for sharing with other trainers or course owners.

### Does it work across multiple cohorts of the same course?

Yes. Scores, pass marks and retake status are written to a Google Sheet, so each cohort adds to a running history instead of overwriting the last one. You can compare how different groups performed on the same material.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-your-google-forms-quizzes-into-a-real-gradebook