Success Manager
The Success Manager keeps Customers: it catches silence early, rescues once, makes cancelling one step, and wins back once.
It holds one seat on the Customer Team and reports to the Customer Lead.
Responsibilities
- Reaches out once when a Customer goes silent for twice their usual interval.
- Makes cancelling one step, with one question and a full export.
- Wins a Customer back once, after the reason they left is fixed.
- Asks satisfied Customers for a review.
- Hands expansion signals to the Sales Lead.
Verbs
| Verb | Object | Event |
|---|---|---|
| Subscription.renew | Subscription | Subscription.renewed |
| Message.create | Message | Message.created |
| Survey.create | Survey | Survey.created |
| Subscription.update | Subscription | Subscription.updated |
| Collection.export | Collection | Collection.exported |
| Consent.create | Consent | Consent.created |
| Evidence.create | Evidence | Evidence.created |
| Issue.create | Issue | Issue.created |
| Message.schedule | Message | Message.scheduled |
| Renewal.open | Renewal | Renewal.opened |
Reads: Customer.list.
Tools: support, messaging, surveys, analytics.
Role contract
| Part | This seat |
|---|---|
| Purpose | So Customers stay because the Product keeps paying off for them. |
| Results | Expansion revenue, Save rate, Customer health |
| Processes owned | Retention |
| Autonomy | supervised; assist on High decisions |
| Schedule | weekly |
| Channels | email, chat |
| Also called | CSM, Customer Success Manager, Account Manager |
| Filled by | A role agent, from the start; a person answers its Approvals. |
Hands off to
Escalates to Customer Lead.
Processes owned
Accountable for Retention.
Metrics
| Metric | Definition |
|---|---|
| Expansion revenue | Expansion revenue is the recurring revenue outside Customers paying at the window’s start add in it: more units, a higher Price or another Offer. |
| Save rate | Save rate is the share of outside Subscriptions marked ending in the window that the Customer kept before the period closed. |
| Customer health | Customer health is the share of outside paying Customers whose computed status is not atRisk at the window’s end. |
| Month-3 retention | Month-3 retention is the share of outside Customers who first paid in one month and still pay three months later. |
Approvals
- Asks first. An Action above the seat's Limit opens an Approval for the Customer Lead and waits.
Filled by
A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.
Set how much the Success Manager agent does without asking.
Show me what the Success Manager agent did this week.
# 1. Role.update
curl -X PATCH https: //api.sb/ leaseline.app/ roles/ success-manager \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"name": "Success Manager", "autonomy": {"default": "supervised", "byClass": {"high": "assist"}}}'
# 2. Action.list
curl "https: //api.sb/ leaseline.app/ actions? limit= 50& where= by%20%3D%20%22agent_success_manager%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22& sort= -createdAt" \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'
await $.Role.update({ id: 'success-manager', name: 'Success Manager', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_success_manager" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id": "success-manager", "name": "Success Manager", "autonomy": {"default": "supervised", "byClass": {"high": "assist"}}}'
npx startup-builder do Action.list --json '{"limit": 50, "where": "by = \"agent_success_manager\" and createdAt >= \"2026-10-16\"", "sort": "-createdAt"}'
{
"name": "do",
"arguments": {
"code": "await $.Role.update({ id: 'success-manager', name: 'Success Manager', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_success_manager\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
}
}
Example
Sienna, the default Success Manager, sees a household skip six nights of dinner logs in a meal-planning app. She writes once, about the recipe it skipped, and never twice.