Loading tutorials…
Loading tutorials…
Lead routing is where most Salesforce orgs leak revenue silently. A Lead lands at 2 PM, sits unassigned until Wednesday, and the prospect has booked a call with your competitor by Thursday. Here is the routing discipline that turns leads into meetings within 5 minutes.
Who this is forRevOps owners, sales managers, and founders running inbound + outbound motions with multiple SDRs or AEs. If you have ever asked 'why did this lead sit for 4 days?' or 'who owns this geo?' this tutorial is for you.
What you'll need
Step 1
Routing without a documented ownership model creates conflict. Decide: geo? industry? deal size? round-robin? hybrid? Document before configuring.
Sketch the routing logic on paper or in a Google Doc first. Who owns: US-East SaaS leads? US-West Enterprise leads? Marketing-sourced demo requests? Outbound-sourced cold leads?
Common B2B SaaS pattern: Round-robin among SDRs for inbound MQLs, with geo override (East coast SDRs only get East coast leads). AEs get only SQLs that SDRs hand off via Lead Conversion.
Common Enterprise pattern: AEs own named accounts. Inbound from a named account goes to the AE for that account (Account-based routing via LeanData or similar). Unnamed-account inbound goes to an SDR round-robin.
Document every owner / queue / fallback in a one-page Routing Map. Future-you and every new admin needs this reference. Without it, routing decays in 6 months.
Define the SLA: 'New MQL must be touched within 5 minutes during business hours; 30 minutes off-hours; never longer than 4 hours.' Routing only matters if SLAs are enforced.
Step 2
Setup → Users → Queues → New Queue. Queues are shared inboxes — multiple users can pull leads from them.
Setup → Quick Find → "Queues" → New Queue.
Name the queue for its purpose: "Inbound MQL Queue — US East," "Outbound Cold Queue," "Named Account Queue — Acme," "Unassigned — Needs Review."
Set Supported Objects: Lead (and optionally Case for support routing).
Set Queue Members: add the SDRs / AEs who can claim leads from this queue. You can add Users, Roles, Public Groups, or Partner Users.
Set 'Queue Email' to a shared inbox if you want queue notifications to land somewhere monitored (sdr-team@yourco.com). Otherwise, individual queue members get notified.
Create one queue per real routing destination. Common count: 4-8 queues for a 20-person sales org. Avoid 1 queue per rep — that defeats the purpose.
Step 3
Setup → Sales → Lead Assignment Rules. Only ONE rule can be active at a time, but each rule has many entries with priority order.
Setup → Feature Settings → Marketing → Lead Assignment Rules → New Rule. Name it "Primary Lead Routing 2026."
Click into the rule → New Rule Entry. Each entry is one routing decision. Set Order (1 = highest priority, evaluated first).
Entry 1 (Named Account inbound): Criteria = Lead.Email contains @namedaccount.com OR Account ID matches a named-account list → Assign To: Specific User (the AE who owns that account).
Entry 2 (US East MQL): Criteria = Lead Source = "Inbound Form" AND Country = USA AND State IN ("NY","NJ","MA",etc.) → Assign To: Queue "Inbound MQL Queue — US East."
Entry 3 (Outbound Cold): Criteria = Lead Source = "Outbound" → Assign To: Queue "Outbound Cold Queue."
Entry 4 (Catchall): Criteria = (any) → Assign To: Queue "Unassigned — Needs Review."
Activate the rule. Only one Lead Assignment Rule can be Active at a time across the org. Existing leads do not get re-routed — only new leads going forward.
Step 4
Salesforce does not ship native round-robin. Build it with a Flow + a Custom Setting that tracks the last-assigned rep index.
Native Salesforce Lead Assignment Rules assign to specific users, queues, or based on criteria — but not 'next rep in rotation.' For round-robin, you build it.
Option A — Native Flow + Custom Setting: Setup → Custom Settings → New → "Lead Round Robin Tracker" with a Number field "Last Index." In a Record-Triggered Flow on Lead creation, look up the Custom Setting, increment the index, look up the user at that index in a Custom Metadata Type list, assign the Lead.
Option B — AppExchange tool: LeanData, Distribution Engine, RingLead — purpose-built routing apps that handle round-robin, holidays, vacations, weighted distribution, account-based matching. Cost: $20-50/user/mo.
For under 5 SDRs, Option A is fine. For 5+ SDRs with vacation/holiday logic, Option B saves admin time.
Always include 'skip if user is out of office' logic. Without it, round-robin assigns to vacationing reps and leads sit untouched.
Step 5
Setup → Service Setup → Escalation Rules (works for Lead via custom Flow). Notify management when a lead sits untouched past the SLA.
Lead-level escalation is not native (escalation rules in Salesforce are Case-focused). Build via Time-Based Flow: a Schedule-Triggered Flow runs hourly, finds Leads where Status = "New" and CreatedDate > 1 hour ago, posts an alert to the SDR Manager and the original Lead Owner.
Setup → Flow → New Flow → Schedule-Triggered Flow. Schedule: every 1 hour. Object: Lead. Filter: Status = "New" AND CreatedDate > 1 hour ago.
Action: Send Email to Lead Owner + Lead Owner's Manager + sdr-manager@yourco.com. Subject: 'Lead SLA breach — [Lead Name] sitting unworked for [time].'
For severe breaches (4+ hours): auto-reassign to a backup queue. The original owner gets notified that the Lead was reassigned.
Visibility on SLA breaches drives behavior change. Reps know their manager sees the breach in real-time. Average lead-to-first-touch drops 60-80% within 30 days.
Step 6
Setup → Marketing → Web-to-Lead → Generate. Forms submit Leads directly into Salesforce. Critical: enable assignment rule on the form configuration.
Setup → Feature Settings → Marketing → Web-to-Lead → Create Web-to-Lead Form.
Pick fields to include on the form (typically Name, Email, Company, Phone, Lead Source). Set the Return URL (post-submit thank-you page).
Set "Include reCAPTCHA" to prevent spam. Salesforce ships free reCAPTCHA integration via Setup → Web-to-Lead.
Critical: when the form posts, the Lead Assignment Rule will fire automatically IF you set the hidden field "oid" = your Org ID AND include the parameter "&assignTo=true" or trigger via the standard Web-to-Lead endpoint. Read Salesforce docs carefully — assignment is opt-in via configuration.
Test the form end-to-end: submit a test Lead, verify it lands in Salesforce, verify the Assignment Rule fired, verify the right SDR/queue got it.
For most modern teams: skip native Web-to-Lead. Use HubSpot, Marketo, or Pardot to capture form submissions, then sync into Salesforce — much better personalization, marketing automation, and routing logic upstream.
Step 7
Build a "Lead Routing Health" dashboard. Average time-to-assignment, time-to-first-touch, leads-in-queue, SLA breaches per queue.
Reports → New Report → Leads. Build: "Lead Time-to-Assignment" — measures CreatedDate to LastModifiedDate (proxy for first touch). Group by Lead Source and Owner.
Build: "Leads in Queue > 1 Hour" — Status = "New" AND CreatedDate > 1 hour ago. Group by Owner (queue name shows as the owner).
Build: "Lead Source Performance" — Group by Lead Source, summarize Conversion Rate (Leads Converted / Total Leads). Tells you which sources actually convert.
Dashboard: pin all three to a "Lead Routing Health" dashboard. Subscribe the VP Sales weekly.
In the weekly review: any queue with >5 stuck leads, any SDR with >10 unworked leads, any Lead Source with conversion rate below 5%. Fix the rule, retrain the rep, kill the source.
Common mistakes
Routing to specific Users instead of Queues
What goes wrong: You assign all US-East leads to Sarah (SDR). Sarah goes on vacation. 30 leads sit in her name for 2 weeks before anyone notices. Half have already bought from a competitor. Reports show a 30% revenue gap due to assignment dead-ends.
How to avoid: Route to Queues, not Users. Queues have multiple members. Sarah's vacation = other team members claim her queue's leads. Set "Out of Office" status on rep records and exclude from queue claim eligibility via a Flow.
No catchall entry on Lead Assignment Rule
What goes wrong: A new lead has an unexpected country (Belgium, not in any geo rule). It matches zero rule entries. Default assignment = the user who created it via API (the integration user). The lead is invisible. You only discover it when the prospect emails support 3 weeks later asking why nobody followed up.
How to avoid: Last entry on every Lead Assignment Rule: criteria = (none) → assign to "Unassigned — Needs Review" queue. Triage queue manually weekly.
Round-robin without skip-vacation logic
What goes wrong: SDR Mark is on vacation for 2 weeks. Round-robin keeps assigning him 1 of every 5 leads. Those 30 leads sit unworked. Other SDRs are at 100% utilization while Mark's queue piles up. By the time Mark returns, those leads are cold.
How to avoid: Add a "User.OutOfOffice__c" custom checkbox. In the round-robin Flow, skip users with OutOfOffice = TRUE. Set the field via a Schedule-Triggered Flow that reads HR vacation data, or manually before vacations.
No SLA escalation on stuck leads
What goes wrong: Lead sits in a queue for 6 hours. Nobody claims it. Nobody escalates. Sales Manager only notices in the Monday review meeting. By then the lead has been cold for 4 business days. Reports show a 30% revenue gap due to slow lead response.
How to avoid: Build a Schedule-Triggered Flow that runs hourly, finds Status = "New" + CreatedDate > 1 hour, emails the SDR Manager and the Lead Owner. After 4 hours, auto-reassign to a backup queue.
Building 12 separate Lead Assignment Rules expecting them all to fire
What goes wrong: Admin builds Rule 1 for US East, Rule 2 for US West, Rule 3 for International, etc. Activates them all. Only Rule 1 fires (Salesforce allows only one Active rule). 90% of leads route via the wrong rule. Reports show a 30% revenue gap from chaotic assignment.
How to avoid: ONE active Lead Assignment Rule per org. Within that rule, build multiple Rule Entries with priority order. Setup → Lead Assignment Rules → only one rule has the Active checkbox.
Letting Marketing automation overwrite assignment
What goes wrong: Lead routes to SDR-East per the rule. 24 hours later, a Marketing automation tool (Pardot, Marketo) re-syncs the Lead and overwrites the Owner with the integration user. Lead is now invisible. Average time-to-first-touch metric stays artificially low because the system shows no one assigned.
How to avoid: Configure the marketing automation sync to NOT update the Lead Owner field after creation. In Pardot: Connector Settings → Lead/Contact Owner sync → "Salesforce wins."
Recap
Done — what's next
How to set up Salesforce Leads, Contacts, and Opportunities without confusing your reps
Read the next tutorial
Hand it off
Lead routing is the single highest-leverage Salesforce work for inbound-heavy teams. 60-80% of conversion gains come from getting leads to the right rep in under 5 minutes. A specialist who has built routing for 30+ orgs knows the geo/industry/round-robin patterns and the AppExchange tools that fit your stack. EverestX Salesforce-capable specialists run $400-1,200/mo at $14-16/hr.
See specialist rates
No — Salesforce allows exactly one Active Lead Assignment Rule per org at a time. Within that rule, you have multiple Rule Entries with priority order. To 'switch' rules (e.g., for a different sales motion), deactivate the current rule and activate the new one. Most healthy orgs maintain one canonical Rule with all routing logic inside.
Under ~10 SDRs/AEs with straightforward geo/source routing: native Salesforce (Lead Assignment Rule + Queues + a Flow for round-robin) is fine. Over ~10 reps OR you need account-based routing, complex SLAs, vacation handling, or weighted distribution: LeanData / Distribution Engine / RingLead are worth the $20-50/user/mo. They handle edge cases that native routing cannot.
Industry benchmark: 5 minutes for inbound demo requests, 30 minutes for general MQLs. Studies (Harvard Business Review, Drift) show conversion rate drops 10x between 5 minutes and 30 minutes for high-intent inbound. Most healthy B2B teams aim for under 10 minutes 9-5 in primary geo, under 1 hour off-hours.
Add a Rule Entry early in the priority order: Criteria = Email Domain matches an existing Account's Website domain → Assign To: the AE who owns that Account. This requires Lead-to-Account Matching, native in Salesforce as 'Account Match Suggestions' or via LeanData. For complex ABM, LeanData is the standard.
Nothing — Lead Assignment Rules only fire on Lead creation or when 'Use Active Assignment Rule' is checked on save/edit. To re-route existing Leads: bulk update them via Data Loader with the 'Use Assignment Rule' setting on, or build a Schedule-Triggered Flow that re-routes Leads matching certain criteria. Plan re-routing carefully — sudden ownership changes confuse reps mid-conversation.
Salesforce
The Lead-Contact-Opportunity distinction is the single most-confused concept in Salesforce. Get it wrong and your reports double-count revenue, your reps work duplicate records, and Marketing keeps emailing people who already closed. Here is the discipline that holds up at scale.
Salesforce
Salesforce automation has had three eras: Workflow Rules, Process Builder, and now Flow Builder. As of 2026, Workflow Rules and Process Builder are being retired — Flow Builder is the only path forward. Most owners are still building Process Builders that will break in 12 months. Here is the discipline.
Salesforce
Salesforce data quality decays silently. Duplicates compound, validation gaps widen, sync drift accumulates. By the time leadership notices, reports are 30% wrong and rep adoption has tanked. Here is the systematic diagnosis + fix sequence.
Salesforce
DIY Salesforce admin is a great idea — until it is not. This is the honest framework: when the cost of self-managing exceeds the cost of hiring, and how to tell which side you are on.