The contract hangs on a sample. The approval hangs on an inbox
In agri-food and soft commodities - coffee, cocoa, grain, sugar, cotton - a lot is bought and sold on the strength of a sample somebody has to approve. Pre-shipment sample, arrival sample, subject to approval: the clause sits in the contract, the workflow for honouring it usually doesn't. The sample travels, the verdict forms in a sample room or on a quay, and the record of it scatters across couriers, inboxes and paper sheets.
Six months later that decision has to be defended - to a counterparty, an auditor, or a GAFTA or FOSFA arbitration panel. Which sample, against which contract specification, judged by whom, on what evidence. That's the part that's usually missing.
The approval decision, run on the phone already in hand
Sample Trail runs the quality approval from dispatch to verdict. A sample leaves with a QR code that opens a prefilled form. The receiver photographs its condition on arrival and the clock starts. The evaluator sends a voice note or a photograph of the paper sheet - a cupping form, a cocoa cut test, a grading note - and it comes back as structured fields. A quality manager approves, rejects or calls for a re-sample, and the decision is written back with a name, a timestamp and a reason.
A model does exactly two jobs: turning the voice note or photographed sheet into named fields, and drafting the covering text of a rejection. It never issues the verdict. That comes from a deterministic comparison against the contract specification, because someone defends it later.
The lifecycle is published as an n8n template: Route commodity sample quality approvals. Import it, point it at your own sheet and Telegram, and the sample leaves with a QR code the same afternoon.
Dispatch, arrival, evaluation, verdict
Intake on an n8n form trigger, the conversation on Telegram, state one row per sample in a sheet. Moving state to Postgres is a one-node change.
Built for sample rooms and quays, not laboratories
Samples are handled by graders, cuppers and warehouse staff at origin, on quays and in sample rooms, where the device to hand is a phone. The QR opens the camera it already has - no app to install, no barcode estate, no scanner.
Not a LIMS, not a traceability system, not a module inside your CTRM - it sits beside one. It doesn't track where a sample physically is. It keeps what arbitration asks for: which sample, which spec, judged by whom, on what evidence.
The model transcribes evaluations and drafts covering text - that's all. Approve or reject comes from a fixed comparison against the contract specification, so the same evidence against the same spec always reads the same way.
Form trigger and Telegram were chosen because they need no vendor approval and no paid account. Whoever imports the workflow has it running against their own sheet the same day. MIT licensed.