Solution blueprintSpark

Managing 20k quote requests / year with Claude

How we designed an AI quoting pipeline for a freight forwarder, where a queue-based confidence score decides when a human is brought in the loop.

20kquote requests / year
4sales reps handling them
500+hours claimed back / year
The situation

A freight forwarder takes almost all of its quote requests by email.

Plain text, Excel attachments, scanned PDFs, photographs of shipping paperwork — no two arrive the same way.

For each one, a salesperson reads the message, pulls out origin, destination, cargo type, weight and dimensions, finds the applicable rate in a spreadsheet, and keys it into the ERP.

Four people handle twenty thousand of these a year. Growth means more headcount, and adding people in proportion to linear volume is the thing the business wants to stop doing.

Two things had to be solved before any of it could be automated:

Architecture diagram — Managing 20k quote requests / year with Claude
What the design does

Step 1: Accuracy that can be proven

Reading an email is the easy part. The hard part is that a quote is a promise.

A wrong rate is a reputational cost, not a rounding error, and a system that is right most of the time is worse than no system at all — because nobody can tell which quotes to check.

So we inverted the question. The model doesn't decide the quote. It decides how sure it is, and that confidence routes the request.

Fully validated requests — known customer, complete data, list rate — go straight through to the ERP for bulk approval. Requests missing a field get a drafted follow-up to the client, ready to send in one click. High-value shipments are held for a human, but arrive with every field already extracted and the rate already looked up. Anything unparseable lands in a discard queue for triage.

Nothing is auto-sent that the team hasn't defined as safe to auto-send. The thresholds are theirs.

Step 2: Commercial data that stays put

Rate sheets and the customer registry are the business. They don't get uploaded anywhere to be read.

MCP servers run on the client's own infrastructure. The model queries the ERP registry and the rate spreadsheets during extraction, so a quote is validated against real data before it exists — but it never receives a copy of either, and never holds a credential.

Outlook is polled through the Microsoft Graph API. Claude handles extraction across all four input formats in a single multimodal pass, returning structured output. Cloudflare Workers orchestrate; D1 and KV hold state, threads and a correction memory that feeds every manual fix back into future extractions.

What made it hard

Four input formats, one pipeline

Text, spreadsheets, scanned PDFs and photographs of paperwork all arrive in the same inbox.

Rate data that cannot leave the building

The spreadsheets are the business. They are queried in place and never uploaded.

Accuracy that has to be provable

Right most of the time is worse than nothing if nobody can tell which ones to check.

20k requests a year, sorted before anyone opens the inbox.

The idea behind it — Managing 20k quote requests / year with Claude
The benefits gained

Volume stops being a headcount question. Twenty thousand requests a year move through the same four people, and the next ten thousand don't need a fifth.

The team's attention goes where judgment is actually required — high-value shipments arrive pre-extracted and pre-priced instead of competing for attention with routine road quotes.

Response time on a straightforward quote collapses from a queue of unread email to a bulk approval.

Every correction the team makes improves the next extraction, so the share of requests needing a human falls over time rather than staying flat.

And the commercial data never leaves the building — no rate sheet is uploaded anywhere, and the thresholds that decide what goes out automatically belong to the team, not to the model.

More of the same shape

Data problems shaped like this one?

If some of this reads like your situation, say which part. Datsugi replies within 2 business hours, guaranteed (CET).

Arrigo Lupori

Arrigo Lupori

Founder & Managing Director

Get your free systems design session

Required
Required