Our AI agent, Dov, sends a lot of RFQs. Somewhere around the thousandth email we realized that "request for quotation" is a generous name for what actually happens: you send a clear question and receive back a PDF named final_v3_REAL.pdf, a one-line reply saying "price attached", or silence. Here is what we learned building an agent that chases supplier quotes.
1. Structure the RFQ, or get structured chaos back
Suppliers answer the question you ask. If your RFQ says "need 5,000 aluminium brackets, please quote", you will get five different interpretations. A good RFQ is a small spec sheet:
- Part description, material, tolerances, finish
- Quantity tiers (1,000 / 5,000 / 10,000), because unit price depends on volume
- Incoterms and destination (EXW vs DDP changes everything)
- Required lead time and the date you need an answer by
- A numbered list of questions, so replies can be matched line by line
Numbered questions are the single best trick we found. Suppliers tend to answer in the same order, which makes parsing far easier.
2. Follow-up cadence is a product feature
Most quotes arrive after a nudge, not after the first email. Our cadence is roughly: a first follow-up after 2 business days, a second after 4 more, and a short final "should I close this out?" message. Humans hate writing the third email, which is exactly why it is worth automating. Agents do not get awkward about chasing.
Two details matter: respect the supplier's timezone and public holidays (nothing says "we did not research you" like a nudge during Lunar New Year), and keep every follow-up in the same thread.
3. Parsing messy quotes into comparable tables
Quotes arrive as PDFs, Excel files, inline text, and the occasional photographed price list. The pipeline we settled on:
- Extract text and tables from whatever format arrived.
- Map it onto a fixed schema: unit price, currency, MOQ, tooling cost, lead time, payment terms, validity date.
- Flag missing fields instead of guessing them, then ask the supplier a targeted follow-up.
The rule: never let the model silently fill a gap. A blank cell is information. An invented price is a lawsuit.
4. Compare landed cost, not unit price
A quote of $1.10 per unit EXW from far away is not cheaper than $1.35 delivered nearby. Real comparison needs freight, duties, tooling amortization, payment terms, and the cost of a long lead time. We normalize every quote to an estimated landed cost per unit and show the assumptions, so a buyer can challenge them.
5. Keep a human in the loop
Agents are great at finding suppliers, sending clean RFQs, chasing, and building the comparison table. They should not unilaterally commit money. Our approach is that the agent does the legwork and a person approves the shortlist and the final decision. Clients see the suppliers found before they pay, which keeps everyone honest, including us.
What we would tell our past selves
- Treat the RFQ as an API contract with an unreliable counterparty.
- Build for missing data, because that is the default state.
- Log every email; you will need the audit trail.
- Be polite. Suppliers talk to each other.
If you want to see this in action, Dov is the AI procurement agent at HireDov: it finds and vets suppliers worldwide, sends RFQs, follows up, and compares quotes for you.
Top comments (0)