§Use caseOne operator

Answer the right lead first

Lead forms are cheap to run and expensive to ignore. The form fires, the lead lands in a list, and whoever replies first usually wins the job. Below is the version I build: a score with a reason attached, a first reply that goes out in about a minute, and a log that keeps every lead including the ones the model reads wrong.

The scoring step and what follows it
The scoring step and what follows it
The scoring step, and the routing beside it that sends only the hot leads onward.
The whole build, fallback path included
The whole build, fallback path included
The whole lead-scoring workflow on the n8n canvas, fallback path included.

The questionHow do I follow up Meta lead ads automatically without calling every tyre kicker first?

How the working version is put together

  1. Take the lead from Meta, not from an export

    The Facebook Lead Ads trigger fires on submission, so the lead arrives while your ad is still the last thing the person looked at. Exports are where leads go to cool down: by the time somebody opens a CSV at the end of the day, the good one has booked with whoever answered.

  2. Flatten the form into one fixed shape

    Meta hands you a list of question and answer pairs, and the questions are whatever you typed into the form builder. A Code node writes one record instead: name, email, a phone number normalised to E.164, and the rest of the answers as text. Everything downstream reads that record, so rewording a question on the form never breaks the automation.

  3. Score against your business, in your own words

    An extractor with a model behind it reads the lead against two or three sentences you wrote about what you sell and who buys it, and returns intent, budget signal, urgency, a fit score out of 100, a one-line summary and a suggested first reply. Those two or three sentences are the whole build. A generic description gives you generic scores, and I would rather spend an hour on that paragraph than a week on prompt engineering.

  4. Fail to a human, never to silence

    If the model call fails, the lead takes a fallback path and is marked UNSCORED. It still reaches HubSpot, Slack and the sheet. This is the branch most builds skip, and it is the one that decides whether a bad minute at an API costs you a lead or just costs you a score.

  5. Interrupt somebody only for the hot ones

    A score at or above your threshold is HOT: the contact is upserted in HubSpot with its score and summary, an approved WhatsApp template goes to the lead when there is a usable number, and Slack gets the summary, the suggested reply and a link to the record. Warm and cold leads are still upserted and tagged, they just do not interrupt anyone. An alert that fires for every lead is an alert people learn to ignore.

  6. Keep every lead, hot or not

    Every lead gets one row in a Google Sheet with its score and verdict. That sheet is how you move the threshold after a fortnight with evidence rather than a feeling, and it is your answer on the day somebody claims the automation ate a lead.

The kit, instant download

Qualify Meta Lead Ads with AI and route hot leads to HubSpot, WhatsApp and Slack

I sell this one as an n8n workflow you import and own: 15 working nodes, the setup written on the canvas, and one settings node holding your business description and your thresholds. Instant download, no subscription. If you would rather I set it up around your forms and your CRM, start a brief instead.

Open the kit on Etsy
Or the same kit, with the pipeline

The same workflow bundled with a Notion lead-scoring CRM, in English and in French

Scoring a lead is half the job, and somebody still has to work it. The bundle pairs this exact workflow with a Notion CRM in both languages, where each lead arrives carrying its fit score, a verdict and a first reply, and the pipeline sorts itself by weighted value. The two Notion templates are free on Notion's own marketplace and the download links you to them, so what you pay for is the workflow and the setup written in English and French.

Open the bundle on Etsy

What actually loses you the lead

It is rarely the price and it is rarely the pitch. It is that somebody filled in a form on Thursday evening, heard nothing until Monday, and by then had already spoken to two other firms. I will not quote you a speed-to-lead statistic here because I have not measured one on my own operations, and the honest version of this page does not borrow somebody else's number.

What I can tell you is what the sheet shows once this is running: which leads scored high, which of those you actually called, and how long it took. That is the number worth having, because it is yours.

The parts that break

WhatsApp is the first one, and it catches everybody. Outside a 24-hour window from the customer's last message, only a pre-approved template gets delivered. That means the automatic first reply is a template with variables, not the model's nicely worded suggestion, and getting a template approved takes Meta a little while. Build this expecting that, or the most impressive part of the demo quietly stops working in production.

The second is permissions. Lead retrieval on a Meta page is its own grant, and it lapses when somebody reshuffles page roles. Nothing errors. The trigger simply stops firing, and a trigger that has stopped firing reads exactly like a quiet week for leads.

The third is the score itself. A model reading a two-line form answer is making a judgement on thin evidence, and it will be confidently wrong sometimes. That is the whole reason nothing here deletes or discards: every lead lands in HubSpot and the sheet whatever the verdict.

What it costs to run

The model call is small. One form's worth of answers is a short prompt, and what you pay for the automation platform will dominate that long before the inference does. The cost that surprises people is WhatsApp, because Meta prices conversations rather than messages, so check their current rates for your country before you switch automatic replies on.

The real cost, as ever, is attention. Somebody has to read the sheet occasionally and move the threshold. Treat any quote that assumes nobody ever looks at it again as a quote for something you will switch off in a quarter.

Why take this from me

Because I build and run this class of system daily rather than describing it. The case studies below link to things that are running, including an operational brain that is open source, so you can read how I build before paying me anything.

The fair objection is that my proof is my own operation rather than a client roster, and there are no reviews on this site because I do not have any yet. I would rather write that here than have you notice it.

Read this before you spend anything

Who should not buy this

If you get a handful of leads a week and you call all of them the same day, this buys you nothing, and I would tell you so rather than take the work. The value here is triage, and triage only matters once more arrives than one person can work through properly.

If your sale completes at a checkout rather than on a call, this is the wrong shape entirely. And if you cannot get a WhatsApp template approved, know that you are buying the scoring and the routing without the instant first reply, which is the half most people are actually after.

What lands on your desk

  • I set it up inside your own n8n, on your own Meta forms, under your own credentials
  • I write the description of your business into the settings node with you, because that paragraph is the thing that makes a score mean anything
  • The UNSCORED fallback wired in, so a bad minute at an API costs you a score and never a lead
  • A Google Sheet log of every lead with its score and its verdict, which is how you move the threshold on evidence
  • A walkthrough I write down, so the next person to touch this is not dependent on me

Questions this page answers

How fast does the first reply go out?
It goes out in about a minute, because I wire the Facebook Lead Ads trigger to fire on submission. Your ad is still the last thing the person looked at, instead of waiting for someone to open a CSV export.
What happens if the scoring model call fails?
The lead takes a fallback path and gets marked UNSCORED. It still reaches HubSpot, Slack and the sheet; it simply arrives without a score.
What's the catch with WhatsApp?
Outside a 24-hour window from the customer's last message, only a pre-approved template can be delivered. The automatic first reply becomes a template with variables rather than the model's own wording.
Who should skip this?
Anyone getting a handful of leads a week who calls them all the same day, or any business whose sale completes at a checkout rather than on a call.

Want this built and handed over working?

One line is enough to start. You get an honest answer on fit, and a number rather than a discovery call.

Start a brief