AI Agents
AI agents for SaaS renewals and expansion: automating the motion that moves NRR
Churn tools tell you an account is dying. By then the renewal is already a fire drill. The higher-value job is the quiet 90 days before: assembling the renewal story, catching expansion signals while they are warm, and freeing the CSM to have the conversation instead of building the deck. Here is how to build a renewal-and-expansion agent on Salesforce, the actions it should own, and the one it must never take alone.
Net revenue retention is the number that now sets a SaaS company’s valuation, and most customer-success teams work it backwards. They buy a churn-prediction tool, it lights up red when an account is already disengaged, and the renewal becomes a 30-day scramble to save something that started slipping two quarters ago.
The tool was not wrong. It was late, because churn detection is the end of the story and NRR is won at the beginning.
The agent worth building is not another churn alarm. It works the 90 quiet days before a renewal: pulling the account’s real usage trend, surfacing the open support issues nobody flagged, spotting the team that just tripled its seat utilisation, and handing the CSM a renewal brief and a warm expansion opportunity instead of a blank slate.
Renewal and expansion are a motion, not an alert, and the motion is mostly assembly work that a grounded agent does well and a human should not be doing by hand.
A renewal agent is a different build from a churn-detection agent, which watches for risk and fires a save play. This one runs continuously on the healthy middle of your book, where NRR compounds, and it stays deliberately conservative about the one thing it must never do alone.
Three jobs, and only one of them is “at risk”
Break the renewal-and-expansion motion into the work it contains, and three jobs fall out. Only the last is the churn story everyone already automates.
Onboarding follow-through. The renewal is decided in the first 90 days, not the last. An agent that watches whether a new account is hitting its activation milestones, and nudges the CSM when it stalls, is protecting a renewal that is still a year away. That makes it the cheapest NRR you will ever buy, because an account that never activated was never going to renew.
Renewal preparation. Sixty to ninety days before the renewal date, the agent assembles the account’s story: usage trend over the term, adoption by feature and by team, open and recently closed support cases, invoice and payment history, and any expansion signals in the telemetry. That brief is three hours of a CSM’s week per renewal, and it is pure assembly. Handing it to an agent is the highest-value thing on this list.
At-risk detection. The familiar one. Continuous monitoring that flags an account with a specific reason and a next step, not a falling health score alone. It matters, but it is the backstop, not the strategy, and if it is the only thing you automate you are back to working NRR backwards.
The reason to name all three is that most teams buy software for the third and leave the first two to heroics. The agent that moves NRR does the boring first two relentlessly.
What grounds it, and why it has to be real usage data
A renewal agent reasoning only on CRM fields is guessing. The renewal date, the ARR, and the account owner live in Salesforce, but the signal that predicts a renewal lives in the product: logins, feature adoption, API call volume, seats provisioned versus seats active. That telemetry usually sits in a warehouse or a product-analytics tool, not in CRM, which is exactly the gap Data 360 is built to close.
Bring the product usage data alongside the CRM record, resolve it to the same account, and the agent can reason on the thing that matters: not “this account is 60 days from renewal” but “this account is 60 days from renewal, seat utilisation is up 40% this quarter, and two power users just hit the API rate limit.”
The first is a calendar reminder. The second is an expansion conversation with evidence attached. Zero-copy access means you can ground on the warehouse telemetry without building and maintaining yet another sync, which matters when the whole point is freshness.
If your product data is thin or unreconciled, fix that before you build the agent. A renewal agent on bad usage data will confidently recommend upselling an account that is about to churn, which is worse than no recommendation at all.
Building it on Salesforce: triggered, not conversational
The instinct with Agentforce is to build a chat agent. For renewals, the better pattern is a triggered agent that wakes on a schedule or a date, not one that waits for someone to ask. The renewal motion is proactive by definition, and a conversational agent nobody opens does nothing.
The spine is a scheduled job that finds the accounts entering the renewal window and hands each to the agent. The selection is ordinary SOQL:
SELECT Id, Name, Renewal_Date__c, ARR__c, OwnerId
FROM Account
WHERE Renewal_Date__c = NEXT_N_DAYS:90
AND Type = 'Customer'
AND Active_Contract__c = true
ORDER BY ARR__c DESC
Each account then flows into an agent action that assembles the brief. Keep the assembly deterministic and bulk-safe, the way you would any invocable, and let the agent reason over the result rather than fetch the pieces one chatty call at a time:
public with sharing class RenewalBriefBuilder {
public class Request {
@InvocableVariable(required=true) public Id accountId;
}
public class Brief {
@InvocableVariable public String usageTrend;
@InvocableVariable public Integer openCases;
@InvocableVariable public Boolean expansionSignal;
}
@InvocableMethod(label='Build Renewal Brief'
description='Assembles usage, support, and expansion context for a renewal.')
public static List<Brief> build(List<Request> reqs) {
List<Brief> out = new List<Brief>();
for (Request r : reqs) {
Brief b = new Brief();
// Populate from Data 360 usage DMOs and Case rollups resolved to this account.
b.openCases = [SELECT COUNT() FROM Case
WHERE AccountId = :r.accountId AND IsClosed = false];
// usageTrend and expansionSignal come from the resolved usage profile;
// confirm the DMO and field API names against your own data space.
out.add(b);
}
return out;
}
}
With the brief in hand, give the agent a short, non-overlapping set of actions and nothing more: draft the renewal summary for the CSM, create or update the renewal opportunity, flag an at-risk account with its specific reason, and open an expansion opportunity when the usage signal clears a threshold.
That last one is the money action, and it is the pattern a customer-success platform like Gainsight now wires into Agentforce directly: when the platform signals an account is ready to expand, the agent opens the opportunity in Salesforce so a human takes it from there. The same discipline that keeps a forecasting agent honest applies: narrow actions, grounded inputs, and a trace you can read.
The action the agent must never take alone
The line is this. The agent assembles, drafts, flags, and opens opportunities. It does not set the price, offer the discount, or send the renewal quote without a human.
Pricing is a commercial decision with margin, precedent, and relationship consequences that an agent optimizing a retention metric will cheerfully trade away. An agent told to maximise renewals learns that a discount always renews, and it will discount your healthiest accounts because they were never going to leave anyway.
So the renewal conversation stays human, and the agent’s job is to make that human the best-prepared person in the room. The human-in-the-loop boundary sits exactly where it belongs: the machine does the assembly that is beneath a CSM’s time, and the CSM does the judgement that is above an agent’s authority. Draw it looser and you have automated margin erosion.
The same goes for the customer-facing message. An agent can draft the renewal outreach and the expansion pitch, grounded in the account’s real usage, the way an SDR-coaching agent drafts outbound. A person reads it before it sends, because a renewal email that misreads the relationship costs more than the hour it saved.
What good looks like
A renewal-and-expansion agent is working when three things are true.
CSMs stop spending Friday building renewal decks, because the brief is waiting for them on Monday. Expansion opportunities get created while the usage signal is warm, not discovered in a quarterly review after the moment passed. And at-risk flags arrive with a reason and a next step, early enough to act on, instead of a red score two weeks before the renewal.
None of that requires the agent to close a renewal or set a price. It requires the agent to do the assembly relentlessly and hand the judgement to a prepared human, on the healthy middle of the book where NRR compounds, rather than only the burning edge where churn tools live.
Build it triggered, ground it on real usage, give it four narrow actions, and keep the pricing conversation human. Do that, and you are working the motion that moves the number your valuation rides on.
Understanding the basics
How is a renewal agent different from a churn-prediction tool?
A churn-prediction tool watches for disengagement and fires an alert when an account is already at risk, often too late to change the outcome. A renewal-and-expansion agent works the whole motion earlier: it tracks onboarding activation, assembles the renewal brief 60 to 90 days out, and surfaces expansion opportunities while usage signals are warm. Churn detection is one job it includes, not the whole strategy.
What data does a SaaS renewal agent need to be useful?
It needs product usage telemetry resolved to the CRM account, not CRM fields alone. Logins, feature adoption, seats provisioned versus active, and API volume are the signals that predict a renewal or an expansion, and they usually live in a warehouse or product-analytics tool rather than in Salesforce. A data foundation like Data 360 brings that telemetry alongside the account record, ideally zero-copy so the data stays fresh without another sync to maintain.
Should an AI agent be allowed to offer renewal discounts?
No. Pricing and discounting are commercial decisions with margin and precedent consequences, and an agent optimizing a retention metric will trade margin away to hit its number, often by discounting healthy accounts that would have renewed anyway. The agent should assemble the brief, draft the outreach, flag risk, and open opportunities, while a human owns the price and the renewal conversation.
Which Salesforce pattern fits a renewal agent, conversational or triggered?
Triggered. The renewal motion is proactive, so the agent should wake on a schedule or a renewal date, find the accounts entering the window, and assemble their briefs without waiting to be asked. A conversational agent only helps the people who remember to open it, which defeats the purpose. Use a scheduled job to select accounts by renewal date and hand each to an agent with a small set of narrow, grounded actions.
Trying to turn your customer-success motion into something that moves NRR instead of just reporting churn? Talk to us, or model the payback first with our Agentforce ROI calculator. Building agents that do the assembly and leave the judgement to your team is exactly the work we do.