Sales

How to route inbound leads with AI

The short answer

To route inbound leads with AI, match each new lead to any existing account first, use an LLM to classify the free-text message by intent and product line, then apply territory, segment and round-robin rules in code to assign an owner in the CRM. Notify the rep instantly and escalate automatically if nobody touches the lead within your response-time target.

What this automation does

A new inquiry arrives, and within seconds it belongs to the right person, or the right non-sales queue, with a clock running.

  1. Capture. A form submission, chat transcript, or email to a sales inbox triggers the workflow.
  2. Match existing records. Look up the email and company domain. If the company is already a customer or has an open deal, route to the existing owner and stop.
  3. Classify the message. The model reads the free text and returns intent (new business, existing customer support, partnership, vendor pitch, job seeker, spam), product line, and urgency, with a short reason.
  4. Apply rules. Code looks up the routing table: country or state to territory, employee count to segment, product line to specialist team. Within the matched team, a weighted round-robin picks the next available rep.
  5. Assign and notify. The CRM owner is set, and the rep gets a Slack or Teams message with the lead summary, the classification reason and a link.
  6. Escalate. If the lead has no logged activity within your target time, it is reassigned or escalated to a manager, and the miss is recorded.

When it is worth building

Build it when leads sit unassigned in a shared inbox, when the wrong rep gets leads often enough that reassignments are routine, or when non-sales inquiries clog reps’ queues. With one rep and one product, routing is not your problem; response time is, and the lead qualification agent may be the better project.

If every lead arrives through a form with clean dropdowns for region and product, your CRM’s native assignment rules or HubSpot’s rotation may be all you need. The AI step earns its place when the important information is in sentences, not fields.

Architecture

LayerWhat we useWhy
IntakeForm webhooks (Typeform, HubSpot forms, website forms), chat, sales inboxEvery channel lands in the same routing path
MatchingCRM search by email and domainExisting accounts must stay with their owner
ClassificationClaude Haiku 5.5 or a small OpenAI GPT modelFast and inexpensive for short messages; returns a fixed label set
RulesA routing table in Google Sheets or Postgres, read by a code stepSales ops can change territories without a developer
Round-robinA counter per team with availability and daily capsFair distribution that skips reps who are out
NotificationSlack or Microsoft TeamsReps see new leads where they already work
SLA timerScheduled check in n8nCatches leads that were assigned but not touched

How to build it

  1. Write down today’s routing logic. Interview whoever assigns leads now. Capture territories, segments, special accounts and every exception. Expect to find rules nobody wrote down.
  2. Define the label set. Keep intents and product lines to a short fixed list, with a description and two examples each. Add an “unclear” label so the model is not forced to guess.
  3. Build the routing table. One row per rule, with a priority order. Keep it in a sheet or table sales ops can edit, and validate it on load (no gaps, no overlaps).
  4. Add account matching first. Existing customers and open opportunities override everything else. Most misroutes come from skipping this step.
  5. Wait briefly for enrichment. If lead enrichment runs in parallel, wait for it with a short timeout, then route with whatever fields are available.
  6. Implement round-robin with availability. Keep a pointer per team, skip unavailable reps, and respect daily caps. Log every decision with the rule that matched.
  7. Turn on SLA escalation. Set a response-time target per lead tier and reassign or escalate on a miss.

The downloadable starter template below covers form intake, AI intent classification, a sheet-based routing table and HubSpot owner assignment with a Slack alert.

What breaks in production

  • Customers routed as new leads. A customer emails from a new colleague’s address and lands with a new-business rep. Domain matching against customer accounts fixes most of these.
  • Territory gaps. Leads from Puerto Rico, Canada or an unexpected country match no rule. Always have a default owner and alert sales ops when it is used.
  • Unfair round-robin. Reps who were out get no catch-up, or a rep gets three enterprise leads in a row. Decide whether to weight by segment and document the policy.
  • Duplicate submissions. The same person submits twice and gets two reps. Deduplicate within a short window before assigning.
  • Rule table edits that break routing. A typo in a state code sends a region to the default owner for a week. Validate the table on every load and alert on unknown values.
  • Overnight SLA noise. Leads arriving at midnight breach targets before anyone is awake. Measure SLAs in business hours, or route overnight leads to an after-hours path.

Timeline and cost

A single CRM with one intake channel and a routing table typically takes one to two weeks. Multiple channels, complex territory rules, or a mixed CRM setup take longer. Lumeor builds AI lead routing in the range of $3,000 to $9,000. Running costs are small: classification of short messages with a fast model costs very little per lead, plus workflow hosting. Our no-code vs custom-code comparison covers when a routing table outgrows a visual workflow.

How to measure success

  • Seconds from submission to owner assigned
  • Median time from assignment to first rep activity
  • Reassignment rate, as a proxy for misroutes
  • Share of non-sales inquiries diverted away from reps
  • Lead distribution per rep against the intended weights

Free starter template

Import a working n8n workflow that implements the core of this guide, then adapt it to your systems.

Frequently asked questions

Why use AI for routing instead of plain assignment rules?

Plain rules work well on clean fields like state or company size. They fail on the free-text message, which is where a lead says it is actually a support issue, a partnership pitch, a job application or a request for a specific product line. AI reads that text and turns it into a field the rules can use.

Does the AI decide which rep gets the lead?

No. The model only classifies intent, product line and urgency. Territory, segment, round-robin and capacity rules are applied in code from a table your sales ops lead maintains, so every assignment can be explained and changed without touching a prompt.

What happens to inquiries that are not sales leads?

They are diverted before they reach a rep. Support requests from existing customers go to the support queue, vendor pitches and job seekers get a polite automated reply or go to the right inbox, and obvious spam is discarded and logged.

Can it handle reps who are out of office?

Yes. The round-robin step checks each rep's availability from a simple status table or their calendar and skips anyone out, so leads do not sit with someone on vacation. Capacity limits can also cap how many new leads one rep gets per day.

Should I use LeanData or Chili Piper instead?

If you run Salesforce with complex account matching and hierarchies, a dedicated routing product like LeanData is mature and worth evaluating. Chili Piper is strong when routing is tied to instant meeting booking. A custom workflow is a better fit for HubSpot or Pipedrive teams, mixed systems, or when the hard part is understanding free-text inquiries.

Next steps