Workflow automation

A lead at 2 a.m. gets an answer at 2 a.m.

Intake, qualification and routing of inbound leads with no human in the loop — an answer to the customer in seconds and a complete CRM record.

Task
24/7 lead intake and qualification
Timeline
5 working days
Stack
n8n · OpenAI · Webhook · CRM · Slack
Result
7.3 s from lead to structured response

The problem

Inbound leads arrive through the website form, email and a messenger, in three separate places. Nobody sees them at night or at weekends. In the morning, a manager works through the backlog manually: reading each request, deciding its type and urgency, entering it into the CRM and writing the first reply. One lead takes 5–8 minutes to process, while the first reply arrives 8–14 hours later.

External benchmarks show why that delay is expensive:

  • Harvard Business Review, “The Short Life of Online Sales Leads” (Oldroyd, McElheran and Elkington, March 2011) audited 2,241 companies. The average first response took 42 hours, and 23% never replied. Companies that called a lead within an hour were 7 times more likely to reach a meaningful conversation with a decision-maker than those that waited just one hour longer, and 60 times more likely than those that waited a day. These are external research figures.
  • MIT / InsideSales, 2007 covered three years of data, six companies, more than 15,000 leads and more than 100,000 call attempts. A response at minute five rather than minute 30 produced a 100 times higher chance of contact and a 21 times higher chance of qualification. This was analysis of vendor-platform data by an MIT researcher, not an MIT publication.
  • Drift, 2017, 433 B2B SaaS companies: only 7% replied within five minutes. This is an external benchmark.

The often-repeated claim that “78% buy from the company that replies first” has no traceable primary source, so I do not use it.

What was built

A seven-node flow, all in n8n:

  1. Webhook — one intake point. The website form, mailbox and messenger are mapped to the same input schema.
  2. Normalization (Set + Code) — email and form data become one object: contact, channel, text, attachments, timestamp and source.
  3. AI qualification (OpenAI, structured output) — the model returns a fixed structure rather than prose: task type, priority, budget signal, extracted contacts, short summary, reply draft and a confidence score.
  4. Confidence branch (IF) — below the threshold, a lead is marked for manual review instead of going through automatic processing. Nothing is discarded or deleted automatically.
  5. CRM (HTTP Request with stored credentials) — creates the deal with an idempotency key, so a repeated webhook cannot create a duplicate.
  6. Reply — the draft is sent automatically for standard requests or put into a manager approval queue. The operating mode is chosen before launch.
  7. Slack notification — a lead card with priority and a link to the deal.

Measured on the reference build on 2026-09-06: the complete path from lead arrival to a ready structured result took 7.3 seconds in a single run, HTTP 200. The input mixed task text, budget and a phone number in free form. The output contained a “warm” priority, summary, CRM action and response draft. Single measured run on 2026-09-06.

What happens when something breaks

  • The model provider does not reply or returns invalid output — three retries with exponential delay, then the lead goes to the CRM unchanged, without enrichment, and is marked “needs review”. The lead is never lost; that is the main invariant.
  • The CRM is unavailable — the lead enters a queue and is replayed. The idempotency key prevents duplicates after recovery.
  • The model is uncertain — the confidence threshold routes the lead to a person. Automatic deletion or closing is not part of the system.
  • Silence is treated as failure — if no lead passes through during a 15-minute interval in business hours, an alert is sent. A silent automation is more dangerous than one that visibly fails.
  • Everything is logged: input, model response, branch decision and write result. The logs remain available to the system owner.

Access and data

The provider key and CRM token stay in n8n credentials, never in the workflow body. CRM access is limited to one object and create permission. Lead text is retained only for incident review, 30 days by default, and is then deleted. Personal data goes only to the system owner’s CRM and the model provider; this is agreed before work starts.

Results

Metric Before After Nature of the figure
Time to first reply 8–14 hours; up to two days at night and weekends Seconds measured: 7.3 s end to end
Manual work per lead 5–8 minutes 0 minutes for standard cases, 1–2 minutes for flagged cases calculated model
Manual work at 300 leads/month ~30 hours ~4 hours for flagged cases calculated model
Leads lost at night Some are lost; volume was not measured 0, all reach the CRM architecture property
Model cost per lead — Fractions of a cent to be measured in provider logs
Monthly value (AU reference) — ≈ USD 812 calculated model

How this was calculated

Manual work before  = 300 leads × 6.5 min ÷ 60      = 32.5 h/month
Manual work after   = 300 × 15% flagged × 1.5 min ÷ 60 ≈ 1.1 h/month
                      + 3 h/month sampled quality control
Time returned       ≈ 28 h/month
Australian admin cost ≈ AUD 45/h fully loaded (≈ USD 29/h)
Monthly value       ≈ 28 × USD 29 ≈ USD 812/month (≈ AUD 1,260)
Build payback       = USD 1,190 ÷ USD 812 ≈ 1.5 months
With maintenance    = USD 1,190 ÷ (USD 812 − USD 150) ≈ 1.8 months
Running costs       = model tokens + n8n hosting, about USD 5–10/month

Assumptions: 300 leads a month, 6.5 minutes of manual handling each, 15% routed to a person, an Australian admin coordinator at AUD 45/h including super and on-costs, 1 AUD = 0.65 USD. Swap in your own numbers; the model is linear.

I do not convert faster response into revenue because the result depends on the actual sales funnel. The likely direction and scale are covered by the HBR and MIT / InsideSales research linked above.

What did not work on the first attempt

  1. The first version filtered spam with one model and no confidence threshold. It removed real leads written briefly or in mixed languages. A confidence threshold and manual-review folder replaced it; the system never discards a lead by itself.
  2. A retried webhook created a second CRM deal. The fix is an idempotency key based on source and timestamp, rather than an email-only lookup because one person can submit several requests.
  3. The model confidently invented a budget when none appeared in the text. The output schema now uses explicit null and the instruction forbids guessing.

Timeline and cost

Day Work Deliverable
1 Process review, field and priority scheme, acceptance criterion Process map and agreed data schema
2 Intake and normalization for three channels Working input and test runs
3 Qualification, structured output and confidence threshold Workflow on real leads
4 CRM, notifications, errors, retries and alerts Complete failure-aware flow
5 Run on the live flow, documentation and video walkthrough System, access and documentation in the owner’s account

Price: One working workflow, from USD 1,190 (fixed scope, 5 working days). Optional maintenance: USD 150/month. Running costs: about USD 5–10/month. These are stated offer figures, not measured savings.

External validation

Try it

Try the automation demo

Do you have a similar process?

Describe it in a message and within 48 hours I will tell you what is worth automating.

Describe the process