skills/sales-lead-routing/SKILL.md
Designs and implement lead routing and assignment rules — round-robin, territory-based, score-based, and account-based models. Use when leads going to the wrong reps, response time too slow, reps arguing over territory ownership, lead queue backing up, or routing rules breaking as the team grows. Do NOT use for lead scoring model design (use /sales-lead-score), CRM platform configuration (use /sales-apollo or /sales-salesloft), or marketing-to-sales handoff process (use /revops).
npx skillsauth add sales-skills/sales sales-lead-routingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help the user design and implement lead routing — from choosing a routing model and defining assignment rules through platform implementation, speed-to-lead optimization, and capacity management. This skill is tool-agnostic and covers Salesforce, HubSpot, Salesloft, Apollo, and standalone routing tools.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What's your team structure?
Where do leads come from?
How are leads routed today?
What tools do you use?
What's your lead volume? (weekly or monthly inbound leads, rough estimate)
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
Choose the right routing model based on team structure and lead characteristics.
| Model | Best for | Team size | Complexity | Speed-to-lead | |-------|----------|-----------|------------|----------------| | Round-robin | Equal distribution, generalist teams | Any | Low | Fast | | Territory-based | Geographic or named-account specialization | 4+ reps | Medium | Fast | | Score-based | Matching lead quality to rep skill | 6+ reps | High | Medium | | Account-based | Named accounts with assigned owners | Any with ABM | Medium | Fast (if owner exists) | | Hybrid | Complex orgs with multiple segments | 10+ reps | High | Varies |
/sales-lead-score), tiered rep experienceBuild routing rules as a priority waterfall — the first matching rule wins:
| Priority | Rule | Example | |----------|------|---------| | 1 | Existing account match | Lead's company matches an owned account → route to account owner | | 2 | Named account list | Company on target account list → route to assigned AE | | 3 | Score threshold | Score ≥ 80 → route to senior AE pool | | 4 | Territory match | Geography/segment matches territory → route to territory owner | | 5 | Round-robin fallback | No other rule matched → round-robin across available reps |
Speed-to-lead is the most important metric in routing. Response time directly impacts conversion:
| Response time | Conversion impact | |---------------|-------------------| | < 5 minutes | 8x more likely to qualify vs 30 min | | 5-30 minutes | Baseline | | 30-60 minutes | 50% drop in qualification rate | | > 1 hour | 80%+ drop | | > 24 hours | Essentially dead — better to re-nurture |
SLA recommendations by lead type:
What happens when the assigned rep can't respond in time:
| Scenario | Fallback | |----------|----------| | Rep doesn't respond within SLA | Escalate to manager + reassign to next available | | Rep is OOO | Skip in rotation, assign to backup | | Territory owner at capacity | Overflow to adjacent territory or SDR pool | | No account owner exists | Fall through to round-robin |
| Metric | Target | What it tells you | |--------|--------|-------------------| | Speed-to-lead | < 5 min (inbound demo), < 1 hr (other) | Are reps responding fast enough? | | Lead acceptance rate | > 80% | Are reps accepting or rejecting assigned leads? Low acceptance = bad targeting or routing | | Conversion by route | Compare across models | Which routing path converts best? Identifies if certain territories or tiers underperform | | Capacity utilization | 70-90% per rep | Are reps overloaded or underutilized? Adjust weights or territories | | Cherry-picking rate | < 10% | Are reps ignoring low-score leads? May need to enforce SLAs or adjust scoring |
Don't route without enrichment. If leads arrive with just an email (e.g., from a form), enrich with company data before routing. Without company/title data, territory and score-based routing can't work. Use /sales-enrich to fill in gaps before routing.
Don't ignore speed-to-lead. A perfect routing model with slow response is worse than a simple round-robin with fast response. If you can only optimize one thing, optimize speed-to-lead. The data is clear: 5 minutes vs 30 minutes is an 8x difference in qualification.
Don't overcomplicate before simple works. Start with round-robin. Only add territory or score-based routing when you have data showing it improves conversion. Complexity increases maintenance burden and failure modes.
Self-improving: If you discover something not covered here, append it to references/learnings.md with today's date.
/sales-qualified — Qualified platform help (Salesforce-native real-time lead routing from website chat)/sales-lead-score — Design the scoring model that feeds score-based routing/sales-enrich — Enrich leads with company/title data needed for routing rules/sales-prospect-list — Build prospect lists with pre-segmented territories/revops — Design the broader marketing-to-sales handoff process/sales-cadence — Design cadences for different route segments/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill.User says: "I have 8 SDRs and about 200 inbound leads per week. How should I route them?" Skill does:
User says: "I need territory routing for 4 AEs: NA West, NA East, EMEA, and APAC." Skill does:
User says: "I want to route high-score leads to senior reps and low-score leads to SDRs. We use HubSpot." Skill does:
Symptom: Leads assigned but not contacted within SLA Cause: Rep overload, no SLA enforcement, or leads assigned during off-hours Solution: Add escalation rules — if no activity within SLA, reassign to next available. Implement capacity caps per rep. Route based on business hours/timezone.
Symptom: Some reps have 3x the leads of others Cause: Territory imbalance, weighted round-robin misconfigured, or account-matching sending too many leads to one owner Solution: Audit territory volumes monthly. Adjust weights to normalize. Add capacity caps to prevent any single rep from getting more than X leads/day.
Symptom: Multiple reps claiming the same lead or account Cause: No account-matching step in routing, or duplicate accounts in CRM Solution: Add account-matching as the first step in routing waterfall. Deduplicate accounts in CRM. Establish clear rules: account owner always wins for existing accounts.
tools
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referral programs, with REST API (app.upviral.com/api/v1/), callback-URL webhooks, PHP SDK, fraud detection (IP-based suspicious-referral flagging), A/B testing, smart leaderboards, unlockable incentives, and 30+ native ESP/CRM integrations (Mailchimp, ActiveCampaign, ConvertKit, AWeber, HubSpot, Klaviyo, Intercom) plus Zapier/Make/Pipedream/Integrately/Pabbly. Use when UpViral campaigns aren't tracking referral points correctly, deciding between Starter $79/mo annual (10K leads, 1 brand, NO API) vs Business $119/mo (25K, 2 brands, API + webhooks unlocked) vs Premium $319/mo (100K, 5 brands, dedicated account manager), the API returns errors because you're on the Starter tier where API/webhooks are gated, building an UpViral→CRM or UpViral→data-warehouse pipeline with add_contact / get_leads / get_leads_points / add_points / get_custom_fields / lists methods (uvapikey + uvmethod form-encoded POST), interpreting fraud flags where same-IP referrals get marked suspicious and you must manually activate/delete/blacklist, setting up the Callback URL (webhook) to fire on reward-unlock events, Zapier New Lead / New Reward Unlocked triggers not firing, ClickFunnels/Shopify/funnel-builder integration breaking, the drag-and-drop page builder showing broken widgets or limited customization, the setup feeling long and complicated for your first campaign, or picking UpViral over Viral Loops / KickoffLabs / Vyper / Prefinery / Gleam / KingSumo / ShortStack for a viral campaign. Do NOT use for general newsletter audience growth strategy across all platforms (use /sales-audience-growth), newsletter monetization (use /sales-newsletter), KickoffLabs-specific help (use /sales-kickofflabs), no-code merge-tag newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or full-stack multi-level Level-1/2/3 referral/affiliate tracking (use /sales-referralhero).
development
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with subscriber API, webhooks, Zapier, Mailchimp/Kit/AWeber/Klaviyo/ActiveCampaign/SendLane connectors, coupon codes, multi-level referral tracking (Level 1/2/3), anti-fraud, and 5,000 calls/hour rate limit. Use when ReferralHero campaigns aren't tracking referrals correctly, deciding between PRO $199/mo (10K members, includes API + webhooks) and PREMIUM $399/mo (50K members, adds ReCaptcha + SMS verification), authentication is failing with no_token or X-API-Key header is being ignored, multi-level referral counts (Level 2/3) aren't appearing for downline subscribers, coupon group endpoints return 404 or coupon arrays max out, hitting the 5,000 calls/hour soft limit and getting too_many_calls 429s, the Mailchimp/Kit native integration is double-adding subscribers, webhook payloads aren't firing on confirmation events, importing Stripe customer IDs through transaction tracking, generating reward fulfillment when subscribers cross milestone thresholds (promote/unlock_promoted_reward), comparing ReferralHero against SparkLoop/ReferralKit/Viral Loops/GrowSurf/KickoffLabs for referral marketing, or routing referral data via add_bulk_transactions (500-transaction batch limit). Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code newsletter-only referral with merge-tag insertion (use /sales-referralkit), SparkLoop's paid recommendations or partner network (use /sales-sparkloop), or affiliate program strategy across many platforms (use /sales-affiliate-program).
tools
KickoffLabs platform help — viral marketing platform for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, leaderboard giveaways, and email opt-in bribes with REST API v1 + v2, server-side webhooks (in/out), KOL.js JavaScript library, AnyForm script for custom pages, fraud detection (duplicate_ip / bounced / duplidate_email flags), SMS verification add-on, native ESP integrations (Klaviyo, Mailchimp, ActiveCampaign, Brevo), website builders (Webflow, Wix, Squarespace, Weebly), Shopify, Facebook Audiences, Slack, Zapier. Use when KickoffLabs viral campaigns aren't tracking referrals correctly, deciding between Hobby $13/mo annual (500 leads/mo no A/B no reward emails) vs Premium $48/mo (2.5K + A/B + reward emails + tracking pixels) vs Business $99/mo (10K + custom email templates + custom domains + advanced reporting + 3 team) vs Enterprise $202/mo (25K + 5 team + SMS included), API key getting rejected because you embedded it in client-side JavaScript instead of server-side, can't decide whether to use v1 /subscribe vs v2 /tags/:TAG_ID/lead for lead creation, webhook payloads firing with `__fraudulent` flag and you need to interpret the duplicate_ip/bounced/duplidate_email reason codes (yes, duplidate is spelled that way in their docs), AnyForm script not posting to KickoffLabs vs native API endpoint, leaderboard endpoint returning more than 50 leads is not allowed, social_id (kid in share URLs) attribution chain breaking between v1 and v2, contest score vs lead count metrics in the webhook payload are confusing, SMS Verification only available on Premium+ as $50/mo add-on (Enterprise includes), per-month lead cap auto-upgrades at $8 per 1000 overage leads, picking between KickoffLabs and Viral Loops / UpViral / Prefinery / ReferralCandy / Voucherify for viral campaign type fit, or rate limit per tier (10-100 calls/minute) is hitting on bulk imports. Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code merge-tag-only newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations + partner network (use /sales-sparkloop), or full-stack referral/affiliate with multi-level Level-1/2/3 tracking (use /sales-referralhero).
development
Routes any sales, marketing, ad, or GTM objective to the right specialized skill and outputs the install command for that skill plus a ready-to-paste prompt packed with the user's context. Asks clarifying questions when the objective is ambiguous, then hands back a copy-paste-runnable next step. Covers prospecting, outbound cadences, deals, proposals, forecasting, deliverability, enrichment, intent, content, coaching, CRO, SEO, launch directories, newsletters, email/SMS/push marketing, chatbots, influencer marketing, social media, employee advocacy, media relations, reviews, data hygiene, B2B advertising, retargeting, affiliate, loyalty, digital products, memberships, webinars, checkout, and platform-specific help. Use when the user has a sales or marketing question and isn't sure which skill to use, or wants a multi-skill sequence with a batch install command. Do NOT use to solve problems directly — this skill only routes.