Responding to a freight RFQ faster is mostly about removing waits, not working harder. Give every request one front door, decide in the first minutes whether it can be priced, ask for what is missing in your first reply, and price from a structured card with a person approving. This page is the workflow, with a template you can copy.
Spot quote or bid event? Know which one you are answering
Two very different things arrive labeled "RFQ".
- Spot quotes are one job or a short run: two containers next Thursday, a transload this week. Speed decides a lot of them. DAT describes spot rates as typically negotiated within days, sometimes hours, of the ship date (DAT).
- Bid events (annual or multi-lane RFPs) set contract rates for a period. DAT notes that shippers traditionally run these annually, through a formal request for proposal, and that freight contracts are usually binding on price but not volume (DAT).
For a bid event, "faster" means something else: hit the submission deadline with a complete, consistent response, get your clarifying questions in before the Q&A cutoff, and price every lane or service in the template they send rather than your own. The rest of this page focuses on spot and ad-hoc RFQs, which is where most 3PL and warehouse quoting time goes, but the intake and triage steps apply to both.
The RFQ response workflow, step by step
1. Intake: one inbox, automatic acknowledgement
Create one alias for quote requests (quotes@ or rfq@) and point every source at it: the website form, reps' forwarded emails, phone notes. If a request lands in a personal inbox, the rule is forward it within the hour. Then set an automatic acknowledgement on that alias so the shipper knows it arrived and when to expect an answer.
This step does two jobs. It fixes routing, the single biggest source of delay in most teams (see why freight quotes get delayed). And it makes every enquiry countable, including the ones nobody answers.
2. Triage: complete or incomplete?
Someone (or something) reads each request and answers one question: can this be priced as it stands? Check it against the minimum fields for that job type. If they are all there, it goes straight to pricing. If not, it goes to step 3 immediately, not to the bottom of a pile.
| Field | Why you need it | Container unload / devan | Transload / cross-dock | Storage & fulfillment |
|---|---|---|---|---|
| Container size or equipment | Selects the rate row | Required (20ft, 40ft, 40ft HC, 45ft) | Required (inbound box and outbound trailer) | If inbound by container |
| Load type | Floor-loaded vs palletized changes the labor substantially | Required | Required | Required for receiving |
| Counts | Containers, cartons, pallets drive quantity | Containers, cartons per container | Cartons, pallets out | Pallets or cartons stored; orders per month |
| SKU count | Sets the sort tier | Required | Required if sorting | Required |
| Dates and timing | Capacity, after-hours rates, free time | ETA, last free day if known | Inbound and outbound dates | Start date, expected duration |
| Location | Which facility, drayage distance | Port or rail ramp | Origin and destination | Facility |
| Commodity / hazmat | Handling, storage rules, surcharges | Commodity; UN number, class, packing group if hazmat | Same | Same, plus temperature |
| Special handling | Accessorials that change the total | Pallets supplied, shrink wrap, labeling, photos | Pallet build, labeling, appointments | Kitting, labeling, returns |
For dangerous goods, ask for the same basic description a shipping paper must carry: identification number, proper shipping name, hazard class or division, and packing group (49 CFR 172.202). "Some hazmat" is not quotable.
3. Ask for everything missing in the first reply
The most expensive habit in quoting is the one-question-at-a-time chase: ask for the SKU count, wait half a day, then realize you also need the ETA. List every missing field in one message, in plain words, and say what you can price now. If you can give a range for the parts you know, say it is a range.
The template below combines the acknowledgement and the missing-information request. Fill in the brackets and send it within your target (see the table further down).
Subject: Re: {Their subject} — received, {N} details needed to quote
Hi {First name},
Thanks for sending this over. We have your request for {short job description, e.g. "two 40ft containers into our Newark facility"} and we're on it.
To give you a firm price, we need a few details:
1. {Missing field, e.g. "Floor-loaded or palletized?"}
2. {Missing field, e.g. "Approximate number of SKUs per container"}
3. {Missing field, e.g. "Expected arrival date, and last free day if you have it"}
4. {Missing field, e.g. "Commodity. If hazmat: UN number, hazard class and packing group"}
What we can confirm now: {e.g. "we have capacity for the week of {date}" or "standard hours are Mon–Fri, 7am–5pm"}.
As soon as we have these, you'll have a quote within {your target, e.g. "four working hours"}.
Thanks,
{Your name}
{Company} | {Phone}
Number the questions. Shippers answer numbered lists inline, which saves another round trip.
4. Price from a structured card
With a complete request, pricing should be a lookup, not a judgment call. That only works if your card has one row per combination that changes the price (size, load type, SKU tier, timing), customer overrides keyed to the same codes, and clear surcharges. If you are not there yet, start with how to build a 3PL rate card that quotes correctly. Check accessorials against the common warehouse accessorial charges so the quote does not leak margin.
Rule that saves arguments later: if any line cannot be priced, do not show a total.
5. Review and approve
Every quote should be seen by a person before it goes out. Write down when a second approver is needed, so review does not become its own queue. Typical triggers: manual overrides of a card rate, hazmat, new customers above a value threshold, and anything outside your standard services.
6. Send, with terms
Send the quote as a reply in the same thread. State what it includes, what it excludes, the assumptions you priced on (counts, SKU tier, timing), and how long it is valid. Assumptions written on the quote are what let you rebill fairly when the container turns out to hold 40 SKUs instead of 12.
7. Log it in the CRM
Record arrival time, first reply time, quote sent time, value, and status (sent, won, lost, no decision). Without the timestamps you cannot measure response time; without the outcome you cannot measure win rate.
8. Follow up
A sent quote is not a decision. Put a follow-up date on every quote when you send it. For wording, use the freight quote follow-up email templates.
What response-time targets should you set?
These are our recommendations, not industry benchmarks. Adjust them to your staffing and hours, but write them down and measure against them. The free quote response time calculator shows your median and the share of requests answered within target.
| Stage | Our recommended target (business hours) | Notes |
|---|---|---|
| Acknowledgement | Immediate (automatic) | Auto-reply from the quote alias, with your expected turnaround |
| Triage and missing-info request | Within 1 working hour | One message listing every gap |
| Priced quote, complete standard request | Within 4 working hours | Spot requests on your standard card |
| Priced quote, non-standard or multi-service | Within 1 working day | Tell the shipper the time you will send it, then keep it |
| Bid event (annual / multi-lane RFP) | Questions before the Q&A cutoff; submission before the deadline | Assign an owner and an internal deadline at least two working days before theirs |
| First follow-up after quote sent | 1–2 working days | Shorter if the shipper's ETA is close |
What can software do here, and what should stay with a person?
Triage is the step most suited to software: reading the email, extracting container size, load type, counts and dates, and listing what is missing. You can see a rule-based version of that with a fictional RFQ in the free RFQ analyzer, and read how language models approach it in how AI reads freight RFQs.
What should stay with a person: approving the price, judging non-standard work, and deciding when a customer deserves an exception. Automate the waiting out of the process, not the judgment.
RFQ response checklist
Rapid Ai 10x runs this workflow with a person in charge of every price. Adriana reads each RFQ as it arrives, flags what is missing and drafts the request for it, prices the rest against your own rate card, and hands the draft to your team to approve; then she logs it and follows up. See how the agents work.
Sources
- Spot and contract freight: what's the difference and why it matters
- 49 CFR 172.202: Description of hazardous material on shipping papers
Figures from these sources are cited where they appear. Anything not cited is labeled as an assumption, a planning range or an illustrative example. How we write and check these guides.
Update log
- Published.