Prep renewals and spot upsell openings
Build a repeatable agent that pulls usage, support, and account data into a per-customer renewal brief flagging churn risk and concrete upsell openings, 90 days ahead of each renewal date.
Tools you'll use
Renewal prep is the work of reviewing each customer account before its contract ends, confirming they are getting value, surfacing any churn risk, and identifying where they could reasonably buy more (more seats, a higher tier, an added product). Done well, it turns the renewal date from a deadline you scramble toward into a planned conversation you walk into knowing the answer. The "upsell opening" half is spotting, from real signals like usage and growth, where expanding makes sense for the customer, not just for your quota.
This matters because expansion is where the money is. In ChartMogul's analysis of more than 2,500 SaaS businesses, companies with net revenue retention at or above 100% grew more than twice as fast year-over-year as companies below 100% (ChartMogul, 2024). The same report found that for those high-retention companies, expansion accounts for over half of their revenue, while low-retention companies lean on new business for about 70% and get only 15% from expansion (ChartMogul, 2024). The accounts you already have are the growth engine. The problem is that prep is slow manual work: a rep pulls usage from one system, support tickets from another, the contract from a third, and stitches it into a story. So it gets skipped, and renewals get worked late and reactively.
An agent does the stitching. You point it at your CRM, your product usage data, your support queue, and your contract records, and it produces a per-account renewal brief: contract value and end date, usage trend, adoption gaps, open support issues, and a short list of upsell openings with the evidence behind each. Your reps read the brief, judge it, and walk into the renewal prepared. The team owns the brief generator, so they can tune what counts as a signal as they learn.
Moriva's take
This clears all three gates cleanly. It is real recurring work (every account renews on a clock, and prep happens weekly), it is ownable (one person can stand up a brief generator your reps run and adjust themselves), and it is measurable (track renewal rate, expansion revenue, and hours saved on prep). It lands GO rather than CAREFUL because the agent drafts internal briefs, not customer-facing emails or price changes; a rep always reads and decides before anything reaches a customer. Keep that human checkpoint and this is one of the highest-payoff use cases in sales.
How do you prep renewals and spot upsell openings?
- 1
Pick the signals that actually predict renewal and expansion
Before any tooling, write down in plain English what a good renewal looks like and what an upsell opening looks like for your business. Examples: usage up 20%+ over last quarter, seats near the licensed limit, a new department logging in, a feature on a higher tier being requested in support tickets. Also write your churn-risk signals: usage down, key champion gone quiet, unresolved escalations. This list is the agent's brain. Keep it short and concrete.
- 2
Map where each signal lives
List the systems that hold each signal: CRM (contract value, renewal date, owner), product analytics or your app database (usage, seats, feature adoption), support tool (open tickets, sentiment), and contract or billing records (current tier, terms). Note how each can be exported or queried (CSV export, API, read-only database access). You do not need to connect everything at once; start with the two or three that matter most.
- 3
Have Claude Code or Codex build the brief generator
In your repo or a working folder, point Claude Code (or Codex) at sample exports from those systems and describe the brief you want in plain English: 'For each account renewing in the next 90 days, pull usage trend, seat utilization, open tickets, and contract value, then write a one-page brief flagging churn risk and listing upsell openings with the evidence.' It writes the script that joins the data and produces the briefs. Your team owns this code and can change the rules later.
- 4
Calibrate against accounts you already know
Run the generator on ten accounts your reps know cold, including a couple you expect to churn and a couple ripe for expansion. Read the briefs next to reality. Where the agent missed a risk or invented a weak upsell, adjust the signal definitions and rerun. This is the step that earns rep trust; do not skip it. Ask Claude Code or Codex to tweak the logic as you find gaps.
- 5
Put it on a weekly schedule
Once the briefs are reliable, schedule the generator to run weekly and produce briefs for every account hitting the 90-day renewal window. Output them where reps already work: a shared folder, a CRM note, or an email digest to each account owner. Now prep happens automatically and on time instead of being remembered late.
- 6
Let non-coding reps go deeper with Claude Cowork
For a high-value renewal, a rep can take the generated brief into Claude Cowork and ask it to research the customer's recent news, draft talking points, and outline an expansion proposal, without writing any code. This keeps the heavy lifting in the owned generator while giving individual reps a research assistant for the accounts that warrant extra attention.
- 7
Measure and review monthly
Track renewal rate, expansion revenue per renewal, and prep hours saved before and after. Review the numbers monthly with the team and feed what you learn back into the signal list. The whole point is that the team owns the loop: when a signal stops predicting well, they change it themselves.
What could go wrong (and how to handle it)
The agent flags a weak or wrong upsell, and a rep pitches something the customer does not need, damaging trust.
Briefs are internal drafts, never auto-sent. Require every upsell opening to carry its supporting evidence so the rep can judge it. Calibrate on known accounts before rollout.
Bad or stale data produces confident-but-wrong briefs (e.g. usage feed lagging a month).
Stamp each brief with the data's as-of date and source. Start with the two or three cleanest systems. Have reps spot-check briefs against reality during the first few weeks.
Customer usage, contract, and support data is sensitive and now flows through a new process.
Use read-only access, keep data in systems you control, and exclude personal or regulated fields you do not need. Treat briefs as internal-confidential. Confirm the approach with whoever owns data policy before connecting live systems.
Reps stop thinking and treat the brief as gospel, missing context the data cannot see.
Frame the brief as a starting point, not a verdict. Keep the human in the loop as the decision-maker for every renewal and pitch. Review misses monthly so reps stay engaged with the logic.
The agent misses churn risk because the warning signal lives in a system you did not connect.
Treat the signal list as living. When a churn surprise happens, trace which signal would have caught it and add that source. Because your team owns the generator, this is a quick change, not a vendor ticket.
It becomes one person's side project that breaks when they leave.
Keep the code in a shared repo with a short README. Because Claude Code and Codex produce plain, owned scripts, another team member can read, run, and extend them.
Prompts to get started
FAQ
Will this just push reps to oversell and annoy our customers?
No, because the agent never contacts a customer. It produces an internal brief that a rep reads and judges. Every upsell opening comes with the evidence behind it, so a rep can drop weak ones before any conversation. The goal is a better-prepared rep, not an automatic pitch.
Our data is messy and spread across systems. Is this realistic for us?
Yes, and you do not need to fix everything first. Start with the two or three cleanest sources, usually CRM plus usage data. The agent works with what you give it, and you can add sources over time. Calibrating on accounts you already know surfaces data problems early.
How is this different from the renewal dashboard our CRM already has?
A dashboard shows you numbers; you still do the reading, joining, and judgment. This produces a written brief that combines usage, support, contract, and risk into a story with specific upsell openings and evidence. And you own it: you decide what counts as a signal and change it yourself, instead of waiting on a vendor's roadmap.
What happens when our business changes and the old signals stop working?
You change them. Because Claude Code or Codex builds a plain script your team owns, adjusting the churn-risk or upsell rules is a quick edit, not a support ticket. The monthly review is where you catch drift and feed fixes back in.
How do we know it is actually working?
Measure it. Track renewal rate, expansion revenue per renewal, and hours spent on prep before and after. If renewals are getting worked earlier, more expansion openings are converting, and reps are spending less time stitching data, it is working. If not, you have the logic in hand to fix it.
Sources
- Companies with net revenue retention at or above 100% grew more than twice as fast year-over-year as companies below 100%. — ChartMogul SaaS Retention Report (2,500+ SaaS businesses), 2024
- For high-retention SaaS companies, expansion accounts for over half of revenue, while low-retention companies get about 70% from new business and only 15% from expansion. — ChartMogul SaaS Retention Report, 2024
More from Sales
Qualify and route inbound leads
Build an agent that reads every inbound lead, scores it against your ideal-customer rules, enriches it, and routes it to the right rep in seconds instead of hours. Your team owns the rules and the code.
CRM hygiene and weekly pipeline summaries
Build an agent that reads your CRM every week, flags the records that are wrong or stale, and writes a plain-English pipeline summary for the team meeting. Your reps stop doing data cleanup by hand, and your manager walks into the review already knowing which deals are at risk.
Keep competitive battlecards current
Build an agent that watches your competitors' public pages and your won/lost deals, then keeps each battlecard accurate so reps walk into competitive deals with current facts, not last quarter's.
Want help shipping this?
We'll build it with your team on your real work — and leave you owning it, not renting it.