revops
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
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.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, 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 |
Outbound contacts follow their own stages (targeted → in sequence → replied → positive → meeting booked → meeting held → opportunity), with fields for signal, tier, sequence, and channel so meetings can be attributed. See references/lifecycle-definitions.md.
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 form-submit enrichment, booking branches, missing-data fallbacks, and late results, load the inbound-routing playbook. Use it alongside the ownership and territory rules below.
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 |
|---|---|
| Clay | Waterfall enrichment across many providers |
| 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 |
| Attio | CRM with a hosted MCP for agents | attio.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
- emails: For lifecycle and nurture email flows
- pricing: For pricing decisions and packaging
- analytics: For tracking pipeline metrics and attribution
- launch: For go-to-market launch planning
- sales-enablement: For sales collateral, decks, and objection handling
References
Automation Playbooks
automation-playbooks.md
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