Sales

Qualify and route a lead in the minutes that matter

Speed to lead is a solved problem that almost nobody has actually solved. A form post fires a webhook, the run enriches and scores it, and the right person hears about it before the prospect has closed the tab.

The median B2B inbound lead waits about 42 hours for a reply. Not because anyone decided to wait, but because qualifying it means a person opening three tabs, and that person is in a meeting.

21×

more likely to qualify a lead when contacted within 5 minutes than after 30.

MIT / InsideSales Lead Response Management study

The flow

What runs when the message arrives.

Every step below is a real node type on the canvas, and the log underneath is the execution it produces. A branch the run didn't take stays dark, same as it would in the console.

agents / lead-router6 steps
webhook
enrich
score
tier
crm.create
nurture
run_6b23d8lead-routercompleted · 0.94s
  1. 01agent.invokelead-router · webhookqueued
  2. 02tool.httpGET /enrich?domain=…200 · 186ms
  3. 03llm.callscores fit + intent421ms
  4. 04conditionscore >= 70 → true1ms
  5. 05tool.httpPOST /v1/leads201 · 132ms
  6. 06bucket.writelead-log · {inc(1)}9ms
  7. 07agent.returnrouted · enterprise0.94s

What it uses

What this leans on.

Triggered by what you already have

Your form, your site, your CRM's outbound webhook, anything that can POST. Queue it and the caller gets a 202 back in about a second.

Scoring you can inspect

The model produces the score and the routing is a CEL expression on an edge. When a lead goes the wrong way, the trace tells you which of the two got it wrong.

No model required for the routing half

If your criteria are firmographic, skip the model entirely and use the API Orchestrator. Same chaining and branching, nothing probabilistic in it.

Counters without races

`{inc(1)}` per source or campaign is atomic, so parallel submissions add up correctly.

What it meters

One execution per lead, plus one bucket write if you are counting them.