Skip to content
WitsCode
Non-Tech Founders

Lead Routing at Form Submit: Scoring and Assigning an Inbound Lead in Under a Second

Every page ranking for lead routing runs scoring asynchronously, and none of them publishes a latency figure. Here is the millisecond budget for a form handler, what async routing costs you, which...

Non-Tech Founders15 min read

You can score an inbound lead and assign it to an owner before the thank you page renders. The budget is about one second end to end, and a typed decision model answers in 70 to 500 milliseconds on the vendor's published figures.1 That fits. Almost nobody does it, because scoring got pushed into a background job years ago and never came back.

We went looking for the number. Not one page ranking for lead routing, automated lead routing or lead routing rules publishes a latency figure for scoring at form submit. Routing content measures speed to lead in hours. The milliseconds inside the form handler, where the decision gets made or deferred, are missing from the topic.

This post is about those milliseconds. For the pipeline itself, read how to build an automated lead scoring model without buying a platform. For what to score and why, read the lead scoring guide that ends with a build. If you have never seen a typed decision model, start with Jev explained in plain English.

The short version

  • A form handler can afford about one second, network included. One second is the classic limit for keeping a user's flow of thought uninterrupted.2
  • Scoring went async because an LLM call is too slow for that budget. A multi-second round trip means a visitor staring at a spinner, so everyone moved scoring to a queue.
  • Async is invisible and it costs you the inline decision. By the time the score exists, the visitor has closed the tab and the lead is in a queue behind a vendor pitch.
  • Deterministic rules stay deterministic. Territory, language, existing customer and named account are lookups, not judgments. Never send those to a model. What belongs in the request is the judgment: urgency, service line, real project versus pitch, seniority signals in free text.
  • Design the failure first. Hard timeout, default route, never a blocked submit. The lead gets captured even when every judgment fails.
  • Route on confidence bands. Auto-assign above a line, shared queue in the middle, never silently discard.
  • The speed to lead evidence is strong and old. Oldroyd 2007 and the 2011 Harvard Business Review audit hold up.34 The two statistics everyone quotes on top of them do not exist.

Why is lead scoring almost always asynchronous?

Because of one architectural fact nobody writes down. A form handler is a synchronous request, and everything inside it is time the visitor spends looking at a button that has gone gray. Validation is cheap. A database write is cheap. A call to a large language model to read the free text field and judge what the lead is worth is not. A third party comparison published at the Jev launch put frontier model latency at roughly 3 to 329 seconds depending on the task.5

So the pattern became: capture the form, write the row, return a 200, hand the lead to a queue. Enrichment runs, scoring runs, a workflow assigns an owner, and somewhere between thirty seconds and the next morning the lead has a score.

That was the right tradeoff given the tools. It was never stated as a decision, it got baked into every routing tutorial as the way routing works, and the cost stayed invisible.

What async routing actually costs you

Three things, and they compound.

The decision is made after the moment of intent. At submit time the visitor is present, attentive, and has just told you what they want. That is the only moment a routed response can land inside the same session. A score that arrives forty seconds later arrives at a person who is gone.

Round robin fills in for judgment. When no score exists at assignment time you still need a rule, and the rule that requires no information is round robin. Round robin lead assignment is not a strategy. It is what you use when you have no signal, dressed up as fairness, and every routing vendor sells it as a feature.

The good lead waits in the same queue as the vendor pitch. A queue is first in, first out unless something reorders it, and without an inline score there is nothing to reorder it with. A founder with a real budget and a deadline sits behind three outreach emails and a student survey. Average first response to an inbound web lead was 42 hours in the largest audit anyone has published.4

Vertical comparison of asynchronous and inline lead routing, showing the async path capturing the form, returning a generic thank you, queueing the lead, running enrichment and scoring later, and assigning by round robin after the visitor has gone, against the inline path where validation, a bot check, a typed scoring call and the routing decision all complete inside the same request and the thank you page names the owner and the next step
The same lead, two architectures. The difference is not speed of response. It is whether the decision happens while the visitor is still there.

What can a form handler actually afford?

Write the budget out. This is the part missing from every page on this topic.

The ceiling is about one second. Below 100 milliseconds a response feels instantaneous, and up to a second the visitor keeps their flow of thought even though they notice the delay.2 One second total, network included.

Network round trip: budget 100ms. The visitor's connection to your edge and back. You do not control it, you only measure it, and on mobile it is worse.

Parse and validate: budget 5ms. Shape checks, required fields, email format. No network.

Bot check: budget 80ms. One server side verification call to your challenge provider. It is not a judgment call, so it runs before you spend anything on scoring.

The scoring call: budget 500ms. TypeSafe publishes 70 to 500 milliseconds end to end for Jev.1 That figure is vendor published, not measured by us. Measure your own, and budget the ceiling rather than the floor.

The routing decision: budget 5ms. Deterministic lookups plus the threshold branch. Your code reading a table and comparing numbers.

That is 690 milliseconds worst case, and a typical run lands well below it. Notice what is missing.

The CRM write and the notification are not in the budget. They run after you respond, in whatever your platform calls a post response task. The routing decision is already made, so nothing waits on them. Putting a CRM API call in the critical path is the most common way a fast handler becomes a slow one, because your CRM's latency becomes your form's.

Vertical latency budget for a lead form handler, listing network round trip at 100 milliseconds, parse and validate at 5 milliseconds, bot check at 80 milliseconds, the typed scoring call at a vendor published ceiling of 500 milliseconds and the routing decision at 5 milliseconds for a total of 690 milliseconds inside the request, followed by the CRM write and the notification running after the response outside the budget, against a one second ceiling for keeping the visitor's flow of thought
A budget, not a benchmark. The 70 to 500 millisecond model figure is TypeSafe's published number. The rest are allowances you should measure in your own stack.

Which lead routing rules should never go to a model

Most of a routing decision is not a judgment. It is a lookup, and lookups belong in code where they are testable, auditable and free.

Territory. Country or state maps to an owner through a table you maintain. A model guessing at territory is a bug you cannot reproduce.

Language. If the form came in Spanish it routes to whoever handles Spanish. A field, not an inference.

Existing customer. A domain match against your customer table. Most companies get this wrong and it is expensive, because a customer filling in a contact form is not a lead and a sales sequence annoys someone who already pays you.

Named account. Your target account list is a list. Match the domain against it.

These four run before the model and some short circuit it entirely. If the domain matches a customer you do not need a score, you need the account owner. If you could write the rule down as a table and hand it to a new hire, it belongs in code.

What judgment can now run inside the request

What you cannot put in a table is the free text box. The "tell us about your project" field is where the intent lives, and it is why rules based routing has always been thin. Four typed questions cover most of it.

How urgent is this? A position on a scale you define. "We launch in three weeks" and "exploring options for next year" are different routes even when everything else matches.

Which service line is this? One option from your list. Keep the list short and include an "unclear" option, because forcing a choice on ambiguous text produces confident nonsense.

Real project or pitch? A yes or no with a probability. Most inbound to a services business is outbound in disguise, and this question removes more noise than any rule you will write.

Any seniority signals in the text? A founder writing about their own budget reads differently from an intern collecting quotes. A signal, not a verdict, so it belongs in the score and not in a hard rule.

Ask them separately and compose the result in code. One big question for one big score is the common mistake, and decomposition measurably outperforms it. Your application owns the thresholds, the retries and the side effects.

What happens when the scoring call times out?

Nobody writes about this, and it decides whether inline routing survives production. The answer is a hard timeout with a default route, and never a blocked submit.

Set the timeout below your budget, not at it. If the scoring call gets 500 milliseconds, set the client timeout at 600 and treat anything slower as a failure. Do not retry inside the request. A retry doubles your worst case.

On timeout the handler does what it would have done before you had a model. The lead is captured, written and assigned to the default route, flagged with a reason code that says the score is missing rather than low. The visitor sees the same confirmation, and outside the request you can score it and upgrade the routing. Async is a fine fallback. It is a bad default.

The rule to hold onto: the lead must be captured even if every judgment fails. A failed validation blocks a submit. A failed bot check blocks a submit. A slow scoring model never does, because losing a real lead is expensive and misrouting one costs a few minutes.

One more failure to design for. If the CRM write fails after you have responded, you need a durable queue and an alert. The visitor has seen a confirmation, so silently losing that record is the worst outcome in the system.

How should confidence thresholds drive routing?

A score is not a number to sort by. It is a probability, and a probability lets you write a real policy with three bands instead of one cutoff.

Above the auto line: assign and respond. High confidence, clear service line, real project. The lead goes to a named owner, the notification fires with the reason attached, and the thank you page says what happens next. This is where inline routing pays for itself, because you can offer a booking link for the right person instead of a generic "we will be in touch."

The middle band: shared queue, visible to a human. Below the auto line, above the floor. Every other page on this topic pretends this band does not exist. Send it to a shared queue with the model's uncertainty attached, so whoever picks it up knows why it is there. A person resolves in fifteen seconds what the model could not resolve at all.

Below the floor: still captured, still assigned, lower priority. Never silently discard. A low score is a statement about a text field, and text fields lie in both directions. The terse three word inquiry is sometimes the biggest project of the quarter. Deprioritize, do not delete.

Where the two lines go depends on how much human attention you have. Set the auto line so that band is small enough to trust and large enough to matter, then check it monthly against what closed.

Try it

Where would you draw the line?

4,000 judgments, each returned with a confidence. Move the two lines and watch how much work gets done without you, and what it costs you in wrong calls.

2,679

acted on automatically

67 percent of the run, with about 160 expected to be wrong.

1,104

queued for a human

28 percent of the run. This is the pile that decides whether the whole thing saves you time.

222

left alone

Too uncertain to be worth anyone's attention this round.

The lesson is in the second box. Push the accept line high enough to make the error count comfortable and the review queue grows until a person is doing the job again. The threshold is a business decision about how much a wrong call costs you, and it belongs in your code, not in the model.

Calibrated confidence is the whole reason this works, and calibration is a vendor claim until you have checked it against your own closed won data. Check it.

What the speed to lead evidence actually says

The case rests on speed to lead, so the evidence had better be real. Here is what survives a source check.

Oldroyd 2007. The Lead Response Management study, run by Dr James Oldroyd with MIT Sloan and InsideSales, covered three years of data, six companies, more than 15,000 leads and over 100,000 call attempts. Contacting a web lead within five minutes rather than thirty raised the odds of contact by 100 times and the odds of qualifying by 21 times.3 Contact odds, not revenue. Anyone quoting it as a revenue multiple is quoting it wrong.

Harvard Business Review, March 2011. Oldroyd, McElheran and Elkington audited 2,241 US companies with test web leads. Average first response was 42 hours, 23 percent never responded at all, and firms responding within an hour were about seven times more likely to qualify the lead.4 It is the strongest citation here, and fifteen years old, which tells you how little has changed.

Drift, 2017. Of 433 B2B SaaS companies tested with real form submissions, 7 percent responded within five minutes.6 The report is widely misdated to 2021.

XANT, 2021. The largest recent sample, 5.7 million leads across 400 companies. Conversion 8 times higher inside five minutes than after six, and 77 percent of leads got no response at all.7

Velocify, 2013. Around 3.5 million leads across 400 companies. Half of all leads never get a second call attempt.8 Vendor published, but the method and sample are stated.

Four samples across eighteen years agree. Fast response wins, most companies are not fast, and most stop after one attempt.

The two numbers everybody quotes that have no source

Two statistics dominate this topic. We went looking for both and could not find either.

The first is "78 percent of buyers purchase from the first responder," attributed to a survey by a company called Lead Connect. There is no published report. No methodology, no sample size, no date. The citation chain is blog posts citing blog posts citing a sentence.

The second is "48 percent of salespeople never make a single follow up attempt," attributed to the National Sales Executive Association. We could not establish that the organization exists. No site, no registration, no publications, no members anyone can name. For a real number making the same point, Velocify found half of leads never get a second call, from a stated sample of about 3.5 million.8

We are not naming these to score a point. Both get used to justify buying software, and a decision made on a number that does not exist is a decision made on nothing. The same discipline applies to every vendor figure here, including the latency numbers behind the budget above. The single AI engine behind a 2026 lead stack is worth building on numbers that survive a source check.

The honest limit

Sub-second routing only matters if someone is there to act on it.

You can assign a lead in 690 milliseconds, fire the notification before the visitor has read the confirmation, and put a booking link in front of the right person. If nobody opens that notification for six hours, you have built a fast path into an empty inbox. The architecture does not create attention. It removes the delay that was hiding the lack of it.

So answer the boring question first. When a qualified lead lands at 4pm on a Thursday, who responds, in what, and inside what window? If the answer is "whoever sees it," fix that before you touch the handler.

Then build the fast path, because when the answer is a real person with a real window, a decision made in the request instead of in a queue is the difference between catching someone and calling them back. That is the work we do in lead generation and marketing automation.

Frequently asked questions

What is lead routing?

Lead routing assigns an inbound lead to the right owner or queue automatically, based on rules and signals. Rules cover what you can look up: territory, language, account ownership. Signals cover what you have to judge: urgency, and what the lead is actually asking for.

How fast can you score and route a lead at form submit?

Inside about 700 milliseconds: 100ms for the network, 5ms to validate, 80ms for a bot check, up to 500ms for a typed scoring call, 5ms for the routing decision. The 70 to 500 millisecond model figure is TypeSafe's published number, not one we measured. The CRM write and notification run after the response, outside that budget.

What is round robin lead assignment and when should you use it?

Round robin assigns each new lead to the next owner in rotation. It requires no information about the lead, which is both its appeal and its problem. Use it for leads that are genuinely equivalent, or as a tiebreaker inside a band. Do not use it as primary routing logic. It is what you fall back on when the score is not there yet.

What should happen if the scoring call times out?

The lead is captured and assigned to a default route, flagged with a reason code that distinguishes a missing score from a low one. Set a hard timeout below your budget, do not retry inside the request, and never block the submit. Score it asynchronously afterwards and upgrade the routing.

What do you do with leads the model is not confident about?

Send them to a shared queue with the uncertainty attached, so a human resolves in seconds what the model could not resolve at all. Use three bands: auto-assign above your confidence line, shared queue in the middle, lower priority below the floor. Never discard a lead because it scored badly, since short or oddly worded inquiries score low and close anyway.

Is the "78 percent buy from the first responder" statistic real?

We could not find a source for it. It is attributed to a Lead Connect survey with no published report, no stated method and no sample size. The same applies to the claim that 48 percent of salespeople never follow up, attributed to a National Sales Executive Association that cannot be shown to exist. Use Oldroyd 2007, the 2011 Harvard Business Review audit, Drift 2017, XANT 2021 and Velocify 2013 instead.

How fast should you respond to an inbound lead?

Inside five minutes, on the strongest available evidence. Oldroyd's 2007 study found contact odds 100 times higher at five minutes than at thirty, and XANT's 2021 audit of 5.7 million leads found conversion 8 times higher inside five minutes than after six. The same research shows most companies take hours or never respond, which is why the bar is low and the advantage is real.

Sources
  1. TypeSafe AI, "Introducing Jev," launch documentation, 15 September 2026. Latency and pricing figures are vendor published. typesafe.ai
  2. Jakob Nielsen, "Response Times: The 3 Important Limits," Nielsen Norman Group, 1 January 1993, after Miller 1968 and Card et al. 1991. nngroup.com
  3. James B. Oldroyd, Lead Response Management study, MIT Sloan with InsideSales.com, 2007. Three years of data, six companies, 15,000+ leads, 100,000+ call attempts. leadresponsemanagement.org
  4. James B. Oldroyd, Kristina McElheran and David Elkington, "The Short Life of Online Sales Leads," Harvard Business Review 89, no. 3, March 2011. Audit of 2,241 US companies. hbr.org
  5. TrueFoundry, analysis of Jev against frontier model pricing and latency, September 2026. Third party comparison. truefoundry.com
  6. Drift, "Lead Response Report," 2017. 433 B2B SaaS companies tested with real form submissions. drift.com
  7. XANT (formerly InsideSales.com), "Lead Response Management 2021." 5.7 million leads across 400+ companies. insidesales.com
  8. Velocify, "The Ultimate Contact Strategy," 2013. Approximately 3.5 million leads across 400+ companies. Study PDF hosted on Salesforce AppExchange. appexchange.salesforce.com

Vendor latency figures are labeled as vendor claims throughout and were not measured by us. Speed to lead figures were checked against their original studies on 21 September 2026. Two widely repeated statistics were cut for lack of a source, and named above rather than quietly omitted.

Written by

Sudhakaran, Head of Technology

15 min read

Lead capture and routing

Leads sitting in an inbox?

Tell us how enquiries reach you today. We wire scoring and routing into the form itself, so the good ones reach a human while the visitor is still on the page.

  • Scoring and routing at form submit, not overnight
  • Confidence thresholds so nothing is auto-binned silently
  • Scoped estimate within 48 hours
Get my lead routing plan

Want to discuss non-tech founders for your business?

Start a project and we'll talk through where you are, what's working, and the highest-leverage moves for the next 90 days.