Industry Playbooks

How to automate freight quotes with AI

The short answer

To automate freight quotes with AI, parse inbound RFQ emails into a structured shipment (origin, destination, dates, equipment, weight, freight class and accessorials), ask the shipper for anything missing, pull lane history and market rate data, and calculate the price with your margin rules in code. An AI agent drafts the reply and a broker approves the number, cutting quote turnaround from hours to minutes.

What this automation does

Spot quote requests arrive as messy emails: “Need a rate Dallas to Atlanta, 22 pallets, Thursday pickup.” Whoever replies first with a credible number usually wins the load. This workflow gets the number in front of a broker in a couple of minutes.

  1. Catch the request. The agent watches the quotes inbox and identifies which emails are RFQs, which are replies to earlier quotes, and which are something else (tracking questions, invoices, carrier offers).
  2. Structure the shipment. A language model extracts origin and destination (city, state and ZIP), pickup and delivery dates, mode (FTL, LTL or partial), equipment (dry van, reefer, flatbed, step deck), weight, pallet or piece count, dimensions, freight class, commodity, hazmat flag, temperature requirements and accessorials.
  3. Fill gaps. If a required field is missing, the agent drafts a short reply asking for exactly that, and parks the quote until the shipper answers.
  4. Price in code. Deterministic logic pulls your recent loads on that lane and equipment, any market rate data you subscribe to, fuel surcharge, and accessorial charges, then applies margin rules by customer tier and lane.
  5. Draft and approve. The broker sees the structured request, the rate breakdown and a drafted reply. They approve, adjust the number or decline.
  6. Send and log. The quote goes out with an expiry time, and the request, rate and outcome are logged to the CRM so win rates by lane are measurable.

When it is worth building

This makes sense when brokers spend a large share of their day keying requests into a rating screen and copying numbers back into email. If your team answers more than 50 spot requests a day, or if you lose loads because quotes go out an hour late, the speed alone pays for the build.

It is not worth building for a book that is mostly contract freight on fixed rates, or for a desk that quotes a handful of very specialized loads a week (heavy haul, project cargo) where every quote needs a phone call anyway. Also check your TMS first. Several TMS and rating platforms now include email parsing or quoting features, and if yours covers your request formats, use it.

Architecture

LayerWhat we useWhy
InboxOutlook or Gmail shared mailboxWhere shippers already send requests
Agent runtimen8n for the pipeline, or a small code service for complex tool useHandles classification, follow-up questions and handoff to pricing
Extraction and draftingClaude or OpenAI’s GPT models through the APIReads free-text requests, tables and attached spreadsheets, and drafts replies in your tone
Lane historyTMS export or API, cached in a database or Google Sheets for small desksYour own margins on your own lanes are the best predictor
Market dataRate data subscriptions and carrier rating APIs, where access is approvedContext for lanes you have not run recently
Pricing rulesCode, versioned and reviewed by sales leadershipMargins and floors must never be left to a language model
RecordHubSpot or SalesforceQuote history, win/loss and customer tier

How to build it

  1. Collect 200 real requests. Pull a few weeks of RFQ emails covering your main customers and modes. They define the extraction schema and become the test set.
  2. Define the shipment schema. Required versus optional fields per mode. For LTL, freight class or enough data to estimate density (dimensions and weight) is required. For reefer, temperature range is required.
  3. Build classification and extraction. Use structured output so every request becomes the same JSON shape. Normalize locations to ZIP codes and dates to ISO format in code after extraction.
  4. Write the pricing service. Lane lookup by origin and destination region plus equipment, recency weighting, fuel surcharge, accessorial table, margin by customer tier, and a floor. Return the breakdown, not just a number.
  5. Add the approval step. A Slack message, Teams card or simple web view showing request, breakdown and draft reply. Approve sends it; edit opens the draft.
  6. Handle replies. When the shipper books, the agent should recognize the acceptance and create the load or a task in your TMS or CRM, not just log a win.
  7. Run alongside the desk for two weeks. Compare the system’s price with the broker’s on every request before letting it draft live.

What breaks in production

  • Multi-lane requests. One email with a spreadsheet of 40 lanes is a bid, not a spot quote. Detect it and route it to the RFP process instead of quoting line by line.
  • Ambiguous locations. “Springfield” is not a location. Require a state or ZIP, and confirm when the model guessed.
  • Stale lane data. A lane you last ran three months ago may be badly off after a seasonal shift. Show the age of the data next to the rate.
  • Accessorials hidden in the text. “Delivery to a strip mall, no dock” means liftgate and possibly limited access. Make the model list inferred accessorials so the broker can confirm.
  • Quote expiry. Spot rates move. Every quote needs a validity window, and the agent should re-price, not re-send, if the shipper replies after it expires.
  • Thread confusion. Shippers reply to old threads with new loads. Treat each request as new unless it clearly references an open quote.

Timeline and cost

A single-desk deployment with one inbox, one TMS data source and one CRM typically takes four to eight weeks. Lumeor builds this in the range of $18,000 to $45,000, depending on how many modes you quote, whether market data and carrier rating APIs are in scope, and how open your TMS is. The cost of a custom AI agent page explains where that money goes, and our custom AI agent vs off-the-shelf comparison helps if your TMS vendor already offers a quoting feature. Once loads are booked, the paperwork side is covered in automating bill of lading processing.

How to measure success

  • Median minutes from request received to quote sent
  • Quote-to-book win rate by lane and customer, before and after
  • Margin per load on automated quotes versus manually priced quotes
  • Share of requests that needed a follow-up question, and how fast it went out
  • Broker hours per day spent on quoting

Frequently asked questions

Should the AI set freight prices on its own?

Not at first, and for many brokers not ever on large or unusual loads. The model reads and structures requests and drafts replies. The rate comes from your lane history, market data and margin rules computed in code, and a broker approves it. Auto-sending can be turned on later for narrow, well-understood lanes.

Which rate sources can this connect to?

Your own TMS load history is the most valuable source. Market rate tools and LTL carrier rating APIs usually need a subscription plus API access approved by the vendor, sometimes on a higher plan. We confirm access during scoping because it drives the timeline.

Does this work for LTL as well as truckload?

Yes, but the inputs differ. LTL quotes depend on freight class, dimensions, handling units and accessorials like liftgate or residential delivery, and rates usually come from carrier tariffs or rating APIs. Truckload spot quotes lean on lane history and market data for the equipment type.

What if the request is missing information?

The agent replies within minutes asking only for the missing pieces, for example pickup date and whether the freight is stackable. That alone speeds things up, since the back-and-forth is often what makes manual quoting slow.

Which TMS systems does it integrate with?

It depends on the TMS. Some offer documented APIs, others require a partner agreement or customer-specific credentials, and some only support exports or EDI. When there is no API, we read lane history from a scheduled export and write quotes back to your CRM instead.

Next steps