AI grading for your Moodle assignments

Proctor AI grading is a free plugin for the standard Moodle Assignment activity. It reads handwritten answers from photos and scanned PDFs, and typed online text, and marks each question against the marking key the teacher writes.

The AI result is always a draft. Teachers review it in Moodle's own grader, change any mark, and decide when students see it. Download version 0.2.0 at https://www.proctorai.io/downloads/assignfeedback_proctorai-0.2.0.zip. Source code: https://github.com/UpendraAkki/moodle-assignfeedback_proctorai.

Before you start

  • Moodle 4.5, 5.0, 5.1, 5.2 or 5.3, on PostgreSQL or MySQL/MariaDB.
  • PHP 8.1 or newer. The plugin recommends at least 8.2.35, 8.3.36, 8.4.27 or 8.5.12 because of a PHP security fix.
  • Cron running. Grading jobs run through the scheduled task assignfeedback_proctorai\task\grade_submission.
  • Outbound HTTPS from the Moodle server to agent.proctorai.io. The plugin never follows redirects.
  • A Proctor AI account for the person who will own the API key, and the right to install plugins on the site.

Install in five steps

  1. Download the ZIP: Get assignfeedback_proctorai-0.2.0.zip from this page. The source is on GitHub under the GPL v3 if you prefer to build it yourself.
  2. Upload it to Moodle: Go to Site administration, Plugins, Install plugins, and upload the ZIP. If uploads are disabled on your site, copy the folder to mod/assign/feedback/proctorai, or public/mod/assign/feedback/proctorai on Moodle 5.1 and later.
  3. Run the upgrade: Open Site administration, Notifications and click Upgrade Moodle database now. The plugin shows as Proctor AI grading under Assignment feedback plugins.
  4. Create an API key: In Proctor AI, open Settings, API keys, Create key. A live key starts with pai_live_ and is shown once, so copy it straight away. A test key starts with pai_test_, is free, and returns sample marks so you can check the setup without spending anything.
  5. Connect and consent: Open Site administration, Plugins, Activity modules, Assignment, Feedback plugins, Proctor AI grading. Paste the API key, leave the API URL as it is, tick Allow sending student work to Proctor AI, and save. The Connection box should now read Connected, with your balance and how many submissions it covers.

Site settings

SettingDefaultWhat it does
API keyThe pai_live_ or pai_test_ key from Proctor AI. Stored as a password field.
API URLhttps://agent.proctorai.io/api/v1Leave as is unless Proctor AI tells you otherwise.
Allow sending student work to Proctor AIoffThe consent switch. Nothing is sent while this is off.
Enabled by defaultoffPre-ticks Proctor AI grading on new assignments.
Low balance warning20Teachers see a banner when fewer gradings than this remain.
Attempts per submission5How many times a failed job is retried before it is marked stopped.
Grade again when resubmittedonA new attempt is graded again; a mark a teacher gave is never overwritten.
Automatic gradings per student3Cap for Grade automatically on submission. 0 means no limit.
Upload methodDirect (recommended)Direct sends files through signed uploads. Inline embeds photos only, up to 4 MB in total.
Site administration, Plugins, Activity modules, Assignment, Feedback plugins, Proctor AI grading

Set up an assignment

  1. Create or edit an Assignment. Under Submission types allow File submissions, Online text, or both. Photos and PDFs count as files.
  2. Under Feedback types tick Proctor AI grading. New fields appear: Marking key, Level, Instructions for the AI grader and Grade automatically on submission.
  3. Write the marking key with the question-by-question editor, or switch to Edit as text and paste it. Add parts for sub-questions, options for multiple choice, and an expected answer wherever you have one.
  4. Check the total: the editor compares the key's marks with the assignment's maximum grade. If they differ, the AI mark is scaled to the grade book.
  5. Pick a Level (for example Grade 9 or Bachelor's) and, if you like, add instructions such as award method marks or ignore spelling.
  6. Save. Students submit as usual and see nothing from the plugin until you release marks.
Marking key, text form (Text)
1. State Newton's second law and give its SI unit. [2]
Answer: F = ma. Force is measured in newtons (N).

2. Which of these is a vector quantity? [1]
Options: speed | distance | velocity | mass
Answer: velocity

3a. A 4 kg mass accelerates at 3 m/s². Write the formula you will use. [1]
Answer: F = ma

3b. Calculate the force. [2]
Answer: F = 4 × 3 = 12 N

Grading and releasing marks

  • Grade a few: on View all submissions, select students and choose Grade with Proctor AI from the bulk actions. The cost is shown before anything is sent.
  • Grade everyone waiting: choose Grade all ungraded with Proctor AI.
  • Grade as they arrive: tick Grade automatically on submission in the assignment settings. The per-student cap in site settings stops a resubmission loop from costing more than you expect.
  • Review: open a submission in the grader. The Proctor AI panel shows each question's mark, what the AI read, its reasoning and its confidence. Unsure answers are flagged. Click Use AI grade to copy the draft into the grade field, or type your own.
  • Release: with marking workflow on, release marks the normal way. Without workflow, Apply Proctor AI marks on the submissions page writes the drafts to the grade book in one go.
  • Group submissions are graded and charged once. A retry after a network problem is never charged twice.

The status page

Open Proctor AI status from the actions menu on View all submissions. It lists every grading job with its state, lets you Retry or Cancel a job, and offers Retry everything stopped by the balance after a top-up.

If something does not work

What you seeLikely causeWhat to do
Connection box says invalid keyThe key was mistyped, revoked, or is a test key on a live URLCreate a new key in Settings, API keys and paste it again
Nothing happens after Grade with Proctor AICron is not running, or consent is offCheck Site administration, Server, Tasks; tick the consent box
Job stopped: balanceNo gradings left on the accountTop up in Proctor AI, then Retry everything stopped by the balance
Unreadable pageBlurred photo, or a page over the size limitAsk for a clearer photo; images up to 10 MB, PDFs up to 30 MB and 20 pages
Marks look scaledThe key's total differs from the assignment's maximum gradeMatch the totals in the key editor, or accept the scaling
Inline upload failsPhotos over 4 MB in totalSwitch Upload method to Direct

What is sent and what is not

  • Sent: the submission files renamed page-1, page-2 and so on, the online text, the assignment name, and the marking key with the level and instructions.
  • Not sent: student names, email addresses, ID numbers or anything else from the Moodle profile.
  • Proctor AI deletes the files as soon as the submission is graded, within 72 hours at most. The result is kept encrypted for 72 hours so a retry can return it without charging again.
  • Moodle keeps the job queue for 90 days. The plugin implements Moodle's Privacy API, so exports and deletions include it.

Cost

The plugin is free. Each graded submission uses 0.4 of a grading from your prepaid Proctor AI balance, about ₹10 or $0.10, and the price is shown in Moodle before anything is sent. Plan allowances are not used by the plugin, only bought gradings.

Version history

  • 0.2.0 (25 October 2026): marking key editor question by question, marks per question editable in the grader, Apply Proctor AI marks bulk action, status page with retry and cancel, group submissions graded once, Direct or Inline upload method, unreadable files named in the grader. Fixes: approved or released results are no longer replaced by automatic re-grading, retries are never charged twice, redirects are not followed and the API URL must be https.
  • 0.1.1 (22 October 2026): fixes from end-to-end testing on Moodle 4.5 and 5.0: the cost confirmation and status pages load, the connection check runs only on the plugin's own settings page, a key that works again resumes grading, clearer wording for counts.
  • 0.1.0 (21 October 2026): first release. Photo, PDF and online-text submissions graded against a per-assignment marking key, teacher review first, grader panel with Use AI grade, bulk and automatic grading with a cost confirmation, idempotent retries, consent switch, Privacy API, backup and restore.

Frequently asked questions

Is the Moodle plugin free?

Yes. The plugin is free and open source (GPL v3). Grading itself is paid from your prepaid Proctor AI balance, and Moodle shows the price per submission before anything is sent. A free test key lets you try it without being charged.

Can it grade handwritten answers?

Yes. Students upload photos of their pages (JPG, PNG, HEIC or WebP) or one scanned PDF of up to 20 pages. Proctor AI reads the handwriting, marks each question and shows what it read so you can check it.

Do students see the AI marks straight away?

No. The AI result is a draft. With marking workflow the grade stays hidden until you release it. Without it, students see nothing until you save the grade or apply the marks.

Which Moodle versions does it work with?

Moodle 4.5, 5.0, 5.1, 5.2 and 5.3, with PostgreSQL or MySQL/MariaDB. Moodle cron must be running.

What if the AI gets a mark wrong?

Change it. Every question's mark can be edited in the grader, and the total updates as you type. Answers the AI is unsure about are highlighted so you know where to look first.

Does it work with rubrics or marking guides?

The AI result is shown as a percentage for those assignments, as a guide while you fill in the rubric yourself. Automatic grade filling works with point grades.

What student data is sent?

Only the submitted pages, typed answers, the assignment name and the marking key. Student names, emails and ID numbers are never sent, and nothing is sent until your Moodle administrator gives consent.

Is it on the Moodle Marketplace?

Not yet. Download it from this page and install it from the ZIP file in Moodle under Site administration, Plugins, Install plugins.

Get started free with the Proctor AI grading agent