The simplest useful version uses n8n as the workflow controller. A website form starts the process. A bounded AI check decides whether the required information is present. Missing details are requested by email. Once the reply completes the record, another AI call drafts the quote from approved business rules. A person checks it before anything is sent.
That design is deliberately unexciting. You can see the path, test each branch and inspect what happened when something goes wrong.
Start with the information a quote really needs
Before choosing an AI model, I would sit with the person who prepares the quotes and inspect recent examples. What did they need to know before they could commit to a price and scope? Which exclusions appeared repeatedly? Which jobs needed a site visit or a phone call?
The website form should collect whatever the customer can reasonably supply without turning the enquiry into an interrogation. In a service business, that might include the service required, address, timing, dimensions, access constraints, photographs and a plain-language description of the work.
The form payload should also carry an enquiry ID and contact details. That ID matters later when the customer's reply has to find its way back to the correct request.
The controlled path
The AI handles two bounded language tasks. n8n owns the state, branches and integrations. A person owns the quote.
- 1Enquiry arrivesThe website sends structured details to an n8n webhook.
- 2Check completenessA bounded JEV call returns complete, incomplete or review required.
- 3Clarify if neededn8n emails only the missing questions and waits for the reply.
- 4Draft the quoteThe model uses approved pricing, scope and document rules.
- 5Human approvalA person checks the commercial commitment before it leaves the business.
Use a webhook, with one correction to the usual wording
I would send the form submission to an authenticated n8n webhook. A webhook is an HTTP endpoint that starts a workflow when it receives the form data. If the interface needs live progress, Server-Sent Events or a WebSocket connection can update the page, but the durable business trigger should still be a normal webhook request that can be logged and retried.
n8n provides separate test and production webhook URLs. That is useful here: representative enquiries can be run through the test path before the production workflow is published, while production executions remain available in the execution history for inspection.1
Give the completeness check a very small job
I would then make one bounded Judge-Evaluator-Verifier call, or JEV call. Its job is not to write the quote. It compares the supplied information with a checklist for that quote type and returns structured data:
complete,incompleteorreview_required;- the missing fields;
- contradictions or uncertainty that need a person;
- the exact questions that should be asked next.
The checklist belongs in business configuration as well as the prompt. The response should be validated against a strict schema. If the result is malformed or uncertain, the workflow moves to review instead of guessing.
Ask for missing details without losing the thread
If information is missing, n8n sends a short email that asks only for those details. The customer should not have to complete the whole form again.
The outbound message includes a reply token or other correlation value linked to the enquiry ID. When the customer replies, an email trigger or inbound-email service calls a second webhook. n8n attaches the reply to the original record, extracts the new facts and runs the completeness check again.
This loop can repeat, but it needs a limit. After one or two unclear exchanges, or whenever the customer raises something outside the known quoting rules, the workflow assigns the enquiry to a person.

Generate from rules, not from a blank prompt
Once the record is complete, n8n sends a controlled quote-generation request to the language model. The request contains the customer's facts and the approved material needed for this quote type: pricing tables, calculation rules, service descriptions, inclusions, exclusions, validity period and document structure.
The model should return structured quote data first. Code can then verify required fields, recalculate deterministic totals and render the approved template. The model is useful for assembling scope language from the supplied facts. Arithmetic and non-negotiable commercial rules should stay in code.
Keep the final commercial decision with a person
A quote commits the business to a price and a scope. I would not let the workflow send it directly.
Instead, n8n creates a draft and notifies the estimator or owner. The review screen should make the source information visible beside the proposed price, scope, assumptions and exclusions. The reviewer can approve, edit or return it for clarification. Only approval allows the document to be emailed and the CRM or job system to be updated.
Why I would not use Hermes for this workflow
Hermes is useful when an agent must investigate, use several tools and decide what to do next across a broad task. Quote intake is narrower. The business already knows the allowed sequence, and every branch should be testable.
n8n gives the workflow an explicit shape. The AI calls sit inside that shape and handle the language-heavy parts. That makes the system easier to audit, test and explain to the person who owns quoting. n8n also supports AI workflow evaluations, which can be used to compare outputs against a test dataset as the workflow changes.2
What I would test before using it with customers
- A complete enquiry that should produce a draft without clarification.
- An enquiry missing one required field.
- A vague reply that still does not answer the question.
- Conflicting details, such as two different site sizes.
- A job outside the approved pricing rules.
- A duplicate form submission or duplicate email event.
- A model timeout or malformed structured response.
- A quote whose calculated total does not match the deterministic check.
- A reviewer rejection followed by a corrected draft.
I would also record the prompt and configuration version, model, source inputs, output, validation result, reviewer and final action for each run. The useful measures are quote turnaround time, clarification rate, manual handling time, correction rate and the proportion of enquiries that still need a person from the start.
Where I would start
I would begin with one quote type that already follows repeatable rules and is prepared often enough to justify the work. Ten or twenty representative past enquiries are enough to expose missing fields and awkward exceptions before building the first controlled test.
If every quote is genuinely bespoke, start with a structured intake and estimator brief. That still removes copying and chasing while leaving the difficult judgement where it belongs.
A useful first conversation
Bring one real quoting workflow
In a free 30-minute AI Opportunity Review, we can look at how one quote moves from enquiry to approval and decide whether a controlled workflow like this is worth investigating. You will get a verbal recommendation, not a hidden sales blueprint.
Book the AI Opportunity ReviewSources and photo credits
- n8n Webhook node documentation, including test and production webhook behaviour and execution inspection.
- n8n Advanced AI documentation, including evaluations for testing AI workflows.
- Hero photograph by Shixart1985, licensed CC BY 2.0.
- Quote-review photograph by asawin, dedicated to the public domain under CC0.
