1. Sixty identical worksheets, marked in one pass — you approve every mark
You set the same worksheet to a batch of sixty. Now sixty photographed or scanned sheets sit in a WhatsApp thread, and you're marking the same five questions sixty times over, by hand, at 10pm — while the actually useful information (which question the whole batch got wrong) never gets extracted because you're too deep in the marking to see the pattern.
Trigger: WhatsApp / Email / Webhook (submissions come in)
How the workflow runs
- Trigger
Submissions arrive. A WhatsApp, Email or Webhook trigger collects the scans/photos. An LMS submission feed has no first-party connector — it comes in as a Webhook or is pulled via a Tool (MCP) node.
- Knowledge
Load YOUR marking scheme. A Knowledge node holds the answer key and mark breakdown you wrote. Every mark traces back to your scheme — the agent has no independent opinion about what the right answer is.
- Loop
One pass per student. A Loop node runs a cheap marking agent once per submission — transcribe the working, compare against your scheme, award provisional marks per question with the reason.
- Condition
Unclear or borderline?. A Condition node pulls out the ones that need your eye: unreadable handwriting, an unconventional-but-possibly-valid method, an answer that's right by a route your scheme doesn't cover. These go to the top of your review queue rather than being force-fitted to the key.
- Approval
You approve the marks. An Approval node holds the entire mark sheet. Nothing is published, recorded or shown to a student or parent until you've reviewed and signed off — you own the assessment, always.
- Agent
The pattern you couldn't see. After approval, a second agent summarises the batch: which question the batch failed, the common wrong method, and the three students who need a different explanation rather than more practice.
Channels & connectors
- Webhook
- Knowledge base
- Approval / HITL
- Tool (MCP → LMS / school ERP)
Outcome
A batch of sixty comes back as a provisional mark sheet with per-question reasons, a short queue of genuinely ambiguous scripts flagged for you, and a batch-level diagnosis of what to re-teach — all held behind your approval.
Why it helps
The mechanism is a per-student loop against your own marking scheme plus a reduce step. Marking the same five questions sixty times is mechanical comparison, which is what a loop is for; spotting that forty of them failed question 3 the same way is aggregation, which nobody can do while marking sequentially by hand. Your judgement stays in the loop exactly where it matters — the ambiguous scripts and the final sign-off.
Build spec
2 agents — 1 marking agent (runs once per submission via the Loop node) + 1 batch-analysis agent (runs once, after approval). The ambiguity gate and the mark approval are workflow nodes. · Pattern: Loop (mark per student) → Condition (ambiguity gate) → teacher Approval → reduce (batch diagnosis)
System prompt (paste-ready)
You are a marking assistant for ONE teacher. Mark ONE submission strictly against the marking scheme in Knowledge — that scheme is the only authority on what is correct. Return {student_ref, per_question:[{q, awarded, max, reason, evidence_quote}], total, flags[]}. Award marks only where the scheme supports it. If the handwriting is unreadable, if the method is valid but not covered by the scheme, or if the answer is right by an unlisted route, do NOT force a mark — set flags and route it to the teacher. Every mark you produce is PROVISIONAL until the teacher approves. Never message a student or parent.Agent roles & model tiers
Marker (per submission) — Economy tier — it runs once per student in the batch, so with sixty submissions this single choice is the whole cost of the recipe
Compare one script against the teacher's scheme. Per-question marks with a reason and a quoted piece of the student's own working as evidence. Flag rather than guess on unreadable or unconventional work.
Batch analyst (once) — Standard tier — needs to spot the pattern across the whole batch
From the approved mark sheet, report: the questions the batch failed, the specific common wrong method, and the students whose errors differ from the batch pattern and need individual attention. Use only the marked data — no speculation about ability or effort.
MCP connectors
- School LMS / ERP / gradebook — via a Tool (MCP) node for the mark write-back, or inbound via Webhook for submissions; no first-party connector exists for these
- WhatsApp / Email — submission collection
Built-in tools
- knowledge_search (YOUR answer key and mark breakdown)
- document extraction / OCR (photographed and scanned scripts)
- user-defined tool `mark_flag` (SpEL): input.ocrConfidence < 0.7 || input.methodMatched == false ? 'TEACHER_REVIEW' : 'AUTO_PROVISIONAL' — you set the exact bar at which a script must reach your eyes, and change it mid-term without a developer or a redeploy
Guardrails
- The teacher owns the assessment: every mark is PROVISIONAL until the Approval node. Nothing is published to a student, a parent or a gradebook without the teacher's sign-off
- Marks are awarded only from the teacher's own marking scheme in Knowledge — the agent has no independent view of the correct answer
- Ambiguity is escalated, never resolved by guessing: unreadable handwriting, valid-but-unlisted methods and right-by-another-route answers all route to the teacher
- Every awarded mark carries a reason and a quote from the student's own working, so a challenged mark can be audited
- The agent never messages a student or a parent directly — all outbound communication is a separate, approved step
Cost strategy
The marker runs N times — once per student — so for a batch of sixty it must be on the economy tier; that is the difference between a workflow a tutor can run on every worksheet and one they run twice and abandon. The single batch-analysis call is the one place the standard tier earns its keep. Run the marking Loop in Parallel batches for wall-clock speed: same per-script cost, whole batch back in minutes. No premium tier is needed anywhere in this recipe.
Output & delivery
A Loop node marks every submission with an economy-tier agent against your scheme → the Condition node pulls ambiguous scripts into a short review queue → the full mark sheet waits at the Approval node for your sign-off → after approval a standard-tier agent reports which question the batch failed and which students need individual attention → optionally a Tool (MCP) node writes the approved marks to the school gradebook.