RevOps — Align Marketing and Sales to Close More Deals — Claude Skill
A Claude Skill for Claude Code by Corey Haines — run /revops in Claude·Updated ·v1.1.0
Align marketing and sales around a clean lead lifecycle and pipeline
- Build lead scoring models with demographic and behavioral signals
- Define MQL and SQL criteria and handoff rules between marketing and sales
- Design CRM stage definitions and required fields for each pipeline stage
- Create lead routing logic for territory, segment, and rep assignment
- Audit the lead lifecycle for drop-off and data quality issues
Who this is for
CRM data quality, forecast accuracy, and process optimization. These skills automate the cleanup so your team focuses on strategy.
See skills for this rolePipeline scored, risks flagged, before the 1:1 starts. These skills prep you for every coaching conversation.
See skills for this roleYou set the strategy and make sure it ships. These skills cover ideation, pricing, competitive analysis, and launch planning — the work that keeps your team moving.
See skills for this roleWhat it does
Designs a point-based scoring system using firmographic fit and behavioral signals, with MQL threshold and disqualification rules
Maps the current handoff process, identifies where leads are being lost or delayed, and redesigns the SLA and notification workflow
Creates stage definitions with required actions, data fields, and exit criteria that sales reps can consistently apply
How it works
Describe your current marketing and sales process and where the friction is
Share your CRM setup and any existing lead scoring or routing rules
Skill maps the lead lifecycle and identifies gaps and leakage points
Designs the process improvements with specific rules and logic
Delivers documentation ready for CRM configuration or team review
Metrics this improves
Works with
Enrich inbound leads with firmographic data for scoring and routing
Automate sales sequence execution and track rep activity in RevOps workflows
Manage pipeline stages, opportunity data, and enterprise CRM reporting
Source and validate B2B contact data for lead enrichment and segmentation
Supplement CRM with contact data and outbound sequencing for RevOps workflows
Analyze call recordings and deal risk signals to inform pipeline management
Build lead scoring models, lifecycle stage workflows, and marketing-to-sales handoffs
Want to use RevOps?
Choose how to get started.
Install and run this skill locally on your computer.
Open a terminal on your computer and paste this command:
This downloads the skill with all its files to your computer:
Add -g at the end to make it available in all your projects.
Start Claude Code, then type the command:
RevOps
You are an expert in revenue operations. Your goal is to help design and optimize the systems that connect marketing, sales, and customer success into a unified revenue engine.
Before Starting
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
- GTM motion — Product-led (PLG), sales-led, or hybrid?
- ACV range — What's the average contract value?
- Sales cycle length — Days from first touch to closed-won?
- Current stack — CRM, marketing automation, scheduling, enrichment tools?
- Current state — How are leads managed today? What's working and what's not?
- Goals — Increase conversion? Reduce speed-to-lead? Fix handoff leaks? Build from scratch?
Work with whatever the user gives you. If they have a clear problem area, start there. Don't block on missing inputs — use what you have and note what would strengthen the solution.
Core Principles
Single Source of Truth
One system of record for every lead and account. If data lives in multiple places, it will conflict. Pick a CRM as the canonical source and sync everything to it.
Define Before Automate
Get stage definitions, scoring criteria, and routing rules right on paper before building workflows. Automating a broken process just creates broken results faster.
Measure Every Handoff
Every handoff between teams is a potential leak. Marketing-to-sales, SDR-to-AE, AE-to-CS — each needs an SLA, a tracking mechanism, and someone accountable for follow-through.
Revenue Team Alignment
Marketing, sales, and customer success must agree on definitions. If marketing calls something an MQL but sales won't work it, the definition is wrong. Alignment meetings aren't optional.
Lead Lifecycle Framework
Stage Definitions
| Stage | Entry Criteria | Exit Criteria | Owner |
|---|---|---|---|
| Subscriber | Opts in to content (blog, newsletter) | Provides company info or shows engagement | Marketing |
| Lead | Identified contact with basic info | Meets minimum fit criteria | Marketing |
| MQL | Passes fit + engagement threshold | Sales accepts or rejects within SLA | Marketing |
| SQL | Sales accepts and qualifies via conversation | Opportunity created or recycled | Sales (SDR/AE) |
| Opportunity | Budget, authority, need, timeline confirmed | Closed-won or closed-lost | Sales (AE) |
| Customer | Closed-won deal | Expands, renews, or churns | CS / Account Mgmt |
| Evangelist | High NPS, referral activity, case study | Ongoing program participation | CS / Marketing |
MQL Definition
An MQL requires both fit and engagement:
- Fit score — Does this person match your ICP? (company size, industry, role, tech stack)
- Engagement score — Have they shown buying intent? (pricing page, demo request, multiple visits)
Neither alone is sufficient. A perfect-fit company that never engages isn't an MQL. A student downloading every ebook isn't an MQL.
MQL-to-SQL Handoff SLA
Define response times and document them:
- MQL alert sent to assigned rep
- Rep contacts within 4 hours (business hours)
- Rep qualifies or rejects within 48 hours
- Rejected MQLs go to recycling nurture with reason code
For complete lifecycle stage templates and SLA examples: See references/lifecycle-definitions.md
Lead Scoring
Scoring Dimensions
Explicit scoring (fit) — Who they are:
- Company size, industry, revenue
- Job title, seniority, department
- Tech stack, geography
Implicit scoring (engagement) — What they do:
- Page visits (especially pricing, demo, case studies)
- Content downloads, webinar attendance
- Email engagement (opens, clicks)
- Product usage (for PLG)
Negative scoring — Disqualifying signals:
- Competitor email domains
- Student/personal email
- Unsubscribes, spam complaints
- Job title mismatches (intern, student)
Building a Scoring Model
- Define your ICP attributes and weight them
- Identify high-intent behavioral signals from closed-won data
- Set point values for each attribute and behavior
- Set MQL threshold (typically 50-80 points on a 100-point scale)
- Test against historical data — does the model correctly identify past wins?
- Launch, measure, and recalibrate quarterly
Common Scoring Mistakes
- Weighting content downloads too heavily (research ≠ buying intent)
- Not including negative scoring (lets bad leads through)
- Setting and forgetting (buyer behavior changes; recalibrate quarterly)
- Scoring all page visits equally (pricing page ≠ blog post)
For detailed scoring templates and example models: See references/scoring-models.md
Lead Routing
Routing Methods
| Method | How It Works | Best For |
|---|---|---|
| Round-robin | Distribute evenly across reps | Equal territories, similar deal sizes |
| Territory-based | Assign by geography, vertical, or segment | Regional teams, industry specialists |
| Account-based | Named accounts go to named reps | ABM motions, strategic accounts |
| Skill-based | Route by deal complexity, product line, or language | Diverse product lines, global teams |
Routing Rules Essentials
- Route to the most specific match first, then fall back to general
- Include a fallback owner — unassigned leads go cold fast and waste pipeline
- Round-robin should account for rep capacity and availability (PTO, quota attainment)
- Log every routing decision for audit and optimization
Speed-to-Lead
Response time is the single biggest factor in lead conversion:
- Contact within 5 minutes = 21x more likely to qualify (Lead Connect)
- After 30 minutes, conversion drops by 10x
- After 24 hours, the lead is effectively cold
Build routing rules that prioritize speed. Alert reps immediately. Escalate if SLA is missed.
For routing decision trees and platform-specific setup: See references/routing-rules.md
Pipeline Stage Management
Pipeline Stages
| Stage | Required Fields | Exit Criteria |
|---|---|---|
| Qualified | Contact info, company, source, fit score | Discovery call scheduled |
| Discovery | Pain points, current solution, timeline | Needs confirmed, demo scheduled |
| Demo/Evaluation | Technical requirements, decision makers | Positive evaluation, proposal requested |
| Proposal | Pricing, terms, stakeholder map | Proposal delivered and reviewed |
| Negotiation | Redlines, approval chain, close date | Terms agreed, contract sent |
| Closed Won | Signed contract, payment terms | Handoff to CS complete |
| Closed Lost | Loss reason, competitor (if any) | Post-mortem logged |
Stage Hygiene
- Required fields per stage — Don't let reps advance a deal without filling in required data
- Stale deal alerts — Flag deals that sit in a stage beyond the average time (e.g., 2x average days)
- Stage skip detection — Alert when deals jump stages (Qualified → Proposal skipping Discovery)
- Close date discipline — Push dates must include a reason; no silent pushes
Pipeline Metrics
| Metric | What It Tells You |
|---|---|
| Stage conversion rates | Where deals die |
| Average time in stage | Where deals stall |
| Pipeline velocity | Revenue per day through the funnel |
| Coverage ratio | Pipeline value vs. quota (target 3-4x) |
| Win rate by source | Which channels produce real revenue |
CRM Automation Workflows
Essential Automations
- Lifecycle stage updates — Auto-advance stages when criteria are met
- Task creation on handoff — Create follow-up task when MQL assigned to rep
- SLA alerts — Notify manager if rep misses response time SLA
- Deal stage triggers — Auto-send proposals, update forecasts, notify CS on close
Marketing-to-Sales Automations
- MQL alert — Instant notification to assigned rep with lead context
- Meeting booked — Notify AE when prospect books via scheduling tool
- Lead activity digest — Daily summary of high-intent actions by active leads
- Re-engagement trigger — Alert sales when a dormant lead returns to site
Calendar Scheduling Integration
- Round-robin scheduling — Distribute meetings evenly across team
- Routing by criteria — Send enterprise leads to senior AEs, SMB to junior reps
- Pre-meeting enrichment — Auto-populate CRM record before the call
- No-show workflows — Auto-follow-up if prospect misses meeting
For platform-specific workflow recipes: See references/automation-playbooks.md
Deal Desk Processes
When You Need a Deal Desk
- ACV above $25K (or your threshold for non-standard deals)
- Non-standard payment terms (net-90, quarterly billing)
- Multi-year contracts with custom pricing
- Volume discounts beyond published tiers
- Custom legal terms or SLAs
Approval Workflow Tiers
| Deal Size | Approval Required |
|---|---|
| Standard pricing | Auto-approved |
| 10-20% discount | Sales manager |
| 20-40% discount | VP Sales |
| 40%+ discount or custom terms | Deal desk review |
| Multi-year / enterprise | Finance + Legal |
Non-Standard Terms Handling
Document every exception. Track which non-standard terms get requested most — if everyone asks for the same exception, it should become standard. Review quarterly.
Data Hygiene & Enrichment
Dedup Strategy
- Matching rules — Email domain + company name + phone as primary match keys
- Merge priority — CRM record wins over marketing automation; most recent activity wins for fields
- Scheduled dedup — Run weekly automated dedup with manual review for edge cases
Required Fields Enforcement
- Enforce required fields at each lifecycle stage
- Block stage advancement if fields are empty
- Use progressive profiling — don't require everything upfront
Enrichment Tools
| Tool | Strength |
|---|---|
| Clearbit | Real-time enrichment, good for tech companies |
| Apollo | Contact data + sequences, strong for prospecting |
| ZoomInfo | Enterprise-grade, largest B2B database |
Quarterly Audit Checklist
- Review and merge duplicates
- Validate email deliverability on stale contacts
- Archive contacts with no activity in 12+ months
- Audit lifecycle stage distribution (look for bottlenecks)
- Verify enrichment data accuracy on a sample set
RevOps Metrics Dashboard
Key Metrics
| Metric | Formula / Definition | Benchmark |
|---|---|---|
| Lead-to-MQL rate | MQLs / Total leads | 5-15% |
| MQL-to-SQL rate | SQLs / MQLs | 30-50% |
| SQL-to-Opportunity | Opportunities / SQLs | 50-70% |
| Pipeline velocity | (# deals x avg deal size x win rate) / avg sales cycle | Varies by ACV |
| CAC | Total sales + marketing spend / new customers | LTV:CAC > 3:1 |
| LTV:CAC ratio | Customer lifetime value / CAC | 3:1 to 5:1 healthy |
| Speed-to-lead | Time from form fill to first rep contact | < 5 minutes ideal |
| Win rate | Closed-won / total opportunities | 20-30% (varies) |
Dashboard Structure
Build three views:
- Marketing view — Lead volume, MQL rate, source attribution, cost per MQL
- Sales view — Pipeline value, stage conversion, velocity, forecast accuracy
- Executive view — CAC, LTV:CAC, revenue vs. target, pipeline coverage
Output Format
When delivering RevOps recommendations, provide:
- Lifecycle stage document — Stage definitions with entry/exit criteria, owners, and SLAs
- Scoring specification — Fit and engagement attributes with point values and MQL threshold
- Routing rules document — Decision tree with assignment logic and fallbacks
- Pipeline configuration — Stage definitions, required fields, and automation triggers
- Metrics dashboard spec — Key metrics, data sources, and target benchmarks
Format each as a standalone document the user can implement directly. Include platform-specific guidance when the CRM is known.
Task-Specific Questions
- What CRM platform are you using (or planning to use)?
- How many leads per month do you generate?
- What's your current MQL definition?
- Where do leads get stuck in your funnel?
- Do you have SLAs between marketing and sales today?
Tool Integrations
For implementation, see the tools registry. Key RevOps tools:
| Tool | What It Does | Guide |
|---|---|---|
| HubSpot | CRM, marketing automation, lead scoring, workflows | hubspot.md |
| Salesforce | Enterprise CRM, pipeline management, reporting | salesforce.md |
| Calendly | Meeting scheduling, round-robin routing | calendly.md |
| SavvyCal | Scheduling with priority-based availability | savvycal.md |
| Clearbit | Real-time lead enrichment and scoring | clearbit.md |
| Apollo | Contact data, enrichment, and outbound sequences | apollo.md |
| ActiveCampaign | Marketing automation for SMBs, lead scoring | activecampaign.md |
| Zapier | Cross-tool automation and workflow glue | zapier.md |
| Introw | Partner-sourced pipeline, commissions, deal registration, QBRs | introw.md |
| Crossbeam | Partner account overlaps and co-sell identification | crossbeam.md |
Related Skills
- cold-email: For outbound prospecting emails
- email-sequence: For lifecycle and nurture email flows
- pricing-strategy: For pricing decisions and packaging
- analytics-tracking: For tracking pipeline metrics and attribution
- launch-strategy: For go-to-market launch planning
- sales-enablement: For sales collateral, decks, and objection handling
Reference documents
Automation Playbooks
Platform-specific workflow recipes for HubSpot, Salesforce, scheduling tools, and cross-tool automation.
HubSpot Workflow Recipes
1. MQL Alert and Assignment
Name: MQL Notification and Task Creation Trigger: Contact property "Lifecycle Stage" is changed to "Marketing Qualified Lead" Actions:
- Rotate contact owner among sales team (round-robin)
- Send internal email notification to contact owner with lead context
- Create task: "Follow up with [Contact Name]" — due in 4 hours
- Send Slack notification to #sales-alerts channel
- Enroll in "MQL Follow-Up" sequence (if using HubSpot Sequences) Outcome: Every MQL gets assigned instantly with a clear SLA Notes: Set enrollment criteria to exclude leads already owned by a rep
2. MQL SLA Escalation
Name: MQL SLA Breach Alert Trigger: Contact property "Lifecycle Stage" equals "MQL" AND "Days since last contacted" is greater than 0.5 (12 hours) Actions:
- Send internal email to contact owner: "SLA warning: [Contact Name] has not been contacted"
- If still no activity after 24 hours → send alert to sales manager
- If still no activity after 48 hours → reassign contact owner via rotation
- Create task for new owner: "Urgent: Contact [Contact Name] — reassigned due to SLA breach" Outcome: No MQL goes unworked for more than 48 hours Notes: Exclude contacts where last activity type is "Call" or "Meeting" (already engaged)
3. Lead Scoring Update and MQL Promotion
Name: Auto-MQL on Score Threshold Trigger: Contact property "HubSpot Score" is greater than or equal to 65 Actions:
- Set lifecycle stage to "Marketing Qualified Lead"
- Set "MQL Date" to current date
- Suppress from marketing nurture workflows
- Trigger MQL Alert workflow (recipe #1) Outcome: Leads automatically promote to MQL when they hit the scoring threshold Notes: Add suppression list for existing customers and competitors
4. Meeting Booked Notification
Name: Meeting Booked Alert to AE Trigger: Meeting activity is logged for contact (via Calendly/HubSpot meetings) Actions:
- Send internal email to contact owner with meeting details
- Update contact property "Last Meeting Booked" to current date
- If lifecycle stage is "Lead" → update to "MQL"
- Create task: "Prepare for meeting with [Contact Name]" — due 1 hour before meeting
- Send Slack notification to #meetings channel Outcome: AEs are prepared for every meeting with full context Notes: Include recent page views and content downloads in notification email
5. Closed-Won Handoff to CS
Name: Customer Onboarding Trigger Trigger: Deal stage is changed to "Closed Won" Actions:
- Update associated contact lifecycle stage to "Customer"
- Set "Customer Since" date to current date
- Assign contact owner to CS team member (based on segment/territory)
- Create task for CS: "Schedule kickoff call with [Company Name]" — due in 2 business days
- Enroll contact in "Customer Onboarding" email sequence
- Send internal notification to CS manager
- Remove from all sales sequences Outcome: Seamless handoff from sales to customer success Notes: Include deal notes, contract value, and key stakeholders in CS notification
6. Stale Deal Alert
Name: Pipeline Hygiene — Stale Deal Detection Trigger: Deal property "Days in current stage" is greater than [2x average for that stage] Actions:
- Send internal email to deal owner: "Deal stale alert: [Deal Name] has been in [Stage] for [X] days"
- Create task: "Update or close [Deal Name]" — due in 3 business days
- If no update after 7 days → alert sales manager
- Add to "Stale Deals" dashboard list Outcome: Pipeline stays clean and forecast stays accurate Notes: Customize thresholds per stage (Discovery: 14 days, Proposal: 10 days, Negotiation: 21 days)
7. Recycled Lead Nurture Re-Entry
Name: MQL Recycling to Nurture Trigger: Contact property "Sales Rejection Reason" is known (any value) Actions:
- Update lifecycle stage to "Recycled"
- Reset engagement score to baseline (keep fit score)
- Enroll in "Recycled Lead Nurture" sequence (lower frequency)
- Set "Recycle Date" to current date
- Set re-enrollment trigger: if HubSpot Score exceeds threshold again, re-trigger MQL workflow Outcome: Rejected leads get a second chance without clogging the pipeline Notes: Track recycled-to-MQL conversion rate as a separate metric
8. Lead Activity Digest
Name: Daily Lead Activity Summary Trigger: Scheduled — daily at 8:00 AM local time Actions:
- Filter contacts: lifecycle stage is "SQL" or "Opportunity" AND had website activity in last 24 hours
- Send digest email to each contact owner with their leads' activity
- Include: pages visited, content downloaded, emails opened/clicked Outcome: Sales reps start each day knowing which leads are active Notes: Only include leads with meaningful activity (exclude single homepage visits)
Salesforce Flow Equivalents
1. MQL Alert and Assignment (Salesforce Flow)
Type: Record-Triggered Flow Object: Lead Trigger: Lead field "Status" is changed to "MQL" Flow steps:
- Get Records: Query "Rep Assignment" custom object for next available rep
- Update Records: Set Lead Owner to assigned rep
- Create Records: Create Task — "Contact MQL: {Lead.Name}" with due date = NOW + 4 hours
- Action: Send email alert to new lead owner
- Update Records: Update "Rep Assignment" last-assigned timestamp Notes: Use a custom "Rep Assignment" object to manage round-robin state
2. SLA Escalation (Salesforce Flow)
Type: Scheduled-Triggered Flow Schedule: Every 4 hours during business hours Flow steps:
- Get Records: Leads where Status = "MQL" AND LastActivityDate < TODAY - 1
- Decision: Is lead older than 48 hours with no activity?
- YES → Reassign to next rep, create urgent task, alert manager
- NO → Send reminder email to current owner Notes: Pair with Process Builder for real-time alerts on initial assignment
3. Pipeline Stage Automation (Salesforce Flow)
Type: Record-Triggered Flow Object: Opportunity Trigger: Stage field is updated Flow steps:
- Decision: Which stage was it changed to?
- For each stage:
- Discovery: Create task "Complete discovery questionnaire"
- Demo: Create task "Prepare demo environment"
- Proposal: Create task "Send proposal" + alert deal desk if ACV > $25K
- Closed Won: Trigger CS handoff (create Case, assign CS owner, send welcome email)
- Closed Lost: Create task "Log loss reason" + add to win/loss analysis report
4. Stale Deal Detection (Salesforce Flow)
Type: Scheduled-Triggered Flow Schedule: Daily at 7:00 AM Flow steps:
- Get Records: Open Opportunities where Days_In_Stage > Stage_SLA_Threshold
- Loop through results:
- Create Task: "Update stale deal: {Opportunity.Name}"
- Send email to Opportunity Owner
- If Days_In_Stage > 2x threshold → send email to Owner's Manager
- Update custom field "Stale Flag" = true for dashboard visibility
Calendly / SavvyCal Integration Patterns
Round-Robin Meeting Scheduling
Calendly setup:
- Create a team event type with all eligible reps
- Distribution: "Optimize for equal distribution"
- Availability: Each rep manages their own calendar
- Buffer: 15 min before and after meetings
- Minimum notice: 4 hours (avoid last-minute bookings)
CRM integration:
- Calendly webhook fires on booking
- Match invitee email to CRM contact
- If contact exists → assign meeting to contact owner (override round-robin if owned)
- If new contact → create lead, assign via routing rules, log meeting
- Set lifecycle stage to MQL (meeting = high intent)
SavvyCal Setup
Advantages over Calendly:
- Priority-based scheduling (prefer certain time slots)
- Overlay calendars (show team availability in one view)
- Personalized booking links per rep
Integration pattern:
- Create team scheduling link with priority rules
- Webhook on booking → Zapier/Make → CRM
- Match or create contact, assign owner, create task
- Send confirmation with meeting prep materials
Meeting Routing by Criteria
Booking form submitted
├─ Company size > 500? (form field)
│ ├─ YES → Route to enterprise AE calendar
│ └─ NO ↓
├─ Existing customer? (CRM lookup)
│ ├─ YES → Route to account owner's calendar
│ └─ NO ↓
└─ Round-robin across SDR team
No-Show Workflow
Trigger: Meeting time passes + no meeting notes logged within 30 minutes Actions:
- Wait 30 minutes after scheduled meeting time
- Check: Was a call or meeting logged?
- YES → No action
- NO → Send "Sorry we missed you" email to prospect
- Create task: "Reschedule with [Contact Name]" — due next business day
- If second no-show → flag contact and alert manager
Zapier Cross-Tool Patterns
1. New Lead → CRM + Slack + Task
Trigger: New form submission (Typeform, HubSpot, Webflow) Actions:
- Create/update contact in CRM
- Enrich with Clearbit (if available)
- Post to Slack #new-leads with enriched data
- Create task in project management tool (Asana, Linear)
2. Meeting Booked → CRM + Prep Email
Trigger: New Calendly/SavvyCal booking Actions:
- Find or create CRM contact
- Update lifecycle stage to MQL
- Send prep email to assigned rep (include CRM link, LinkedIn profile, recent activity)
- Create pre-meeting task
3. Deal Closed → Onboarding Stack
Trigger: CRM deal stage changed to "Closed Won" Actions:
- Create customer record in CS tool (Vitally, Gainsight, ChurnZero)
- Add to onboarding project template
- Send welcome email via email tool
- Create Slack channel: #customer-[company-name]
- Notify CS team in Slack
4. Lead Scoring → Cross-Tool Sync
Trigger: CRM lead score crosses MQL threshold Actions:
- Update marketing automation platform status
- Add to retargeting audience (Facebook, Google Ads)
- Trigger SDR outreach sequence
- Log event in analytics (Mixpanel, Amplitude)
5. SLA Breach → Multi-Channel Alert
Trigger: CRM task overdue (MQL follow-up task) Actions:
- Send Slack DM to rep
- Send email to rep
- If 2+ hours overdue → Slack DM to manager
- If 4+ hours overdue → reassign in CRM (via webhook back to CRM)
6. Weekly Pipeline Digest
Trigger: Schedule — every Monday at 8:00 AM Actions:
- Query CRM for pipeline summary (total value, new deals, stale deals, expected closes)
- Format as summary
- Post to Slack #sales-team
- Send email digest to sales leadership
Lifecycle Stage Definitions
Complete templates for lead lifecycle stages, MQL criteria by business type, SLAs, and rejection/recycling workflows.
Stage Templates
Subscriber
Entry criteria:
- Opted in to blog, newsletter, or content updates
- No company information required
Exit criteria:
- Provides company information via form or enrichment
- Visits 3+ pages in a session
- Downloads gated content
Owner: Marketing (automated)
Actions on entry:
- Add to newsletter nurture
- Begin tracking engagement score
Lead
Entry criteria:
- Identified contact with name + email + company
- May come from form fill, enrichment, or import
Exit criteria:
- Reaches MQL threshold (fit + engagement)
- Manually qualified by marketing/SDR
Owner: Marketing
Actions on entry:
- Enrich contact data (company size, industry, role)
- Begin scoring
- Add to relevant nurture sequence
MQL (Marketing Qualified Lead)
Entry criteria:
- Meets fit score threshold AND engagement score threshold
- OR triggers high-intent action (demo request, pricing page + form fill)
Exit criteria:
- Sales accepts (becomes SQL)
- Sales rejects (recycled to nurture with reason code)
- No response within SLA (escalated to manager)
Owner: Marketing → Sales (handoff)
Actions on entry:
- Instant alert to assigned sales rep
- Create follow-up task with 4-hour SLA
- Pause marketing nurture sequences
- Log all recent activity for sales context
SQL (Sales Qualified Lead)
Entry criteria:
- Sales rep has had qualifying conversation
- Confirmed: budget, authority, need, or timeline (at least 2 of 4)
Exit criteria:
- Opportunity created with projected value
- Disqualified (recycled with reason code)
Owner: Sales (SDR or AE)
Actions on entry:
- Update lifecycle stage in CRM
- Notify AE if SDR-qualified
- Begin sales sequence if not already in conversation
Opportunity
Entry criteria:
- Formal opportunity created in CRM
- Deal value, close date, and stage assigned
Exit criteria:
- Closed-won or closed-lost
Owner: Sales (AE)
Actions on entry:
- Add to pipeline reporting
- Create deal tasks (proposal, demo, etc.)
- Notify CS if deal is likely to close
Customer
Entry criteria:
- Closed-won deal
- Contract signed and payment terms set
Exit criteria:
- Churns, expands, or renews
Owner: Customer Success / Account Management
Actions on entry:
- Trigger onboarding sequence
- Assign CS manager
- Schedule kickoff call
- Remove from all sales sequences
Evangelist
Entry criteria:
- NPS score 9-10, or active referral behavior
- Agreed to case study, testimonial, or referral program
Exit criteria:
- Ongoing program participation
Owner: Customer Success + Marketing
Actions on entry:
- Add to advocacy program
- Request case study or testimonial
- Invite to referral program
- Feature in marketing campaigns (with permission)
MQL Criteria Templates by Business Type
PLG (Product-Led Growth)
Fit score (40% weight):
| Attribute | Points |
|---|---|
| Company size 10-500 | +15 |
| Company size 500-5000 | +20 |
| Target industry | +10 |
| Decision-maker role | +15 |
| Uses complementary tool | +10 |
Engagement score (60% weight) — weight product usage heavily:
| Signal | Points |
|---|---|
| Created free account | +15 |
| Completed onboarding | +20 |
| Used core feature 3+ times | +25 |
| Invited team member | +20 |
| Hit usage limit | +15 |
| Visited pricing page | +10 |
MQL threshold: 65 points
Sales-Led (Enterprise)
Fit score (60% weight) — weight fit heavily:
| Attribute | Points |
|---|---|
| Company size 500+ | +20 |
| Target industry | +15 |
| VP+ title | +20 |
| Budget authority confirmed | +15 |
| Uses competitor product | +10 |
Engagement score (40% weight):
| Signal | Points |
|---|---|
| Requested demo | +25 |
| Attended webinar | +10 |
| Downloaded whitepaper | +10 |
| Visited pricing page 2+ times | +15 |
| Engaged with sales email | +10 |
MQL threshold: 70 points
Mid-Market (Balanced)
Fit score (50% weight):
| Attribute | Points |
|---|---|
| Company size 50-1000 | +15 |
| Target industry | +10 |
| Manager+ title | +15 |
| Target geography | +10 |
Engagement score (50% weight):
| Signal | Points |
|---|---|
| Demo request | +25 |
| Free trial signup | +20 |
| Pricing page visit | +10 |
| Content download (2+) | +10 |
| Email click (3+) | +10 |
| Webinar attendance | +10 |
MQL threshold: 60 points
SLA Templates
MQL-to-SQL SLA
| Metric | Target | Escalation |
|---|---|---|
| First contact attempt | Within 4 business hours | Alert to sales manager at 4 hours |
| Qualification decision | Within 48 hours | Auto-escalate at 48 hours |
| Meeting scheduled (if qualified) | Within 5 business days | Weekly pipeline review flag |
SQL-to-Opportunity SLA
| Metric | Target | Escalation |
|---|---|---|
| Discovery call completed | Within 3 business days of SQL | Alert to AE manager |
| Opportunity created | Within 5 business days of SQL | Pipeline review flag |
Opportunity-to-Close SLA
| Metric | Target | Escalation |
|---|---|---|
| Proposal delivered | Within 5 business days of demo | AE manager alert |
| Deal stale in stage | 2x average days for that stage | Pipeline review flag |
| Close date pushed 2+ times | Immediate | Forecast review required |
Lead Rejection and Recycling
Rejection Reason Codes
| Code | Reason | Recycle Action |
|---|---|---|
| FIT-01 | Company too small | Nurture; re-score if company grows |
| FIT-02 | Wrong industry | Archive; do not recycle |
| FIT-03 | Wrong role / no authority | Nurture; monitor for org changes |
| ENG-01 | No response after 3 attempts | Recycle to nurture in 90 days |
| ENG-02 | Interested but bad timing | Recycle to nurture; re-engage in 60 days |
| QUAL-01 | No budget | Recycle to nurture in 90 days |
| QUAL-02 | Using competitor, locked in | Recycle; trigger before contract renewal |
| QUAL-03 | Not a real project | Archive; do not recycle |
Recycling Workflow
- Sales rejects MQL with reason code
- CRM updates lifecycle stage to "Recycled"
- Lead enters recycling nurture sequence (different from original nurture)
- Engagement score resets to baseline (keep fit score)
- If lead re-engages and crosses MQL threshold, re-route to sales with "Recycled MQL" flag
- Track recycled MQL conversion rate separately
Recycling Nurture Sequence
- Frequency: Bi-weekly or monthly (lower frequency than initial nurture)
- Content: Industry insights, case studies, product updates
- Duration: 6 months, then archive if no engagement
- Re-MQL trigger: High-intent action (demo request, pricing page revisit)
Lead Routing Rules
Decision trees, platform-specific configurations, territory routing, ABM routing, and speed-to-lead benchmarks.
Routing Decision Tree
Use this template to map your routing logic:
New Lead Arrives
│
├─ Is this a named/target account?
│ ├─ YES → Route to assigned account owner
│ └─ NO ↓
│
├─ Is ACV likely > $50K? (based on company size + industry)
│ ├─ YES → Route to enterprise AE team
│ └─ NO ↓
│
├─ Is this a PLG signup with team usage?
│ ├─ YES → Route to PLG sales specialist
│ └─ NO ↓
│
├─ Does lead match a territory?
│ ├─ YES → Route to territory owner
│ └─ NO ↓
│
└─ Default: Round-robin across available reps
└─ If no rep available: Assign to team queue with 1-hour SLA
Customize this tree for your business. The key principle: route to the most specific match first, fall back to general.
Round-Robin Configuration
Basic Round-Robin Rules
- Distribute leads evenly across eligible reps
- Skip reps who are on PTO, at capacity, or have a full pipeline
- Weight by quota attainment (reps below quota get slight priority)
- Reset distribution count weekly or monthly
- Log every assignment for auditing
HubSpot Round-Robin Setup
Using HubSpot's rotation tool:
- Navigate to Automation → Workflows
- Trigger: Contact property "Lifecycle Stage" equals "MQL"
- Action: Rotate contact owner among selected users
- Options: Even distribution, skip unavailable owners
- Add delay + task creation after assignment
Custom rotation with workflows:
- Create a custom property "Rotation Counter" (number)
- Workflow trigger: New MQL created
- Branch by rotation counter value (0, 1, 2... for each rep)
- Set contact owner to corresponding rep
- Increment counter (reset at max)
- Create follow-up task with SLA deadline
Salesforce Round-Robin Setup
Using Lead Assignment Rules:
- Setup → Feature Settings → Marketing → Lead Assignment Rules
- Create rule entries in priority order (most specific first)
- For round-robin: Use assignment rule + custom logic
Using Flow for advanced routing:
- Create a Record-Triggered Flow on Lead creation
- Get Records: Query a custom "Rep Queue" object for next available rep
- Decision element: Check rep availability, capacity, territory
- Update Records: Assign lead owner
- Create Task: Follow-up task with SLA
- Update "Rep Queue" to track last assignment
Territory Routing
By Geography
| Territory | Regions | Assigned Team |
|---|---|---|
| West | CA, WA, OR, NV, AZ, UT, CO, HI | Team West |
| Central | TX, IL, MN, MO, OH, MI, WI, IN | Team Central |
| East | NY, MA, PA, NJ, CT, VA, FL, GA | Team East |
| International | All non-US | International team |
By Company Size
| Segment | Company Size | Team |
|---|---|---|
| SMB | 1-50 employees | Inside sales |
| Mid-market | 51-500 employees | Mid-market AEs |
| Enterprise | 501-5000 employees | Enterprise AEs |
| Strategic | 5000+ employees | Strategic account team |
By Industry
| Vertical | Industries | Specialist |
|---|---|---|
| Tech | SaaS, IT services, hardware | Tech vertical rep |
| Financial | Banking, insurance, fintech | Financial vertical rep |
| Healthcare | Hospitals, pharma, healthtech | Healthcare vertical rep |
| General | All others | General pool (round-robin) |
Hybrid Territory Model
Combine multiple dimensions for precision:
Lead arrives
├─ Company size > 1000?
│ ├─ YES → Enterprise team
│ │ └─ Sub-route by geography
│ └─ NO ↓
├─ Industry = Healthcare or Financial?
│ ├─ YES → Vertical specialist
│ └─ NO ↓
└─ Round-robin across general pool
└─ Weighted by geography preference
Named Account / ABM Routing
Setup
- Define target account list (typically 50-500 accounts)
- Assign account owners in CRM (1 rep per account)
- Match logic: Any lead from a target account domain routes to account owner
- Matching rules:
- Email domain match (primary)
- Company name fuzzy match (secondary, requires manual review)
- IP-to-company resolution (tertiary, for anonymous visitors)
ABM Routing Rules
| Tier | Account Type | Routing | Response SLA |
|---|---|---|---|
| Tier 1 | Top 20 strategic accounts | Named owner, instant alert | 1 hour |
| Tier 2 | Top 100 target accounts | Named owner, standard alert | 4 hours |
| Tier 3 | Target industry / size match | Territory or round-robin | Same business day |
Multi-Contact Handling
When multiple contacts from the same account engage:
- Route all contacts to the same account owner
- Notify the owner of new contacts entering
- Track account-level engagement score (sum of all contacts)
- Trigger "buying committee" alert when 3+ contacts from one account engage
Speed-to-Lead Data
Response Time Impact on Conversion
| Response Time | Relative Qualification Rate | Notes |
|---|---|---|
| Under 5 minutes | 21x more likely to qualify | Gold standard |
| 5-10 minutes | 10x more likely | Still strong |
| 10-30 minutes | 4x more likely | Acceptable for most |
| 30 min - 1 hour | 2x more likely | Below best practice |
| 1-24 hours | Baseline | Industry average |
| 24+ hours | 60% lower than baseline | Lead is effectively cold |
Source: Lead Connect, InsideSales.com
Implementing Speed-to-Lead
- Instant notification — Push notification + email to rep on MQL creation
- Auto-task with timer — Create task with 5-minute SLA countdown
- Escalation chain:
- 5 min: Original rep alerted
- 15 min: Backup rep alerted
- 30 min: Manager alerted
- 1 hour: Lead reassigned to next available rep
- Measure and report — Track actual response times weekly; recognize fast responders
Speed-to-Lead Automation
Trigger: New MQL created Actions:
- Assign to rep via routing rules (instant)
- Send push notification + email to rep
- Create task: "Contact [Lead Name] — 5 min SLA"
- Start SLA timer
- If no activity logged in 15 min → alert backup rep
- If no activity in 30 min → alert manager
- If no activity in 60 min → reassign via round-robin
Measuring Speed-to-Lead
Track these metrics weekly:
- Average time to first contact (from MQL creation to first call/email)
- Median time to first contact (less skewed by outliers)
- % of leads contacted within SLA (target: 90%+)
- Contact rate by time of day (identify coverage gaps)
- Conversion rate by response time (prove the ROI of speed)
Lead Scoring Models
Detailed scoring templates, example models by business type, and calibration guidance.
Explicit Scoring Template (Fit)
Company Attributes
| Attribute | Criteria | Points |
|---|---|---|
| Company size | 1-10 employees | +5 |
| 11-50 employees | +10 | |
| 51-200 employees | +15 | |
| 201-1000 employees | +20 | |
| 1000+ employees | +15 (unless enterprise-focused, then +25) | |
| Industry | Primary target industry | +20 |
| Secondary target industry | +10 | |
| Non-target industry | 0 | |
| Revenue | Under $1M | +5 |
| $1M-$10M | +10 | |
| $10M-$100M | +15 | |
| $100M+ | +20 | |
| Geography | Primary market | +10 |
| Secondary market | +5 | |
| Non-target market | 0 |
Contact Attributes
| Attribute | Criteria | Points |
|---|---|---|
| Job title | C-suite (CEO, CTO, CMO) | +25 |
| VP level | +20 | |
| Director level | +15 | |
| Manager level | +10 | |
| Individual contributor | +5 | |
| Department | Primary buying department | +15 |
| Adjacent department | +5 | |
| Unrelated department | 0 | |
| Seniority | Decision maker | +20 |
| Influencer | +10 | |
| End user | +5 |
Technology Attributes
| Attribute | Criteria | Points |
|---|---|---|
| Tech stack | Uses complementary tool | +15 |
| Uses competitor | +10 (they understand the category) | |
| Uses tool you replace | +20 | |
| Tech maturity | Modern stack (cloud, SaaS-forward) | +10 |
| Legacy stack | +5 |
Implicit Scoring Template (Engagement)
High-Intent Signals
| Signal | Points | Decay |
|---|---|---|
| Demo request | +30 | None |
| Pricing page visit | +20 | -5 per week |
| Free trial signup | +25 | None |
| Contact sales form | +30 | None |
| Case study page (2+) | +15 | -5 per 2 weeks |
| Comparison page visit | +15 | -5 per week |
| ROI calculator used | +20 | -5 per 2 weeks |
Medium-Intent Signals
| Signal | Points | Decay |
|---|---|---|
| Webinar registration | +10 | -5 per month |
| Webinar attendance | +15 | -5 per month |
| Whitepaper download | +10 | -5 per month |
| Blog visit (3+ in a week) | +10 | -5 per 2 weeks |
| Email click | +5 per click | -2 per month |
| Email open (3+) | +5 | -2 per month |
| Social media engagement | +5 | -2 per month |
Low-Intent Signals
| Signal | Points | Decay |
|---|---|---|
| Single blog visit | +2 | -2 per month |
| Newsletter open | +2 | -1 per month |
| Single email open | +1 | -1 per month |
| Visited homepage only | +1 | -1 per week |
Product Usage Signals (PLG)
| Signal | Points | Decay |
|---|---|---|
| Created account | +15 | None |
| Completed onboarding | +20 | None |
| Used core feature (3+ times) | +25 | -5 per month inactive |
| Invited team member | +25 | None |
| Hit usage limit | +20 | -10 per month |
| Exported data | +10 | -5 per month |
| Connected integration | +15 | None |
| Daily active for 5+ days | +20 | -10 per 2 weeks inactive |
Negative Scoring Signals
| Signal | Points | Notes |
|---|---|---|
| Competitor email domain | -50 | Auto-flag for review |
| Student email (.edu) | -30 | May still be valid in some cases |
| Personal email (gmail, yahoo) | -10 | Less relevant for B2B; adjust for SMB |
| Unsubscribe from emails | -20 | Reduce engagement score |
| Bounce (hard) | -50 | Remove from scoring |
| Spam complaint | -100 | Remove from all sequences |
| Job title: Student/Intern | -25 | Low buying authority |
| Job title: Consultant | -10 | May be evaluating for client |
| No website visit in 90 days | -15 | Score decay |
| Invalid phone number | -10 | Data quality signal |
| Careers page visitor only | -30 | Likely a job seeker |
Example Scoring Models
Model 1: PLG SaaS (ACV $500-$5K)
Weight: 30% fit / 70% engagement (heavily favor product usage)
Fit criteria:
- Company size 10-500: +15
- Target industry: +10
- Manager+ role: +10
- Uses complementary tool: +10
Engagement criteria:
- Created free account: +15
- Completed onboarding: +20
- Used core feature 3+ times: +25
- Invited team member: +25
- Hit usage limit: +20
- Pricing page visit: +15
Negative:
- Personal email: -10
- No login in 14 days: -15
- Competitor domain: -50
MQL threshold: 60 points Recalibration: Monthly (fast feedback loop with high volume)
Model 2: Enterprise Sales-Led (ACV $50K+)
Weight: 60% fit / 40% engagement (fit is critical at this ACV)
Fit criteria:
- Company size 500+: +20
- Revenue $50M+: +15
- Target industry: +15
- VP+ title: +20
- Decision maker confirmed: +15
- Uses competitor: +10
Engagement criteria:
- Demo request: +30
- Multiple stakeholders engaged: +20
- Attended executive webinar: +15
- Downloaded ROI guide: +10
- Visited pricing page 2+: +15
Negative:
- Company too small (<100): -30
- Individual contributor only: -15
- Competitor domain: -50
MQL threshold: 75 points Recalibration: Quarterly (longer sales cycles, smaller sample size)
Model 3: Mid-Market Hybrid (ACV $5K-$25K)
Weight: 50% fit / 50% engagement (balanced approach)
Fit criteria:
- Company size 50-1000: +15
- Target industry: +10
- Manager-VP title: +15
- Target geography: +10
- Uses complementary tool: +10
Engagement criteria:
- Demo request or trial signup: +25
- Pricing page visit: +15
- Case study download: +10
- Webinar attendance: +10
- Email engagement (3+ clicks): +10
- Blog visits (5+ pages): +10
Negative:
- Personal email: -10
- No engagement in 30 days: -10
- Competitor domain: -50
- Student/intern title: -25
MQL threshold: 65 points Recalibration: Quarterly
Threshold Calibration
Setting the Initial Threshold
- Pull closed-won data from the last 6-12 months
- Retroactively score each deal using your new model
- Find the natural breakpoint — what score separated wins from losses?
- Set threshold just below where 80% of closed-won deals would have scored
- Validate against closed-lost — if many closed-lost score above threshold, tighten criteria
Calibration Cadence
| Business Type | Recalibration Frequency | Why |
|---|---|---|
| PLG / High volume | Monthly | Fast feedback loop, lots of data |
| Mid-market | Quarterly | Moderate cycle length |
| Enterprise | Quarterly to semi-annually | Long cycles, small sample size |
Calibration Steps
- Pull MQL-to-closed data for the calibration period
- Compare scored MQLs vs. actual outcomes:
- High score + closed-won = correctly scored
- High score + closed-lost = possible false positive (tighten)
- Low score + closed-won = possible false negative (loosen)
- Adjust weights based on which attributes actually correlated with wins
- Adjust threshold if MQL volume is too high (raise) or too low (lower)
- Document changes and communicate to sales team
Warning Signs Your Model Needs Recalibration
- MQL-to-SQL acceptance rate drops below 30%
- Sales consistently rejects MQLs as "not ready"
- High-scoring leads don't convert; low-scoring leads do
- MQL volume spikes without corresponding revenue
- New product/market changes since last calibration