Example engagement · Freight brokerage · Complex workflow

Quote requests from inbox to booked load in nine minutes

Software reads every emailed quote request, checks the history for that route, and drafts a quote for a dispatcher to approve.

14 hrs saved per dispatcher, per week
9 min median time to quote, from 4 hours
31% more quotes sent per day

The situation

Lumen Logistics brokers truckload freight across the Midwest and Southeast. Eighteen dispatchers handle the quoting desk, and almost every request arrives by email: a shipper forwards a thread, attaches a rate confirmation from last quarter, or pastes a table of routes into the body. Some requests are two lines long. Some are a 40-page PDF with the actual ask on page 31.

The work to turn one of those emails into a quote was the same every time. Read it. Pull out the route, the equipment, the pickup window, and any add-on charges (accessorials). Look up what Lumen had paid carriers on similar routes recently. Apply a margin, type the quote into McLeod, and reply. Each cycle took 15 to 20 minutes of focused attention. The median time from email to quote was four hours, because requests sat in the queue behind phone calls and loads that were already moving.

Four hours matters in brokerage. A shipper who sends a request to five brokers often books with whoever answers first at a fair price. The ops team estimated they were losing a meaningful share of quotable freight to slower replies, and they had been "about to automate" the desk for two years.

What we built

A single n8n workflow that watches a Gmail label, pulls every quotable request into structured fields, checks route history, and files a draft quote for a dispatcher to approve. Nothing goes to a shipper until a person clicks approve.

Quote workflow: Gmail request, Claude extraction, Postgres lane lookup, McLeod draft quote, dispatcher approval Quote requestGmail · labeled thread Extract fieldsClaude · with confidence Lane lookupPostgres · 180 days Draft quoteMcLeod · pending status Dispatcherapprove · edit · reject low-confidence field: flagged, never guessed Trigger: new email in the quoting inbox
The draft carries the extracted fields, the three closest routes from history, and the suggested rate. The dispatcher sees all of it on one screen.

The extraction step is where the AI model earns its place. Claude reads the email and any attachments and returns origin, destination, pickup and delivery windows, equipment, weight, commodity, and accessorials in a fixed format, with a confidence score per field. Anything below the threshold is marked in the draft so the dispatcher's eye goes straight to it. A missing pickup date is shown as missing, never filled in.

Route history lives in a nightly Postgres copy of McLeod. The workflow pulls the last 180 days of loads within 50 miles of each end of the route, computes a median carrier cost, and applies the margin rules the ops team already used on paper. The result is written to McLeod as a pending quote and to Gmail as a draft reply on the original thread. Dispatchers work from a queue view sorted by time received. Approve sends the reply and moves the quote to active. Edit opens the draft. Reject records a reason, which we review weekly.

The rollout

Week one. A half-day on site watching three dispatchers quote. We exported 300 past request emails with their final quotes. This evaluation set let us test extraction before writing any workflow logic. Field accuracy on that set was 96.5% at launch, and the errors clustered in two places: pickup windows written as "next Tues" and weights hidden inside attachments. Both got their own fixes.

Week two. We ran shadow mode with three dispatchers. The workflow produced drafts while the dispatchers quoted by hand as usual, and we compared the two every afternoon. The rate suggestion sat within 4% of the human quote on 88% of routes. The rest were routes with no recent history, where the draft now says so instead of guessing.

Week three. All 18 dispatchers, live. We tuned the confidence threshold twice, added a rule for multi-stop requests, and recorded the walkthrough. Dana's team stopped retyping emails on the first day.

Results

MeasureBeforeAfter 60 days
Median time from email to quote4 hrs9 min
Quotes sent per dispatcher, per day2229 (+31%)
Hours saved per dispatcher, per week014
Requests needing manual re-entry100%4%
Extraction field accuracyn/a97.2%

The hours came from two places: the 15 minutes of reading and re-typing per request, and the queue time that disappeared once drafts were waiting before anyone opened the inbox. The extra quotes per day are the same dispatchers with the same hours, answering requests they used to reach too late.

What's next

Lumen kept us on a small retainer. The next two pieces are already scoped: automatic follow-up on quotes with no reply after 24 hours, and the same extraction applied to carrier rate requests coming the other direction. Both reuse the data format, the route lookup, and the approval queue that are already running.

Tell us what your team still does by hand.

One paragraph is enough. We reply within a business day with questions or a time for a 45-minute call.

esc
PagesHomeAutomation and AI agents for growing companiesPagesServicesAutomations, workflows, and agentsServicesAutomationsRule-based handoffs that remove copy-paste work between tools.ServicesComplex workflowsProcesses that span several tools, with approvals, exceptions, and clean data.ServicesAI agentsAgents that read, decide, and act across your tools. People stay in the loop.PagesSolutions by industryLogistics, healthcare, professional services, e-commerce, SaaSPagesWorkCase studies with the numbersCase studiesLumen LogisticsQuote requests from inbox to booked load in nine minutesCase studiesHalcyonA first-line support agent that resolves 61% of tickets on its ownCase studiesMeridian Dental GroupRecall reminders that cut no-shows by a third in 90 daysPagesPricingFixed prices and the instant estimatorPagesSample scopeThe one-page scope every client receivesPagesSample evaluation reportWhat ships with every agent buildPagesExample dashboardThe reporting every client getsPagesAboutA small senior teamPagesInsightsField notes from the buildInsightsWhen not to use an AI agentMost automation value comes from rule-based work. A guide to choosing rules, workflows, or agents for each process.InsightsDesigning approval gates that people useHuman review fails when people are asked too often or too late. Here are the patterns we ship, with the numbers behind them.InsightsThe true monthly cost of an automationAI model usage, tool seats, hosting, and the upkeep nobody budgets for. A worked example from a real quote pipeline.PagesContactBook a discovery call
↑↓ navigate↵ open⌘K or / to open anywhere