Most projects with an AI component start the same way: a client talks for an hour, someone takes rough notes, and a week later a document appears that nobody is quite sure is right. I built a LangGraph agent to run that first conversation properly. It interviews the client, drafts a blueprint from the answers, and then stops and waits for a person to approve it before anything moves on.
This post explains why I built it that way, and why the waiting step matters more than the AI.
The problem with the first conversation
Discovery is where projects are won or lost. A missed requirement here costs far more to fix once something is built on top of it. But discovery is also repetitive: the same questions, asked in a different order, with the answers scattered across call notes and messages.
I wanted a consistent way to capture what a client actually needs, in a form that can be reviewed, corrected and signed off.
What the agent does
- Interviews the client. It asks questions, follows up on vague answers, and keeps the conversation moving instead of presenting a static form.
- Drafts a blueprint. The answers become a written plan: what the client wants, how the work is scoped, and what has to be decided.
- Waits for approval. The agent does not carry on by itself. A person reviews the blueprint, and only an explicit approval lets the process continue.
An agent that drafts is useful. An agent that drafts and then waits for a human is something you can actually trust with client work.
Why I used LangGraph
A conversation with a client is not a straight line. The agent has to ask, listen, decide whether it knows enough, go back and ask more, and only then draft. LangGraph lets me model that as a graph of explicit steps, with clear rules for moving between them, instead of one long prompt that hopes for the best.
It also makes the approval step a real part of the flow, not an afterthought. The agent reaches a defined point, stops, and resumes only when a person says yes.
Why human approval is the point
It is tempting to let an agent run end to end. For anything that shapes scope, price or commitments, I don't think that is wise. The model can misread a client, fill a gap with a plausible guess, or treat an unclear answer as settled.
Putting a person at the checkpoint means the AI saves the time spent on writing up, while a human still owns the decision. The client sees a blueprint they can correct, and nothing is built on an assumption nobody checked.
What I would tell anyone building one
- Decide where the agent must stop before you decide what it can do.
- Make the output something a person can review quickly. A blueprint someone has to decode will not get approved properly.
- Keep the steps explicit. When something goes wrong you want to know which step it happened in.
This agent is one of several I have built around the same idea: AI does the repetitive work, and people keep the decisions. If you are planning something similar for your own client intake or internal process, I am happy to talk it through.