The Ultimate Guide to Customer Success with CRM

How to use your CRM for customer success: health scores, renewal tracking, expansion plays, and AI-driven retention workflows that actually work in 2026.

Mark Rachapoom
Mark Rachapoom
·13 min read
The Ultimate Guide to Customer Success with CRM

Customer success is a different motion than sales. In sales, you're trying to get a deal across the finish line. In customer success, you're trying to make sure the deal you already closed never thinks about leaving — and ideally becomes a bigger deal over time.

Most CRMs are built for sales. The objects, pipelines, and views all point toward closing. Retrofitting them for customer success requires intentional configuration, a different set of fields, and workflows optimized for retention rather than acquisition.

This guide covers how to build a customer success operation on top of your CRM — from data model design to health scoring to renewal automation. We'll use DenchClaw for examples, but the principles apply to any CRM you configure thoughtfully.

Why Customer Success Needs Its Own CRM Configuration#

Sales and customer success have different jobs. Here's how that maps to data requirements:

DimensionSales CRMCustomer Success CRM
Primary entityOpportunity/DealAccount/Customer
Key metricsWin rate, cycle length, deal sizeNRR, churn rate, health score
Time horizonWeeks/months to closeMonths/years of lifetime
Success stateWonRenewed + Expanded
Failure stateLostChurned
Key eventsActivities, meetings, proposalsQBRs, escalations, renewals
Risk signalsDeal going quietUsage dropping, no engagement

Using your sales CRM as-is for customer success produces bad outcomes. Your CS team ends up working around the tool — keeping account notes in Notion, renewal dates in a spreadsheet, health data nowhere.

The fix: configure a proper customer success layer. This means new objects, new fields, new views, and new automation.

The Customer Success Data Model#

Start with the right schema. Here's what you need:

Core Objects#

Customers (or Accounts) The central entity in CS. This might already exist as Companies in your sales CRM — extend it rather than duplicate it.

Required fields:

  • ARR / MRR
  • Contract Start Date
  • Contract End Date (Renewal Date)
  • Contract Type (Monthly, Annual, Multi-year)
  • Tier (Starter, Pro, Enterprise)
  • Health Score (computed)
  • CSM Owner
  • Onboarding Status
  • NPS Score (last)
  • Last QBR Date

Subscriptions If customers can have multiple products or tiers, model subscriptions as a separate object:

  • Product
  • MRR/ARR
  • Start Date
  • Renewal Date
  • Status (Active, At Risk, Churned, Expanded)
  • Related Customer

Customer Contacts Who you're talking to at each account. Usually your existing People/Contacts object, filtered to customers. Key additions:

  • Relationship Tier (Champion, Economic Buyer, End User, Detractor)
  • Engagement Score
  • Last Contacted

Health Events A log of signals that affect account health:

  • Event Type (Login, Support Ticket, Feature Adoption, NPS Response, QBR, Executive Sponsor Change)
  • Timestamp
  • Signal Direction (Positive, Negative, Neutral)
  • Notes
  • Related Customer

Renewals Track the renewal process like a mini sales pipeline:

  • Renewal Date
  • Renewal Value
  • Status (Upcoming, In Conversation, At Risk, Committed, Churned)
  • Risk Reason
  • Owner
  • Related Customer

Setting This Up in DenchClaw#

"Create a customer success data model with:
- Extend the companies object with: ARR (currency), MRR (currency), 
  Contract Start Date, Contract End Date, Tier (enum: Starter/Pro/Enterprise),
  Health Score (number 0-100), CSM Owner (user), Last QBR Date (date), NPS Score (number)

- Create a new Renewals object with fields: 
  Renewal Date (date), Renewal Value (currency), 
  Status (enum: Upcoming/In Conversation/At Risk/Committed/Churned/Won),
  Risk Reason (text), Owner (user), Related Customer (relation → companies)

- Create a new Health Events object with:
  Event Type (enum: Login/Support Ticket/Feature Adoption/NPS Response/QBR/Executive Change),
  Signal Direction (enum: Positive/Negative/Neutral),
  Event Date (date), Notes (text), Related Customer (relation → companies)"

Building a Health Score#

The health score is the single most important instrument in your CS toolkit. It gives you a single number that summarizes account risk — letting you prioritize which accounts need attention without manually reviewing every account weekly.

Health Score Components#

A good health score combines multiple signals with weighted importance:

Usage/Adoption (30-40% weight)

  • Active users / Licensed seats (utilization rate)
  • Feature adoption breadth (number of core features used)
  • Weekly/monthly session frequency
  • Time since last login

Engagement (20-30% weight)

  • Response rate to CSM outreach
  • QBR attendance
  • Executive sponsor engagement
  • Support ticket sentiment

Business Value Realization (20-30% weight)

  • ROI metrics (if tracked)
  • Success milestones achieved
  • Use cases activated vs. contracted

Sentiment (10-20% weight)

  • NPS score and trend
  • CSAT scores
  • Direct feedback signals

Health Score Formula#

Simple weighted formula:

Health Score = 
  (Usage Score × 0.35) + 
  (Engagement Score × 0.25) + 
  (Value Score × 0.25) + 
  (Sentiment Score × 0.15)

Each component scores 0-100. Final health score is 0-100.

Color coding:

  • 75-100: Green (Healthy)
  • 50-74: Yellow (Needs Attention)
  • 0-49: Red (At Risk)

Computing Health Scores in DuckDB#

DenchClaw can run a health score computation as a scheduled task:

-- Compute health score components for all customers
WITH usage AS (
  SELECT 
    customer_id,
    CASE 
      WHEN days_since_login <= 7 THEN 100
      WHEN days_since_login <= 14 THEN 75
      WHEN days_since_login <= 30 THEN 50
      WHEN days_since_login <= 60 THEN 25
      ELSE 0
    END as usage_score
  FROM v_customers
),
engagement AS (
  SELECT 
    customer_id,
    CASE 
      WHEN days_since_last_qbr <= 90 THEN 100
      WHEN days_since_last_qbr <= 180 THEN 50
      ELSE 0
    END as engagement_score
  FROM v_customers
)
SELECT 
  c.id,
  ROUND(
    (u.usage_score * 0.35) + 
    (e.engagement_score * 0.25) + 
    (COALESCE(c."NPS Score", 50) * 0.4)
  ) as health_score
FROM v_customers c
JOIN usage u ON u.customer_id = c.id
JOIN engagement e ON e.customer_id = c.id;
"Run the health score calculation and update the Health Score field 
for all customers. Then show me anyone who dropped more than 20 points 
since last week."

The Renewal Pipeline#

Renewals are like deals — they have stages, probabilities, and a need for active management. Model them that way.

Renewal Stages#

StageMeaningTarget Timing
UpcomingRenewal is on the horizon, not yet active> 90 days out
In ConversationCSM has initiated renewal conversation60-90 days out
ProposedRenewal/expansion proposal sent30-60 days out
CommittedVerbal commitment, paperwork pending< 30 days out
WonContract signedAt renewal date
At RiskHealth score below 50, risk signals presentAny time
ChurnedCustomer didn't renewAt/after renewal date

Renewal Views to Build#

"Renewals This Quarter" view: Filter: Renewal Date in current quarter, Status != Churned View type: Table with columns: Customer, ARR, Renewal Date, Health Score, Status, Owner Sort: Renewal Date ascending

"At Risk Accounts" view: Filter: Health Score < 50 OR Status = "At Risk" View type: Kanban by Risk Reason Sort: ARR descending (biggest risk first)

"Renewals Dashboard" view: A DenchClaw app showing:

  • Total ARR up for renewal this quarter
  • Expected renewal rate (based on health scores)
  • Top 5 at-risk accounts
  • Renewals by stage (funnel chart)
"Build me a renewals dashboard app that shows:
- Total ARR renewing this quarter
- Health score distribution for renewal accounts (bar chart)
- Renewal pipeline by stage (funnel)
- Top 10 accounts sorted by ARR at risk (health score < 60)"

Proactive Retention Workflows#

The difference between good and great CS is not what you do when customers flag problems — it's that you catch the problems before they do.

Early Warning System#

Configure DenchClaw to monitor for risk signals and alert your team:

"Every day at 8am, check all customer accounts and:
- Alert me on Telegram if any account's health score dropped more than 15 points
- Create a task if any active customer hasn't been contacted in more than 30 days
- Flag any renewal within 60 days where health score is below 60
- Notify me if any customer's license utilization dropped below 50% this week"

This runs as a daily cron task. The agent queries DuckDB, evaluates the conditions, and sends alerts to your preferred channel.

QBR Scheduling Automation#

Quarterly Business Reviews are the highest-leverage CS activity — but they're easy to let slip.

"Every Monday, check which Enterprise and Pro customers are due for a QBR 
(last QBR was more than 85 days ago). Create a task for me with their name, 
ARR, and health score, and draft a QBR invite email for each one."

Expansion Signal Detection#

Upsell and expansion don't come from pitching — they come from recognizing when a customer is ready.

Expansion signals to monitor:

  • Seat utilization > 85% (they're running out of capacity)
  • Feature adoption breadth at maximum for their tier (they need the next tier)
  • Strong NPS (promoters are expansion candidates)
  • New use case conversation in support tickets
  • Executive sponsor has expanded their own team
"Show me all customers where seat utilization is above 80% 
and they're on the Starter plan. These are expansion candidates."

Customer Onboarding Tracking#

Onboarding is where customers win or lose. A customer who doesn't get to "first value" in their first 30 days is 3-5x more likely to churn.

Onboarding Milestones#

Model onboarding as a checklist in the customer record:

- name: Onboarding Checklist
  type: tags
  options:
    - Kickoff Call Completed
    - Admin Setup Done
    - Team Invited
    - First Integration Connected
    - First Real Data Imported
    - First Value Achieved
    - Training Session Completed
    - Champion Identified

Track completion rate across customers:

SELECT 
  "Tier",
  AVG(
    LENGTH("Onboarding Checklist") - LENGTH(REPLACE("Onboarding Checklist", ',', '')) + 1
  ) as avg_milestones_completed,
  COUNT(*) as customer_count
FROM v_customers
WHERE "Onboarding Status" = 'In Progress'
GROUP BY 1;

Time-to-First-Value Tracking#

First value is the moment a customer gets a clear, demonstrable outcome from your product. Track it explicitly:

  • Field: "First Value Date"
  • Calculated field: "Days to First Value" = First Value Date - Contract Start Date
  • Target benchmark: < 30 days

Track this trend. If time-to-first-value is increasing, something in your onboarding is breaking.

Customer Segmentation for CS Coverage#

Not all customers deserve the same level of CS attention. Segment by coverage model:

High-Touch (Enterprise, >$50K ARR)

  • Dedicated CSM
  • Monthly check-ins
  • Quarterly EBRs
  • Custom success plans
  • Executive sponsor program

Mid-Touch (Pro, $10K-$50K ARR)

  • Pooled CSM
  • Automated check-ins with human touchpoints at key moments
  • Quarterly group webinars
  • Health score alerts trigger human outreach

Low-Touch (Starter, <$10K ARR)

  • Fully automated lifecycle communications
  • In-app guidance
  • Community support
  • Human contact only on escalation or upgrade signal

Configure separate views, workflows, and automation for each segment. The agent can apply different rules based on tier.

CS Metrics and Reporting#

The Core CS Metrics to Track#

Net Revenue Retention (NRR)

NRR = (Starting ARR + Expansion - Contraction - Churn) / Starting ARR × 100

Target: > 100% means you're growing from existing customers alone.

Gross Revenue Retention (GRR)

GRR = (Starting ARR - Contraction - Churn) / Starting ARR × 100

Target: > 85% for SaaS, > 90% for enterprise.

Customer Health Score Distribution What % of ARR is in Green vs. Yellow vs. Red? Target: > 70% of ARR in Green, < 10% in Red.

Time to First Value Average days from contract start to first documented value achievement. Target: < 30 days for standard implementations.

QBR Coverage % of Enterprise and Pro customers who've had a QBR in the last 90 days. Target: > 90%.

-- NRR calculation in DuckDB
SELECT 
  DATE_TRUNC('quarter', period_start) as quarter,
  SUM(starting_arr) as starting_arr,
  SUM(expansion_arr) as expansion_arr,
  SUM(contraction_arr) as contraction_arr,
  SUM(churn_arr) as churn_arr,
  ROUND(
    100.0 * (SUM(starting_arr) + SUM(expansion_arr) - SUM(contraction_arr) - SUM(churn_arr)) 
    / SUM(starting_arr), 1
  ) as nrr_pct
FROM v_renewal_metrics
GROUP BY 1
ORDER BY 1;

CS and Sales Handoff#

The moment a deal closes is also the highest-risk moment for the customer relationship. A bad handoff creates the conditions for churn 12 months later.

The Handoff Playbook#

  1. Deal closes → agent automatically creates a Customer Success record
  2. Handoff doc generated → pulls deal notes, champion contact, use cases, success criteria from the deal
  3. Kickoff task created → assigned to CSM, due within 5 business days
  4. Kickoff email drafted → pre-written, CSM reviews and sends
  5. Onboarding checklist activated → all milestones set to pending
  6. Health score baseline set → starting at neutral (50) until first signals arrive

In DenchClaw:

"When a deal is moved to Won status:
1. Create a new customer record linked to the deal's company
2. Copy the champion contact and use case notes to the customer record
3. Set renewal date to 12 months from today
4. Create a 'Schedule Kickoff Call' task for the assigned CSM
5. Draft a kickoff email using the deal context"

Frequently Asked Questions#

What's the difference between a CRM for sales and one for customer success?#

Sales CRMs are optimized for pipeline management — moving deals through stages toward a close. CS CRMs are optimized for relationship management over time — tracking health, renewals, expansions, and escalations. The schema, views, metrics, and workflows are fundamentally different. The good news: if your CRM is fully customizable (like DenchClaw), you can build both in one system with distinct objects and views for each motion.

How do I build a health score without product usage data?#

Start with the signals you have: last contact date, NPS score, support ticket volume and sentiment, QBR attendance, response rate to outreach. These are lagging indicators, but they're real. As you add product instrumentation, incorporate usage data to improve accuracy. A health score based on 3 signals is infinitely better than no health score.

How many accounts can one CSM handle?#

It depends heavily on the coverage model. High-touch Enterprise CSMs typically handle 15-25 accounts. Mid-touch handles 50-100. Low-touch (mostly automated) can handle hundreds. The right ratio depends on your ARR per account and the complexity of your product. DenchClaw's AI automation can significantly expand the accounts-per-CSM ratio by handling routine outreach, health monitoring, and task creation automatically.

When should I build a separate CS tool vs. extending my sales CRM?#

If your sales CRM supports custom objects and has an API, extending it is usually better — you get a unified customer record from prospect through customer. Use a separate CS tool (Gainsight, ChurnZero, Totango) only if you have enterprise-scale needs (200+ accounts, complex health scoring, CS team > 10) that your sales CRM can't support. For most companies, a well-configured DenchClaw handles everything.

How do I track customer success for a product-led growth (PLG) model?#

PLG CS is data-intensive. Your health score relies heavily on product usage data — feature adoption, activation events, engagement frequency. Connect your product analytics (Mixpanel, Amplitude, Segment) to DenchClaw via API or file import, and build your health score from activation events rather than CRM activity. See The Ultimate Guide to CRM Integrations for integration patterns.

Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →

Related articles

Keep reading

View all