A web form wasn't the answer
— AI Agents, Product, Discovery — 6 min read
We were about to build a better web form. Then we checked where our good requests came from, and the best ones came from a person typing in a chat window.
I work on the AI side of a B2B sourcing marketplace. A buyer tells us what they want made or bought, and we go find suppliers who can do it. Everything after that depends on the first message. If the request is fuzzy, every step after it is guesswork.
We stopped trying to fix that first message with a form. Here's why.
What we believed
The plan on the table was a web form for buyer requests. It made sense on paper. A form gives you structured data. Every request comes in with the same fields filled in the same order, and the next system downstream can read it without guessing.
We also had a web chatbot doing a similar job. It asked buyers for their requirements and turned the answers into a request.
The thinking was simple. If requests are messy, add structure. Force the buyer to tell us what we need.
What we saw
Next to the chatbot, there was another channel nobody had designed. A person on our team talked to buyers in an ordinary chat and asked them questions.
When we compared the two, the human chat produced far more good requests than the web chatbot.
The human chat worked the way a conversation works:
- Ask one thing, wait for the answer, then ask the next thing.
- Get the buyer talking about what they want before asking who they are.
The form did the opposite. It asked everything at once and asked who you are before it asked what you need.
The part leadership saw first
Around the same time, our leadership team had their own realisation, and it changed how I read the chat data.
We had been treating the first customer request as something to perfect. If a request was vague, that was a defect: in the buyer, in the form, or in us. Their point was that customers rarely know exactly what they want at the start. A vague first request is normal. The back-and-forth that turns it into something clear is not overhead. It is the product.
That reframe was theirs, not mine. What it did for me was explain the chat data. The human chat won because it was built for the back-and-forth. The form lost because it pretended the back-and-forth shouldn't exist.
A form assumes the buyer already knows the answer. A good chat helps them find it.
What we changed
We dropped the idea of a better form. We decided the new intake agent should copy the human chat.
I proposed an agent that refines the requirements as the conversation goes, instead of collecting a fixed set of fields and handing them off. My job was to keep the design simple enough to ship. Two rules did most of the work:
- One question at a time. The agent asks a single question, reads the answer, then decides what to ask next. No wall of questions in one message.
- Contact details last. The agent asks what the buyer wants first. Name and email come at the very end, once there's a real request worth following up on.
Neither rule is clever. Both came straight from watching what the human did.
A made-up sketch of the rhythm we wanted (illustrative, not a real conversation):
Buyer: I need custom tote bags for an event.
Agent: Got it. Do you have a design already, or should we suggest options?
Buyer: We have a logo. Not sure about the bag itself.
Agent: OK. Is there a material you want, or one you want to avoid?
Each answer narrows the next question. A form can't do that. It has to ask the material question to everyone, including the buyer who has no idea yet and the one who already said it in the first line.
Why one question at a time works
A few reasons, and none of them are about AI.
It's easier to answer. A single question gets a real answer. A list of ten gets skimmed, and the buyer fills in the easy ones and skips the ones that matter.
It adapts. The second question can use the first answer. That is the whole difference between an interview and a survey.
It earns the contact details. Asking for an email before you've helped someone feels like a toll booth. Asking at the end feels like the obvious next step: "where should I send this?"
It also keeps each model call small. One question means a short prompt and a short reply, which helps with cost and speed. Nice side effect. It wasn't why we did it.
What I'd tell you
If you're building an AI intake flow, don't start from the form you wish your users would fill in. Start from the best conversation your team already has with customers. Somebody on your team is probably doing intake by hand, in a chat or on calls, and getting better results than your product. Go read those conversations.
Then copy the boring parts. The order of questions. When they ask for contact details. How they handle "not sure yet." Those are the parts that make the conversation work, and they're easy to miss because nobody wrote them down.
And treat the vague first message as where the work starts. Your product is the thing that turns it into a clear one.
Takeaways
- Compare your designed flow with the undesigned human one. If the human wins, copy the human.
- Ask one question at a time. Let each answer shape the next question.
- Ask for contact details last, after you've understood the request.
- A vague first request is normal. Build the back-and-forth into the product instead of trying to remove it.
- Structure can come at the end. The agent can produce a clean, structured request after the conversation, without forcing structure on the buyer up front.