Skip to content
LLM pipeline · 12 email formats · Structured data

Every carrier quote, read and structured — before the coordinator's eyes touch it.

Keelway runs a Sonnet 4.6 extraction pipeline on every inbound carrier email. Rate, equipment, lane, ETA, and detention terms come out as structured rows in the load_inquiries table — ready for ranking, ready for TMS write-back, ready for the coordinator to act on in one keystroke. No copy-paste. No manual data entry. Works on all 12 carrier email formats including PDF attachments.

12
carrier email formats Keelway extracts from
Keelway field taxonomy, 2026
2–4%
of extractions routed to coordinator review
Keelway extraction accuracy data, Q1 2026
< 4s
median time from email receipt to structured row
Keelway infrastructure, 2026
Pass 1

Sonnet 4.6 — primary extraction

Every inbound carrier email is sent to a Sonnet 4.6 extraction prompt the moment it lands in the inbox. The model has been fine-tuned on thousands of labeled carrier emails across dry van, reefer, flatbed, step-deck, drayage, and partial-load formats. It returns a structured JSON object: rate, equipment, origin, destination, availability date, transit estimate, detention terms, and fuel surcharge notes. Extraction confidence is scored on each field.
Pass 2

Opus 4.7 — fallback for ambiguous formats

When Sonnet 4.6 returns low confidence on any field — most commonly on multi-load rate tables, deeply nested reply threads, or non-standard PDF attachments — the job escalates to an Opus 4.7 fallback pass. Opus is slower and more expensive; Keelway only routes to it when the primary pass genuinely needs the heavier model. The fallback pass typically handles 8–12% of inbound volume on a fresh brokerage, dropping to under 5% after 30 days of calibration.
OCR

PDF and image attachment extraction

Rate-con PDFs, scanned rate sheets, and formal quote documents are parsed through a document-extraction layer before the LLM pass. Keelway handles standard PDFs, image-based PDFs with OCR, and common TMS rate-con templates from McLeod, Aljex, and Revenova. The extracted text feeds the same Sonnet / Opus pipeline as plain-text emails.
Schema

Structured load_inquiries rows

Every successful extraction writes to the load_inquiries table: offered_rate, equipment_type, origin, destination, available_date, transit_days, detention_rate, layover_assumption, and carrier_contact. Optional fields — team_driver, hazmat_cert, reefer_temp_range — are extracted when present. Every row has a confidence field and a raw_email_id foreign key for auditability.
Calibration

Per-brokerage model tuning

When a coordinator corrects an extraction — changing a misread rate, fixing an equipment type, flagging a detention assumption that was missed — that correction feeds the brokerage-specific calibration layer. Keelway does not retrain a global model; it builds per-brokerage extraction preferences that improve accuracy on the exact carrier email styles your book produces, so the correction rate falls over the first weeks on the system.
Analytics

Lane rate distribution from extracted data

Every extracted rate is indexed to its origin-destination- equipment corridor. Keelway builds a trailing distribution of carrier quotes on each lane — updated on every new extraction. When a new quote arrives, it is expressed as a percentile against the distribution so the coordinator knows immediately whether the carrier is at market, below, or holding out. This is the same data layer that powers rate percentile on the ranked list.

Frequently asked questions

What is carrier rate extraction?+
Carrier rate extraction is the automated process of reading an inbound carrier email and pulling structured data — offered rate, equipment type, lane (origin and destination), estimated pickup and delivery, and any detention or layover assumptions — into a database row without a coordinator reading or retyping the email. Keelway does this on every reply to every posted load using a multi-step LLM pipeline.
Which carrier email formats does Keelway support?+
Keelway's parser handles all 12 carrier email formats we've documented in the field: the dispatcher rate email, the owner-op text-to-email forward, the TMS-generated PDF attachment quote, the copy-paste load board reply, the rate-confirmation-as-inquiry, the template form submission, the negotiation counter embedded in a reply thread, the multi-load rate table, the broken English abbreviated rate (common in owner-op), the auto-reply with rate in the subject line, the load board API notification parsed as email, and the plain-text SMS-to-email. See our post on why carrier quote emails arrive in twelve formats for the full taxonomy.
What happens when the LLM is not confident in the extracted rate?+
Keelway runs a two-model pipeline. The primary extraction model (Sonnet 4.6) attempts the parse. When confidence falls below a tunable threshold — typically on ambiguous formats like multi-load rate tables or deeply embedded reply threads — the extraction job escalates to an Opus 4.7 fallback pass. If both models return low-confidence extractions, the email is flagged for a coordinator review with the best-guess extraction pre-populated. Coordinators correct roughly 2–4% of extractions; each correction trains the brokerage-specific calibration.
Does extraction work on PDF attachments?+
Yes. Rate confirmation PDFs, scanned rate sheets, and formal quote documents sent as attachments are extracted using a document-parsing layer before the LLM pass. Keelway handles standard PDF, image-based PDFs (with OCR), and common trucking TMS rate-con templates from McLeod, Aljex, and Revenova.
What structured fields does Keelway extract?+
The standard extraction schema includes: offered_rate (dollar amount, and whether all-in, linehaul only, or a range), equipment_type, origin_city, origin_state, destination_city, destination_state, available_date, estimated_transit_days, detention_rate (if quoted), layover_assumption, fuel_surcharge_note, and carrier_contact_name. Optional fields extracted when present: team_driver flag, HAZMAT certification mention, reefer temperature range, and partial-load percentage.
How does Keelway handle rate ranges vs. flat quotes?+
Both are stored. When a carrier quotes a range (e.g., $2,200–$2,400 depending on fuel), Keelway stores the floor, ceiling, and midpoint and uses the midpoint for ranking unless your brokerage preferences are set to use floor or ceiling. Range quotes are displayed with a range badge in the ranked list so coordinators know to expect negotiation.
Does extracted data write back to the TMS?+
Yes. Once a coordinator accepts a carrier from the ranked list, Keelway writes the accepted carrier, rate, and lane confirmation back to your TMS — Tai, McLeod, Aljex, Revenova, Turvo, or Rose Rocket. No double entry. The raw extraction record persists in Keelway's load_inquiries table regardless, so you have a full audit log of every carrier who replied and what they quoted.
Can I query historical rate extractions for lane pricing?+
Yes. Keelway's lane history view aggregates extracted rates by origin-destination-equipment corridor, showing you the distribution of carrier quotes over any trailing period. This is the data layer that powers Keelway's rate percentile feature — every new inbound quote is positioned against the trailing distribution on that corridor, so coordinators know whether a $2,300 quote on a Chicago–Atlanta 53' dry van lane is at market, below, or above.
What if a carrier sends an email with no rate at all?+
Carriers who reply without quoting a rate — 'Interested, what's the pay?' type emails — are parsed as availability signals, not rate quotes. They appear in a separate availability queue, not the ranked list. Keelway drafts a templated 'What's your best rate on this lane?' reply that the coordinator can send in one click.
Every email parsed · No retyping · Structured data

Stop reading carrier emails. Let Keelway extract the data.

Related