Freight desk
Keyword FREIGHT
Freight Automation for Small Brokers and Forwarders
- By
- Lozo
- Reading time
- 10 min read
- Updated
- Venture
- Logistics and freight
- For
- Owners and operators of small forwarding, brokerage and logistics teams that run on email and spreadsheets.
The 1-minute version
A small freight team can automate quote intake, carrier rate requests, status updates, exception alerts, proof of delivery and invoice checks without a new platform. Put the email and spreadsheet work in one place, let rules draft the next message, and keep a person on every price and every promise.
Read the full guide- Send every quote request to one address, with one row per quote.Details: Send every quote request to one address, with one row per quote.
- Let AI fill the row and draft the ask for whatever is missing. A person still sets the price.Details: Let AI fill the row and draft the ask for whatever is missing. A person still sets the price.
- Send carrier rate requests from the row, without retyping.Details: Send carrier rate requests from the row, without retyping.
- Send status updates and exception alerts from the same row.Details: Send status updates and exception alerts from the same row.
- Check every carrier invoice against the rate you agreed.Details: Check every carrier invoice against the rate you agreed.
On this page
The full guide
At the end you will have
- One list where every quote request lands, with the missing details flagged before anyone prices it.
- Rate requests and customer status updates drafted from that list, sent after a person checks them.
- Alerts for late pickups, missed connections and customs holds while there is still time to act.
- Proof of delivery and shipping documents filed under one naming rule, by shipment number.
- A morning brief that tells your team what needs a decision today.
Quotes arrive in email. Rate requests go out in email. Customers call to ask where their freight is, and the answer sits in a carrier portal, a driver's text, or the memory of whoever booked the load. By afternoon nobody is sure which quotes got answered, and the late pickup surfaces when the customer calls.
Most small forwarders, brokers and logistics operators do not need a new platform to fix this. They need the work they already do in email and spreadsheets to land in one place, plus a few rules that draft the next message before someone has to remember it. This is the order I'd do it in, with the prompts I use and the checks that keep a person in charge of every price and every promise.
Where the hours go in a small freight office
Look at a normal week and notice where the typing goes. In most small teams it is the same handful of jobs, each with a part a machine can draft and a part a person must decide.
| Job | How it runs today | What automation does | What a person still decides |
|---|---|---|---|
| Quote intake | Emails read and retyped into a sheet | Pulls the details into one row and flags what is missing | The price, and whether to take the freight |
| Rate requests | The same email rewritten for each carrier | Sends one request per carrier and logs the replies | Which carrier, at what margin |
| Status updates | Customer asks, someone checks, someone replies | Drafts the update when a milestone is confirmed | Anything that admits a delay or changes a promise |
| Exceptions | Found when the customer calls | Alerts the team when a window passes with no confirmed event | The recovery plan |
| Proof of delivery | Saved wherever it arrived | Renames and files it under the shipment number | Disputes and claims |
| Carrier invoices | Paid from memory | Compares the invoice to the rate confirmation line by line | Whether to pay, dispute or ask |
How to automate freight quote intake from email
Everything else here reads from one list, so start with it. A shared spreadsheet, a table in your TMS (transportation management system) or a CRM pipeline all work. What matters is that every quote request, from every inbox, becomes one row with one quote number.
Give quotes one address
Create one address such as
quotes@yourcompany.comand have personal inboxes forward quote requests to it. Customers keep emailing whoever they know; the request still lands in one place.Set the columns once
Quote number, customer, contact, origin, destination, ready date, deliver-by date, mode, pieces, weight, dimensions, commodity, hazardous yes or no, terms of sale, status, owner, and what is missing.
Let an AI model read each new email
An automation tool (Microsoft Power Automate, Make, or your TMS's own rules) sends each new message to an AI model such as Claude or ChatGPT with the prompt below and writes the answer into a new row.
Ask only for what is missing
When blanks block a price, the system drafts a short reply asking only for those details. A person reads it and sends it.
A person prices it
The row goes to whoever quotes that lane, with recent quotes on the same lane attached. The price is still theirs.
Put the quote number in every subject line
Every email about the shipment carries it, so replies, updates and invoices match the right row without guessing.
You read freight quote requests and turn each one into a single row of data.
From the email below, return these fields as JSON: customer, contact_name, contact_email, origin (city or postal code, and country), destination (same), ready_date, deliver_by, mode (air, ocean, LTL, FTL or unknown), pieces, total_weight, dimensions, commodity, hazardous (yes, no or unknown), terms_of_sale, special_requirements, missing.
Use only what the email says. Never guess a weight, a date or a mode. If a field is not in the email, leave it empty and add its name to missing. Keep units exactly as written.
Email:
[paste the email here]Tip
Open quotes are also where sales follow-up starts. If quotes go out and nobody hears back, see the follow-up system guide.
Send rate requests to carriers without retyping
Once a row is complete, the rate request is the same email with different names in it. Build it once from the row and send one message per carrier, each with the quote number in the subject, so every reply matches back to the row.
Keep a short carrier list per lane: who runs it, the contact, the last date they quoted it. The system picks from that list and a person approves the send. As replies arrive, the system reads rate, transit time and validity into the row, so the quoter sees every offer side by side instead of hunting through threads.
Subject: Rate request [quote number]: [origin] to [destination], ready [ready date]
Hi [carrier contact],
Can you quote this?
From [origin] to [destination]
Ready [ready date], deliver by [deliver-by date]
[mode], [pieces] pieces, [weight], [dimensions]
Commodity: [commodity]. Hazardous: [yes or no]
Notes: [special requirements]
Please reply with your all-in rate, transit time, expected accessorials and how long the rate is valid. Keep [quote number] in the subject.
Thanks,
[your name]Automatic shipment status updates for customers
Most “where is my freight” calls ask for something you already know. Pick the milestones your customers care about (booked, picked up, departed, arrived, out for delivery, delivered) and send a short update when each one is confirmed.
Confirmed is the important word. The source can be a carrier tracking email, a portal, a visibility tool or a driver's text to dispatch. An automation reads it, matches the shipment by reference number and drafts the update. Routine milestones on a steady lane can send on their own once you have watched the drafts for a few weeks. Anything that mentions a delay waits for a person.
If some of your customers write in Spanish, send their updates in Spanish. Store the language on the customer's row and keep both templates side by side.
Subject: [reference]: [milestone]
Hi [first name],
Your shipment [reference] from [origin] to [destination] was [milestone] at [time and time zone].
Next step: [next milestone], expected [date and time].
Reply to this email with any question and it goes straight to the team handling your shipment.
[sender name]Asunto: [referencia]: [hito]
Hola [nombre],
Su envío [referencia] de [origen] a [destino] fue [hito] a las [hora y zona horaria].
Siguiente paso: [siguiente hito], previsto para [fecha y hora].
Si tiene alguna pregunta, responda a este correo y llegará directamente al equipo que maneja su envío.
[nombre de quien firma]Watch out
The common mistake is sending updates from the schedule instead of from confirmed events. An “on time” message when the truck has not arrived costs more trust than silence. With no confirmed source, the update should say “expected” with a time, or stay unsent and raise an exception.
Exception alerts: late pickup, missed connection, customs hold
Exceptions are where automation matters most: when an expected event has not happened by a set time, tell a person while there is still room to act. You choose the thresholds. Start loose and tighten them once you see how often each one fires.
- Late pickup. The window closes with no confirmation from the carrier or driver.
- Gone quiet. An active shipment has had no new status for longer than you allow on that mode.
- Missed connection. On air and time-critical freight, the shipment is not shown on the departing flight, or the inbound lands after the connection closes. The alert goes straight to whoever handles air, so rebooking on the next flight out starts right away.
- Customs hold. The customs broker or carrier reports a hold, an exam or a document request. The alert names the documents and copies the customer contact who can supply them.
- Late against the promise. The current estimated arrival is past the deliver-by date on the row.
- Missing proof. A delivered shipment has no proof of delivery on file after the time you set.
Send alerts where your team already looks: a shared chat channel, a text to whoever is on shift, or the top of the morning brief. One alert per shipment per problem: the reference, what was expected, what happened, who owns it.
- Alert
Ref 1187: air shipment not shown on the 18:40 connecting flight. Inbound landed 18:05, connection needs two hours. Owner: Ana.
- Ana
Rebooked on the next flight out at 07:15, arriving 11:30 local. Still inside the 14:00 deadline. Draft the customer note.
- Draft
Hi Marco, your shipment 1187 missed its evening connection. It is rebooked on the 07:15 flight and expected at 11:30 local, ahead of your 14:00 deadline. I will confirm when it departs.
- Ana
Looks right. Send it.
Proof of delivery: collect it, name it, file it
Proof of delivery arrives as a photo in a text, a PDF from a portal or a scan attached to the carrier's invoice. The fix is one naming rule and one folder per shipment. An automation watches your inboxes and portals, renames each file to something like 1187_POD_2026-10-18.pdf, saves it in the shipment's folder and marks the row delivered with the signer's name and time.
Then make missing ones visible. A delivered shipment with no proof shows up in the morning brief, and its customer invoice waits until the proof is filed, so you never bill a shipment you cannot prove.
Keep the files long enough. Federal rules require a property broker to keep a record of each brokered transaction for three years, and give each party to it the right to review that record. Importers keep customs records tied to an entry for five years from the date of entry, with shorter periods for a few document types. Filed by shipment number, both are a search, not a project.
Shipping document checklist for international freight
International freight stalls on paperwork more often than on transport. A checklist on every international row, ticked as documents arrive, shows before departure what is still missing. What applies depends on the mode, the direction, the goods and the countries, so treat this list as the questions to ask, and confirm the answers with a licensed customs broker for every new lane or product.
Checklist
0 of 9 done
Your ticks stay in this browser.
Three details deserve a second look this year. The exemption that let low-value imports in duty-free has been suspended since late August 2025, so small shipments now pay duty and need a proper entry. USMCA has no required certificate of origin form: the claim needs nine minimum data elements, on the invoice or another document, completed by the importer, exporter or producer. And most exports to Canada are exempt from the export filing above. Confirm each with your customs broker before it goes into a template.
The automation is modest and worth it: the checklist lives on the row, the system ticks what it recognizes in each attachment, and a person confirms the rest. The brief lists every international shipment departing within two days that still has an open box.
Carrier setup packets and carrier checks
A new carrier means the same packet every time: a W-9, a certificate of insurance naming you as certificate holder, proof of operating authority, a signed broker and carrier agreement, and remit-to details. Send it as one form with one link, and let the system chase what is missing and file what arrives.
Before the first load, check the carrier against the public record. FMCSA's SAFER Company Snapshot looks up any company by USDOT number, MC number or name and shows its identification, size, safety rating if it has one, inspection summary and crash information. Compare the name, address and phone there with what the carrier sent.
An automation can run that lookup, write the result on the carrier's row and flag anything that does not match. Re-check active carriers on a schedule; insurance lapses and authority changes do not announce themselves.
Watch out
Never change where a carrier's payment goes because of an email. Call the number on the public record, not the one in the message, and have a second person approve the change. One convincing email from a look-alike address is enough to send a payment to the wrong place.
Match carrier invoices against the rate you agreed
Carrier invoices drift from the rate confirmation in small ways: an accessorial nobody approved, a fuel line that was meant to be included, detention with no times attached. Each is small; together they are your margin. The check is mechanical, which makes it a good job for a machine.
When an invoice arrives, the system pulls the rate confirmation for the same load, compares them line by line, and sorts the invoice into three piles: matches, small difference, or a charge with no support that needs proof from the carrier. A person still releases every payment.
Compare the carrier invoice to the rate confirmation for the same load.
For each invoice line, say whether it matches, differs (show both amounts) or is missing from the rate confirmation.
For any accessorial (detention, layover, lumper, liftgate, redelivery, storage), say what proof is attached: times, receipts or signatures. Mark it unsupported if there is none.
End with one word, MATCH, REVIEW or HOLD, and the total difference in dollars.
Do not decide whether to pay. Use only the two documents below.
Rate confirmation:
[paste or attach]
Carrier invoice:
[paste or attach]A morning brief for a freight team
The brief is the piece owners notice first, because it replaces the morning round of portals, inboxes and tabs. Each morning at a set time, the system reads the list and sends the team one short message: what moves today, what is at risk, what needs a decision.
Write the morning brief for a small freight team, in short lines, using only the rows below.
1. Needs a decision: exceptions with no owner, customs holds, quotes over one business day old with no price.
2. At risk: estimated arrival later than the promised date, pickups due today with no confirmation.
3. Moving today: pickups and deliveries, one line each with reference and customer.
4. Paperwork: international shipments leaving within two days with an open document, delivered shipments with no proof of delivery.
5. Money: invoices marked HOLD or REVIEW.
Write “none” for an empty section. Never state a status that is not in the rows.
Rows:
[paste the rows or attach the export]What I would build first
I'd start with quote intake into one list, because every other piece reads from it. Once each request is a row with a quote number, rate requests, updates, alerts, documents, invoice checks and the brief are each one rule on the same data. That first step is small enough to set up alongside the real work.
Next I'd add exception alerts: a late pickup found at the window is a phone call, and one found by the customer is a harder conversation. Then status updates, in both languages if your lanes need them. Documents, carrier setup and invoice matching follow once the team trusts the list.
None of this needs a new platform. It needs one list, a few rules written down, and a person who approves anything that sets a price or changes a promise.
Questions
Can AI quote freight rates for a small brokerage?
It can do the reading and the sorting: pull the details from the request, collect carrier replies, and show your recent quotes on the same lane. The price, the margin and the decision to take the freight should stay with a person. Treat the AI as the one who prepares the quote sheet, not the one who signs it.
Do I need a TMS to automate freight operations?
No. Everything in this guide works from a shared inbox and a spreadsheet. If you already use a TMS, use its tables as the list and its built-in rules where they exist, and add automation only where it falls short.
What documents do I need to import or export a shipment?
It depends on the mode, the direction, the goods and the countries. Most shipments need a commercial invoice, a packing list and a bill of lading or air waybill; ocean imports into the U.S. also need the ISF, many exports need Electronic Export Information, and a certificate of origin matters when a trade agreement is claimed. Confirm the full list with a licensed customs broker before the first shipment on a new lane.
How long does a freight broker have to keep shipment records?
Federal rules require property brokers to keep a record of each transaction for three years, and each party to the transaction may review it. Importers keep customs records tied to an entry for five years from the date of entry. Check which rules apply to your role before you set up any automatic deletion.
How do I check a new carrier before booking a load?
Look the carrier up on FMCSA's SAFER Company Snapshot by USDOT number, MC number or name, and compare the name, address and phone with what they sent you. Collect a W-9, a certificate of insurance and a signed agreement before the first load. Confirm any change to payment details by calling the number on the public record.
Is it safe to put shipment data into ChatGPT or Claude?
Use a business or team plan and read its data settings before you connect an inbox. Share what the task needs, such as references, addresses and weights, and keep bank details and passwords out of prompts entirely. Set it up once for the whole team so nobody pastes customer data into a personal account.