mcpbeat Sign in

Lead Routing Skill for Claude

Intelligent lead assignment and routing - AI-powered scoring, territory mapping, round-robin distribution, and workload balancing

3k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
353
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/claude-office-skills/skills --skill lead-routing

The instruction itself

13 sections, as written by the author

Lead Routing

Intelligent lead assignment and routing system with AI-powered scoring, territory mapping, round-robin distribution, and workload balancing. Based on n8n's HubSpot/Salesforce automation templates.

Overview

This skill covers:

  • Lead scoring and qualification
  • Territory-based routing
  • Round-robin distribution
  • Workload balancing
  • SLA monitoring and escalation

Routing Strategies

1. Rule-Based Routing

routing_rules:
  # By Company Size
  - name: "Enterprise Routing"
    condition:
      company_size: ">= 500"
      OR:
        annual_revenue: ">= $10M"
    assign_to: "Enterprise Team"
    priority: high
    sla: 1_hour
    
  - name: "Mid-Market Routing"
    condition:
      company_size: "100-499"
    assign_to: "Mid-Market Team"
    priority: medium
    sla: 4_hours
    
  - name: "SMB Routing"
    condition:
      company_size: "< 100"
    assign_to: "SMB Team"
    priority: standard
    sla: 24_hours

  # By Geography
  - name: "APAC Routing"
    condition:
      country: ["China", "Japan", "Singapore", "Australia"]
    assign_to: "APAC Team"
    timezone_aware: true
    
  - name: "EMEA Routing"
    condition:
      country: ["UK", "Germany", "France", "Netherlands"]
    assign_to: "EMEA Team"
    
  - name: "Americas Routing"
    condition:
      country: ["US", "Canada", "Brazil", "Mexico"]
    assign_to: "Americas Team"

  # By Industry
  - name: "Healthcare Specialist"
    condition:
      industry: ["Healthcare", "Pharmaceuticals", "Medical Devices"]
    assign_to: "Healthcare Sales"
    
  - name: "Finance Specialist"
    condition:
      industry: ["Banking", "Insurance", "FinTech"]
    assign_to: "Financial Services Sales"

2. Round-Robin Distribution

round_robin_config:
  team: "SMB Sales"
  members:
    - name: Alice
      capacity: 100%
      max_leads_per_day: 20
      
    - name: Bob
      capacity: 100%
      max_leads_per_day: 20
      
    - name: Carol
      capacity: 50%  # Part-time
      max_leads_per_day: 10
      
  rules:
    distribution: weighted  # or equal
    skip_if:
      - out_of_office: true
      - at_capacity: true
    reset: daily
    
  tracking:
    log_assignments: true
    balance_check: hourly

Distribution Algorithm:

┌─────────────────────────────────────────────────────────────┐
│                   ROUND-ROBIN LOGIC                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. New lead arrives                                        │
│                    │                                        │
│                    ▼                                        │
│  2. Check team availability                                 │
│     - Filter out: OOO, at capacity, off-hours              │
│                    │                                        │
│                    ▼                                        │
│  3. Calculate weighted position                             │
│     - Current assignments today                             │
│     - Capacity percentage                                   │
│     - Last assignment time                                  │
│                    │                                        │
│                    ▼                                        │
│  4. Assign to rep with lowest weighted score               │
│                    │                                        │
│                    ▼                                        │
│  5. Update tracking, notify rep                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

3. AI-Powered Lead Scoring

ai_scoring:
  provider: openai
  model: gpt-4
  
  input_factors:
    demographic:
      - company_size
      - industry
      - job_title
      - location
      
    firmographic:
      - annual_revenue
      - employee_count
      - funding_stage
      - tech_stack
      
    behavioral:
      - pages_visited
      - content_downloads
      - email_engagement
      - demo_requests
      
    fit_score:
      - icp_match_percentage
      - competitor_usage
      - budget_authority
      
  scoring_prompt: |
    Score this lead from 0-100 based on:
    
    Our ICP (Ideal Customer Profile):
    - B2B SaaS companies
    - 50-500 employees
    - Series A or later
    - Using {competitor} or {similar_tool}
    
    Lead Data:
    {lead_data}
    
    Return JSON:
    {
      "score": 0-100,
      "fit_score": 0-100,
      "intent_score": 0-100,
      "tier": "A/B/C/D",
      "reasoning": "...",
      "recommended_action": "...",
      "routing_suggestion": "..."
    }

  tier_thresholds:
    A: 80-100  # Hot lead, immediate follow-up
    B: 60-79   # Qualified, standard follow-up
    C: 40-59   # Nurture, marketing sequence
    D: 0-39    # Low priority, long-term nurture

4. Territory Mapping

territory_map:
  north_america:
    west:
      states: [CA, WA, OR, NV, AZ, CO, UT]
      owner: "West Coast Team"
      reps: [Alice, Bob]
      
    central:
      states: [TX, IL, OH, MI, MN, WI]
      owner: "Central Team"
      reps: [Carol, David]
      
    east:
      states: [NY, MA, PA, FL, GA, NC]
      owner: "East Coast Team"
      reps: [Eve, Frank]
      
  international:
    emea:
      countries: [UK, DE, FR, NL, ES, IT]
      owner: "EMEA Team"
      timezone: "Europe/London"
      
    apac:
      countries: [JP, SG, AU, KR, IN]
      owner: "APAC Team"
      timezone: "Asia/Tokyo"

  overlap_resolution:
    # When lead matches multiple territories
    priority_order:
      1: named_account_owner  # If account already has owner
      2: industry_specialist  # If industry requires specialist
      3: geography           # Default to geography

5. Workload Balancing

workload_balancer:
  check_frequency: hourly
  
  metrics_tracked:
    - current_open_leads
    - leads_assigned_today
    - leads_assigned_this_week
    - average_response_time
    - conversion_rate
    
  balance_rules:
    max_variance: 20%  # Max difference between reps
    
    rebalance_trigger:
      - variance > max_variance
      - rep_at_capacity
      - rep_underperforming
      
    rebalance_actions:
      - pause_assignments: for_overloaded_rep
      - increase_weight: for_underloaded_rep
      - notify_manager: when_rebalancing
      
  capacity_management:
    per_rep:
      max_open_leads: 50
      max_new_per_day: 15
      max_new_per_week: 60
      
    team_level:
      overflow_queue: true
      overflow_notify: sales_manager
      escalation_threshold: 2_hours

Workflow Implementation

Complete Lead Routing Workflow

workflow: "Intelligent Lead Router"

trigger:
  - type: hubspot_contact_created
  - type: form_submission
  - type: api_webhook

steps:
  1. enrich_lead:
      providers: [clearbit, zoominfo]
      fields:
        - company_size
        - industry
        - revenue
        - location
        - linkedin_url
        
  2. score_lead:
      method: ai_scoring
      store_result:
        hubspot_property: lead_score
        
  3. determine_tier:
      A_tier: score >= 80
      B_tier: score >= 60
      C_tier: score >= 40
      D_tier: score < 40
      
  4. apply_routing_rules:
      sequence:
        - check: named_account_owner
        - check: industry_specialist
        - check: territory_match
        - check: round_robin_availability
        
  5. assign_owner:
      hubspot:
        update_contact:
          hubspot_owner_id: "{selected_owner_id}"
          lead_status: "New"
          lead_tier: "{tier}"
          routing_reason: "{routing_logic}"
          
  6. create_task:
      hubspot:
        type: CALL
        subject: "Follow up: New {tier} lead - {company}"
        due_date: "{sla_deadline}"
        priority: "{priority_based_on_tier}"
        notes: |
          Lead Score: {score}
          Routing Reason: {routing_reason}
          Key Info: {summary}
          
  7. notify_owner:
      slack_dm:
        message: |
          🎯 *New Lead Assigned*
          
          **{contact_name}** at **{company}**
          Score: {score} ({tier} Tier)
          
          📞 SLA: Respond within {sla_time}
          
          Quick actions:
          • [View in HubSpot]({hubspot_link})
          • [LinkedIn]({linkedin_url})
          • [Schedule Call]({calendly_link})
          
  8. start_sla_timer:
      deadline: "{sla_deadline}"
      escalation_path:
        - 50%_elapsed: reminder_to_owner
        - 80%_elapsed: notify_manager
        - 100%_elapsed: reassign + alert

SLA Management

sla_tiers:
  tier_a:
    response_time: 1_hour
    escalation_path:
      - 30min: slack_reminder
      - 45min: manager_alert
      - 60min: auto_reassign
      
  tier_b:
    response_time: 4_hours
    escalation_path:
      - 2h: slack_reminder
      - 3h: manager_alert
      - 4h: auto_reassign
      
  tier_c:
    response_time: 24_hours
    escalation_path:
      - 12h: slack_reminder
      - 20h: manager_alert
      - 24h: move_to_queue

sla_reporting:
  metrics:
    - response_time_avg
    - response_time_p90
    - sla_compliance_rate
    - escalation_count
    
  report_frequency: weekly
  recipients: [sales_manager, ops_manager]

Reporting Dashboard

# Lead Routing Report - {Week}

## Distribution Summary
| Rep | Assigned | Responded | Avg Response | SLA Met |
|-----|----------|-----------|--------------|---------|
| Alice | 45 | 43 | 1.2h | 96% |
| Bob | 42 | 40 | 1.8h | 90% |
| Carol | 38 | 38 | 0.8h | 100% |
| **Total** | **125** | **121** | **1.3h** | **95%** |

## By Tier
| Tier | Count | Avg Score | Converted | Conv Rate |
|------|-------|-----------|-----------|-----------|
| A | 25 | 87 | 12 | 48% |
| B | 45 | 68 | 15 | 33% |
| C | 35 | 52 | 5 | 14% |
| D | 20 | 28 | 1 | 5% |

## Routing Breakdown
- By Territory: 60%
- By Industry: 25%
- Round Robin: 15%

## Issues
- 3 leads waited >SLA (reassigned)
- Alice at 95% capacity (monitor)
- No coverage for Healthcare vertical (gap)

## Recommendations
1. Hire Healthcare specialist
2. Increase Bob's training (response time)
3. Adjust A-tier threshold to 85 (too many false positives)

Output Example

Request: "Route this lead: John Smith, CTO at TechCorp (500 employees, SF, SaaS)"

Output:

# Lead Routing Decision

## Lead Profile
- **Name**: John Smith
- **Title**: CTO
- **Company**: TechCorp
- **Size**: 500 employees
- **Location**: San Francisco, CA
- **Industry**: SaaS

## AI Scoring

{

"score": 85,

"fit_score": 90,

"intent_score": 80,

"tier": "A",

"reasoning": "Strong ICP fit - CTO at 500-person SaaS company in our target market. High authority buyer.",

"recommended_action": "Immediate outreach - high-value prospect"

}


## Routing Decision

**Assigned to**: Alice Chen (Enterprise West)

**Routing Logic**:
1. ✅ Territory: San Francisco → West Coast
2. ✅ Company Size: 500 → Enterprise tier
3. ✅ Industry: SaaS → No specialist needed
4. ✅ Availability: Alice has capacity (18/20 today)

## Action Items Created

1. **Task**: Follow up call
   - Due: 1 hour (Tier A SLA)
   - Priority: High

2. **Slack Notification**: Sent to Alice

3. **SLA Timer**: Started (1h countdown)

## Recommended Outreach

Subject: Quick question about {pain_point} at TechCorp

Hi John,

Noticed TechCorp is scaling fast - congrats on the growth.

CTOs at similar SaaS companies often tell us {common_challenge}.

Would a 15-min call this week make sense to see if we can help?

[Calendly Link]


*Lead Routing Skill - Part of Claude Office Skills*

Other skills for the same job

different authors, same section of the catalogue
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

16k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3k tokens
Excalidraw Diagram Generator
by github
vendor ×3

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

36k tokens scripts
Expo Dev Client
by openai
vendor ×3

Build and distribute Expo development clients locally or via TestFlight

961 tokens
Executing Plans
by ZhanlinCui
×3

Use when you have a written implementation plan to execute in a separate session with review checkpoints

542 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

16k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

14k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

24k tokens

How to use it

Copy the folder

Take claude-office-skills/lead-routing from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.