We built an AI agent that handles rate confirmations, driver check calls, and factoring packages for an asset-based carrier with 40 trucks in Indiana and Texas. Invoice time dropped from 3–5 days after delivery to 1 day in the fourth week of the pilot, and dispatchers recovered 22 hours a week. Every outbound action still passes human approval before it leaves the system.
A Fixed-Price Pilot for an Owner Who Did Not Want a Fourth Dispatcher
The owner started as a driver. Twenty-plus years later he runs 40 trucks, three dispatchers, and one bookkeeper, and he still knows most of his drivers by name. He came to us with a short request: "My guys are drowning in paperwork. I can't afford another dispatcher. Can AI take some of this off them?"
The timing mattered. After two years of freight recession, carriers with empty miles and slow-paying brokers were the ones struggling. Freight margins are thin, so an hour of dispatcher time or a week of delayed cash shows up directly in profit.
We did not start with the AI. We spent a full day in the dispatch office. The day looked like this: 14 rate confirmations arrived overnight as PDFs, each retyped into the TMS by hand at 5–7 minutes per document. Brokers called asking where trucks were, and dispatchers switched between Motive and DAT to answer and to find backhauls. Drivers sent proof-of-delivery photos through WhatsApp, and some were unreadable, so the dispatcher asked for a retake. Factoring packages slipped to the next day.
The money was leaking in three places:
- Dispatcher time. About half the day went to paperwork and status calls instead of finding better loads.
- Slow invoicing. Packages reached factoring 3–5 days after delivery. Brokers already pay slowly, so every extra day in the office delays cash further.
- Untracked accessorials. Detention and other fees were billed only when the driver remembered to flag them. Nobody knew the total amount being lost.
The trucks were running fine. The money was getting stuck between the dock and the mailbox.
Yuri MusienkoBusiness developer, MereheadOne Process, Not Ten
The owner's wish list included load search, driver recruiting, IFTA tracking, and compliance deadlines. We declined. An AI project that tries to do everything usually does nothing well enough to be trusted.
We scoped one process with a clear start and end: from a broker confirming a rate to the invoice package reaching the factor. It touches every dispatcher every day, it is mostly document handling and lookup work, and its results can be measured in days and dollars.
We also agreed on what the agent would not do. Rate negotiation, load sourcing, and problem loads stay with people. Nothing is created, sent, or invoiced without a dispatcher pressing "approve."
The agent is an LLM with tool-calling, not a chatbot on a website. It reads the same inboxes and dashboards the dispatchers already use, and every action it takes is logged.
Yuri MusienkoBusiness developer, MereheadWhat We Built
The agent sits between the carrier's existing tools. It reads broker emails and PDF confirmations, pulls POD photos from WhatsApp, checks ELD positions from Motive, and writes to the TMS and to the factoring workflow.

Dispatchers do not learn a new screen. In practice, it does four things:
- Reads rate confirmations. It extracts load details from the PDF attached to an email and creates the load in the TMS. The dispatcher reviews the record instead of typing it.
- Answers check calls. When a broker asks where a truck is, the agent retrieves the current position from Motive and replies in the same thread for the dispatcher to approve.
- Builds factoring packages. As soon as a readable POD arrives, the system assembles the invoice, rate confirmation, and POD and sends the package the same day. If a photo is unreadable, the driver is asked for a retake immediately, not at 5:30 p.m.
- Tracks accessorials. It compares the rate confirmation with the invoice, checks ELD dwell time at the dock against each broker's detention terms, and adds detention and one-off charges to the invoice.
Under the hood: an LLM agent with tool-calling, OCR for scanned PDFs and phone photos, Gmail and WhatsApp Business APIs, the Motive API, and a TMS integration through API or scheduled import. Access is role-based. Every agent action is logged, and all data stays in accounts the operator controls.
Four Weeks, Start to Finish
Week 1: measure the baseline. Before writing any code, we exported a month of load data and measured tariff confirmation time, days from delivery to invoice, and accessorial charges that never reached an invoice. Without this baseline, any "after" number would be a guess.
Week 2: build the agent. Rate confirmation and POD extraction, rate matching, broker reply templates based on ELD positions, and TMS integration. Most of the effort went into the hardest inputs: scanned PDFs, broker-specific formats, and photos taken in dim cabs.

Week 3: run side by side. Dispatchers reviewed every agent output. Each correction fed back into the configuration: extraction fixes, field mapping, and reply wording. By the end of the week they were mostly reviewing rather than correcting.
Week 4: measure again. The same metrics as week 1, reported to the owner in hours and dollars. The agreement was simple: if the numbers did not move, we would stop there.
Results
| Metric | Before | Target | Week 4 actual | How it is measured |
|---|---|---|---|---|
| Time to confirm a rate | 5–7 min | <1 min review | 0.5 min | TMS logs |
| Days from delivery to invoice | 3–5 | 0–1 | 1 | POD date vs. factoring submission date |
| Check calls handled per dispatcher per day | 20–30 | Mostly automated | Automated for status requests | Call and email logs |
| Accessorials billed | Not tracked | Every eligible invoice | Every eligible invoice | ELD dwell time vs. invoices |
| Dispatcher hours freed per week | — | 15–20 h | 22 h | Time tracking |
In dollars, the freed hours matter, but the larger effect is cash. An invoice that leaves on delivery day reaches the factor immediately, and detention charges that used to disappear now reach the invoice. Outsourced dispatch services typically charge 5–10% of revenue, so the carrier can add trucks without adding desk staff.
Estimated time value: a dispatcher earns about $54,000 a year. Recovering 15–20 hours a week across the team is worth roughly $20,000–$27,000 a year at that rate (Merehead estimate).
What We Took From This Project
- Start in the office, not in the model. One day with the dispatchers told us more than any requirements document.
- One process with a measurable result beats a platform with ten half-working features.
- Keep people in the loop. Brokers trust their dispatcher. The agent gives that dispatcher time back.
- Measure first. A week-1 baseline turns "AI helped" into a number the owner can take to the bank.
Next on the list is driver recruiting: the agent would screen candidates in English and Spanish and collect their documents, then track medical card, insurance, and IFTA deadlines. The approach stays the same each time: one process, a baseline in week 1, and a decision based on numbers in week 4.
Generative AI can reduce document preparation work in freight logistics by up to 60% and coordinator workload by 10–20% (Merehead estimate). With more than 56,000 carriers regulated by FMCSA that operate 11–100 trucks, this workload is common across the sector.
Frequently Asked Questions
This project ran as a fixed-price, four-week pilot: one week to measure the baseline, two weeks to build, and one week of side-by-side review. Measurement at the start and end is part of the scope.
No. Every outbound message, load creation, and invoice goes through dispatcher approval before it leaves the system. The agent prepares the work and the dispatcher releases it.
In this project it worked with Gmail, WhatsApp Business, Motive for ELD data, the carrier's TMS, QuickBooks, and the factoring company's submission workflow. Access is role-based, and all actions are logged.
Yes, provided the TMS offers an API or a scheduled import. The integration method is decided during the baseline week, based on what the carrier's system supports.


