Build a Customer Success CRM with DenchClaw
Build a customer success CRM with DenchClaw. Track health scores, renewals, NPS, and at-risk accounts with AI-powered insights — all running locally.
Build a Customer Success CRM with DenchClaw
Customer success is where revenue is protected and expanded. A good customer success CRM tells you which accounts are at risk before they churn, which ones are ready for expansion, and what your team needs to do this week to move the needle.
Most customer success tools are either too expensive (Gainsight, Totango) or too simple (a shared spreadsheet). DenchClaw hits the middle — a structured, AI-powered customer success system running locally, free.
What a Customer Success CRM Tracks#
The core data you need:
- Account health — are they actually using the product?
- Relationship health — do they like you?
- Renewal date — when does the contract expire?
- Expansion opportunity — can you upsell?
- Support history — are there open issues dragging on?
DenchClaw models all of this, with AI handling the analysis.
Step 1: Create the Customers/Accounts Object#
Install DenchClaw (npx denchclaw) and create your customers object:
Create a Customers object with:
- Company Name (text)
- Plan (enum: Free/Starter/Growth/Enterprise)
- ARR (number)
- MRR (number)
- Status (enum: Trial/Active/At Risk/Churned)
- Health Score (number, 0-100)
- NPS Score (number, -100 to 100)
- Primary Contact (relation to People)
- Secondary Contacts (richtext)
- Contract Start Date (date)
- Contract End Date (date)
- Renewal Date (date)
- Renewal Probability (enum: Low/Medium/High/Definite)
- QBR Date (date) — Quarterly Business Review
- Last Interaction (date)
- CSM Owner (text)
- Onboarding Status (enum: Not Started/In Progress/Complete)
- Open Issues (richtext)
- Expansion Potential (enum: None/Low/Medium/High)
- Usage Notes (richtext)
- Internal Notes (richtext)
Step 2: Import Your Customer Base#
From your billing tool (Stripe, Chargebee):
Import my active customers from Stripe. Map: customer name to Company Name, plan to Plan, MRR to MRR. Set all as Active status.
Or from CSV:
Import customers from [attach customers.csv]. Normalize plan names to our enum values.
Create People entries for your key contacts:
For each customer company, ensure there's a Primary Contact linked in the People object with their email and phone
Step 3: Health Score Model#
A health score is your at-a-glance risk indicator. Build a scoring model:
Add an Action field "Calculate Health Score" to Customers that scores 0-100 based on:
Green indicators (total: 60 points):
- Last interaction within 14 days: +20
- NPS score >= 8: +15
- No open support issues: +15
- Onboarding complete: +10
Yellow indicators (deduct points):
- No interaction in 15-30 days: -15
- NPS 6-7: -10
- 1-2 open issues: -10
Red indicators (deduct more):
- No interaction in 31+ days: -30
- NPS <= 5: -20
- 3+ open issues: -20
- Renewal < 30 days away without renewal confirmed: -15
Update Health Score and set Status:
- Score 70+: Active
- Score 40-69: At Risk
- Score <40: At Risk (urgent)
Run monthly:
Calculate health scores for all active customers. Show me a list of customers that changed from Active to At Risk since last month.
Step 4: At-Risk Customer Workflow#
When an account goes At Risk:
Create a view "At Risk Accounts" showing customers with Status = At Risk, sorted by ARR descending
For each at-risk account, the CSM needs a plan. Before the intervention call:
I'm calling Acme Corp today — they're at risk. Pull their health score history, open issues, last 3 interactions, and their primary contact details. What are the likely reasons they're at risk?
After the intervention:
Call with Acme Corp done. Root cause: they haven't used the reporting feature — they didn't know it existed. Scheduled a training session for next week. Health should improve. Log the call, update status to Active, set QBR for next month.
Step 5: Renewal Management#
Create a view "Renewals Next 90 Days" showing customers with Renewal Date within 90 days, sorted by Renewal Date, with columns: Company, ARR, Renewal Probability, Last Interaction, CSM Owner
30-day renewal checklist per account:
Generate a renewal checklist for the Stripe account:
1. Review health score trend last 90 days
2. Confirm contract terms and renewal pricing
3. Schedule executive business review
4. Address any open issues
5. Send renewal proposal if required
6. Get verbal commitment, then written
Post-renewal close:
Stripe renewal closed. $45,000 ARR, 2-year contract. Update their record and set next renewal date.
Step 6: NPS and Feedback Management#
Quarterly NPS:
Generate NPS survey outreach for all Active customers. Brief, 1-question email asking them to rate 1-10. When they respond, update their NPS score.
When NPS scores come in, categorize and act:
New NPS response: Acme Corp gave 3/10. Log to their record and create an immediate outreach task for their CSM.
Aggregate NPS analysis:
Show me current NPS breakdown: promoters (9-10), passives (7-8), detractors (1-6). Calculate overall NPS score. Which plan tier has the worst NPS?
Step 7: Expansion Pipeline#
Track upsell and expansion opportunities:
Create an Expansion Opportunities object linked to Customers:
- Customer (relation to Customers)
- Opportunity Type (enum: Upsell/Cross-sell/Seat Expansion/New Product)
- Status (enum: Identified/Qualifying/Proposal/Won/Lost)
- ARR Impact (number)
- Close Date (date)
- Notes (richtext)
For accounts with high expansion potential:
Show me customers with Expansion Potential = High and no active expansion opportunity. These are accounts my CS team should proactively discuss upsell with.
Step 8: Customer Success Metrics#
Monthly CS review:
Show me customer success metrics for last month:
- Total ARR at risk (At Risk accounts)
- Churn this month (ARR and count)
- Net Revenue Retention (MRR start + expansion - contraction - churn) / MRR start
- Renewals won/lost
- Average health score by plan tier
- CSM workload: accounts per CSM
Net Revenue Retention is your most important CS metric. If NRR > 100%, your customer base is growing even if you don't add new customers. DenchClaw can calculate this directly from your DuckDB data.
For the full DenchClaw overview, see what is DenchClaw. For the full sales-to-success workflow, pair this with the sales pipeline setup guide.
Frequently Asked Questions#
Can DenchClaw pull product usage data from my backend?#
Yes — if you have a product analytics endpoint or can export usage data to CSV, DenchClaw can import it and link to customer records. Native integrations with Segment, Mixpanel, or PostHog require custom action fields that call their APIs.
How is this different from Gainsight?#
Gainsight is enterprise-grade with complex automation, third-party integrations, and role-based access for large CS teams. DenchClaw is for startups where 1-3 people handle CS and want AI-powered insights without a $2k/month tool.
How do I onboard new customers in DenchClaw?#
Build an onboarding checklist object linked to each customer. Track each step and link it to the Onboarding Status field. When all steps are complete, auto-update status to "Complete."
What's a good health score threshold for "at risk"?#
Start with 60 as your at-risk threshold. Calibrate after 2-3 months by looking at which scores preceded actual churn. You may find that 65 is a better early warning indicator for your specific business.
Can I use DenchClaw for B2C customer success?#
With modifications — replace company-level tracking with user-level, and adjust fields for consumer metrics (DAU, retention cohorts). The architecture works, but consumer CS at scale usually requires dedicated tooling.
Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →
