Build an n8n lead response system that replies in seconds

Six nodes. A contact form comes in, Claude reads it, scores the lead out of ten, writes a reply that references what the person actually said, sends it, and logs the whole thing to a spreadsheet. The person gets an answer before they have closed the tab.

Running cost is about ten cents a month in Claude credits for a hundred leads, plus whatever you pay for n8n.

It is nine at night and someone's boiler has died. They search, they find a local company, they fill in the form, they hit submit. Nothing happens. The next morning the company calls back and the job is already gone, because a competitor answered at 9:15 the night before.

That is not an HVAC problem. It is every business that takes enquiries through a form. Dentists, plumbers, photographers, accountants, cleaning companies. Harvard Business Review's 2011 study on online sales leads found firms that responded within an hour were nearly seven times more likely to qualify the lead than firms that waited just one hour longer, and more than sixty times more likely than firms that waited a day.

Most owners lose that race. Not because they do not care, but because they are on a job, or asleep.

The six node n8n lead response workflow open on the canvas

The video above is the full build, node by node. What follows is the same system in writing, including the part most tutorials skip.

What it costs to run

Worth knowing before you build it, because the answer surprises people.

PieceCost
Claude APIAbout a tenth of a cent per lead. A hundred leads is roughly ten cents
Gmail and Google SheetsFree
n8n CloudAbout $20 a month
n8n self hosted on a small serverAbout $5 to $6 a month
n8n self hosted on your own machineFree. It is open source

So the whole system runs for the price of a coffee, and it does a job a virtual assistant could not do at three in the morning.

The six nodes

1. The form

n8n builds and hosts a form for you at its own address, with no third party tool and no extra subscription. Six fields: name, email, what kind of business they run, what they need help with, budget range, timeline.

Budget and timeline are dropdowns, and that is deliberate. Left as free text you get "around 2k", "a couple of grand" and "not much", and Claude has to guess what those mean. Dropdowns give it clean values every time.

You do not have to use the n8n form. If you already have a contact form on your site, or a Typeform, or a WordPress form, point it at a webhook instead. A webhook is just a web address n8n listens on. The rest of the workflow runs exactly the same.

2. Claude scores the lead and writes the reply

This is the node that matters, and the thinking behind it is the part nobody shows.

Claude gets one job with three outputs: score the lead from one to ten, write a short personal reply, and return both as a single JSON object so the rest of the workflow can read it. The score comes from a rubric you write once, out of ten points:

What it looks atPointsFull marks means
Budget fit3A real budget stated. Under 500 or "not sure yet" scores zero
Timeline urgency3As soon as possible. "Just exploring" scores zero
Use case clarity2A specific description of a real problem, not a vague one liner
Overall fit2It reads like a genuine person with a genuine need

Seven or above is hot, four to six is warm, one to three is cold. Write that rubric for your own business and the system becomes yours rather than a generic template. A roofer and a wedding photographer do not score the same enquiry the same way.

The reply Claude writes is not a template with a name dropped into it. It uses their first name, references something specific from their message because it actually read the message, and ends with a clear next step. That is the whole difference between this and the "thanks for contacting us, we will be in touch" that every other company sends.

3. Clean up what Claude sent back

Claude returns its answer as text. This node is five lines of code that turn that text into five clean fields: score, tier, reasoning, subject and body. Every node after it can read those directly instead of digging through a wall of text.

4. Hot or not

One condition. If the tier is hot it goes down one lane, everything else goes down the other. Two roads, no complexity.

5. Two email nodes

Hot leads get the email Claude wrote, sent as is. Warm and cold leads get a short, polite acknowledgement that promises nothing and commits to a reply within a day.

That second one matters more than it looks. A cold lead still hears back in seconds, so they know they are dealing with a business that answers. You have lost nothing and you have not over promised.

6. Log it to a sheet

Every enquiry gets a row: timestamp, name, email, budget, timeline, score, tier, Claude's reasoning, and the subject line it sent. Open that sheet with your first coffee and you know who to call, who to nurture, and who was never a fit.

It is a CRM that fills itself, with no subscription and no software to learn.

Why Claude Haiku and not something bigger

Reading a short form and writing an eighty word email is not a job that needs the most powerful model available. Haiku is the fastest and cheapest of them, it does this perfectly, and it costs a fraction of a cent per run. Picking the right size of model for the job is most of what keeps a system like this cheap enough to leave running forever.

Who this works for

Any business people contact through a form. Plumbers, real estate agents, personal trainers, wedding photographers, accountants, dentists, driving instructors, cleaning companies. If someone can fill in a form to reach you, this runs.

It also happens to be the first thing worth selling if you are learning this to get paid for it. A small business can see what it does in one screenshot, and the value of it does not need explaining.

Questions people ask about this build

Do I need to know how to code to build this?

No. The only code in it is five lines in one node, and that comes with the template. Everything else is filling in fields and connecting boxes.

Can I use my existing website contact form instead of the n8n one?

Yes. Swap the form node for a webhook node, then point your existing form at the address n8n gives you. Nothing else in the workflow changes.

What happens if Claude is down or the API call fails?

Set the Claude node to continue on error and send the plain acknowledgement anyway. A generic reply in ten seconds still beats a perfect reply tomorrow, and you keep the row in your sheet either way.

Build it with other builders

Take a look inside

$9 a month after a 7 day free trial. The rate you join at is the rate you keep.